Tuesday, January 16, 2007

Setting Linux Server Bagian I

Sistem operasi linux memang keren kalo dimanfaatkan untuk kepentingan jaringan dan security. Pada artikel ini saya akan membocorkan sedikit. dan mungkin artikel ini sudah basi di internet tapi gk ada salahnya saya ikut-ikutan basi. gk apa-apa basi kalo bisa bermanfaat bagi mereka yang masih newbie dalam menggunakan linux sebagai server. Pada bahasan kali ini, saya akan menjelaskan tentang bagai mana mengeset linux server sebagai router ‘asal bisa konek’ dulu. masalah setting server yang lain dan masalah security akan saya bahas pada artikel berikutnya. Ok. skenarionya begini…. perusahaan saya ato warnet saya berlangganan kepada ISP dan sang ISP memberikan data seperti di bawah ini :

IP addresss : 202.169.234.159 / 24
IP gateway ISP : 202.169.234.1
IP DNS 1 : 202.169.224.3
IP DNS 2 : 202.169.224.4
IP DNS 3 : 202.169.224.11

data - data di atas tadi saya dapatkan dari ISP tempat perusahaan saya berlangganan.
kemudian saya menginstall sebuah komputer dengan Sistem Operasi Linux Redhat9 dengan memasangkan 2 buah Ethernet Card. sebut saja linux memberikan nama Ethernet Card tersebut dengan nama eth0 untuk Ethernet ke 0 dan eth1 untuk ethernet yang ke 1.

kemudian di kantor saya ada komputer lain yang terhubung jaringan komputer juga dengan mengunakan IP lokal. kira - kira datanya seperti ini

IP Address Range : 192.168.0.1 - 192.168.0.254
ato Net ID nya: 192.168.0.0 / 24
ya.. begitulah.. nanti contoh ip komputernya kira2 begini. ada yang 192.168.0.2, 192.168.0.3, dst.

nah.. saya ingin supaya semua komputer yang ada di kantor saya ato warnet saya bisa menikmati koneksi internet. nah.. itulah yang akan saya bahas sekarang

MEMULAI SETTING LINUX SERVER

Linux server akan mempunyai dua buah IP address. IP address pubic yang dari ISP, yang akan dipasangkan pada eth1 dan IP address Lokal yang sama net IDnya sama dengan komputer lain di kantor saya yang akan dipasangkan pada eth0

Setting IP

#ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up

setting di atas untuk memberikan ip 192.168.0.1 eth0. langkah selanjutnya adalah memberikan eth1 dengan ip public yang didapatkan dari ISP

#ifconfig eth1 202.169.234.159 netmask 255.255.255.0 up

nah.. kira - kira begitulah cara mengeset ip pada sistem operasi linux. tapi , ooppsss. … tunggu dulu… cara ini bersifat temporer. settingan ini akan hilang ketika network di restart ato ketika komputer di restart. untuk membuat setting ini permanen, lakukan hal - hal di bawah ini

Setting ip untuk setiap ethernet, disimpan pada masing - masing file yang terpisah. ini pada sistem operasi linux redhat 9. dan berbeda dengan distro yang lain. seperti slackware, hanya satu file saja. karena dari awal saya membahas redhat9, mari kita lanjutkan kembali dengan RedHat9.
setting IP untuk eth0 disimpan di file

/etc/sysconfig/network-scripts/ifcfg-eth0
silahkan edit file tadi dengan editor kesayangan anda :

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
ONBOOT=yes
NETWORK=192.168.0.0

parameter yang perlu diperhatikan adalah DEVICE yang diisikan sesuai dengan nama device. yaitu eth0. dan IP address. dan jangan lupa ONBOOT=yes juga penting supaya konfigurasi ini direload ketika komputer restart

kemudiah untuk eth1, ada di file :
/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
IPADDR=202.169.234.159
NETMASK=255.255.255.0
USERCTL=no
PEERDNS=no
GATEWAY=202.169.234.1
TYPE=Ethernet
NETWORK=202.169.234.0
BROADCAST=202.169.234.255

hmm….. ya..kira - kira dari settingan tadi, bisalah dimengerti maksudnya apa. loh…. koq yang eth1 lebih banyak sih ? lah gak apa apa kan ?. yang eth0 tidak saya copy kan semua. hanya yang penting2 saja. tapi di eth1, ada satu lagi yang penting yaitu GATEWAY=202.169.234.1 artinya, di eth1, saya mendefinisikan IP gateway ke alamat gateway ISP.

setting gateway juga bisa dilakukan dengan perintah seperti ini :

#route add default gw 202.169.234.1

tetapi settingan ini bersifat temporer atau sementara. karena akan hilang ketika komputer restart. supaya settingan tadi tetap tersimpan, ya.. di simpan di file tadi yang di eth1.

melihat configurasi IP apakan sudah beres atau belum..

[root@internet-server root]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0F:3D:CB:33:E9
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:434841 errors:0 dropped:0 overruns:0 frame:0
TX packets:384599 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:66983693 (63.8 Mb) TX bytes:315709918 (301.0 Mb)
Interrupt:12 Base address:0xe400

eth1 Link encap:Ethernet HWaddr 00:E0:4C:2C:25:02
inet addr:202.169.234.159 Bcast:202.169.234.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1116005 errors:0 dropped:0 overruns:0 frame:0
TX packets:381163 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:360724801 (344.0 Mb) TX bytes:62134502 (59.2 Mb)
Interrupt:10 Base address:0xe000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:28 errors:0 dropped:0 overruns:0 frame:0
TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3841 (3.7 Kb) TX bytes:3841 (3.7 Kb)

wah wah wah .. apa itu.. biasa aja lagi… perhatikan saja. ada beberapa blok yaitu eth0, eth1 dah lo. eth0 itu itu untuk konfigurasi eth0, eth1 untuk eth1 dan lo adalah untuk loopback. loopback pasti akan ada. jadi gk usah di pusingkan… yang penting pada masing2 blok(eth0 dan eth1),perhatikan pada bagian inet addr . pastikan isinya sesuai dengan konfigurasi yang kita maksudkan.

DNS CLIENT / DNS RESOLVER
selanjutnya adalah mendefinisikan DNS server. setting DNS server tersimpan dalam sebuah file yang diletakkan di /etc/resolv.conf isikan data-data IP DNS yang didapatkan dari ISP.

nameserver 202.169.224.3
nameserver 202.169.224.4
nameserver 202.169.224.11

ROUTING

routing ? apaan tuh… gampangnya gini aja deh… ceritanya komputer linux yang sedang saya Konfigurasi ini akan jadi gerbang buat komputer lain yang di kantor saya untuk bisa koneksi ke internet. kenapa demikian ? ya karena kantor saya menyewa cuman 1 IP public. sedangkan ada banyak komputer. jadi IP public yang cuman 1 ini dimanfaatkan ato dibagi-bagiakan ke komputer yang lain di kantor saya. nah.. begitu ceritanya. sekarang pertanyaannya adalah apakah komputer linux yang sekarang lagi saya konfigurasi ini sudah menjalankan tugasnya untuk routing atau belum ? ato istilah kerennya ip forwarding dah aktif ato blum?. kita bisa check dengan melihat isi file /proc/sys/net/ipv4/ip_forward . lengkaplnya begini perintahnya

#cat /proc/sys/net/ipv4/ip_forward

Jika hasilnya adalah 0, maka fungsi ip forwarding belum dijalankan. Ini adalah default dari Linux Redhat. kemudian kita harus menulikan angka 1 ke dalam file tadi. Caranya seperti ini :

#echo 1 > /proc/sys/net/ipv4/ip_forward

TAPI…. lagi - lagi ini bersifat temporer/ sementara. Karena file terserbut akan diset kembali ke 0 ketika komputer restart ato network direstart. Trus ? ya.. supaya terus bernilai 1, bisa dengan menambahkan script yang tadi (mengeset atau menulis angka 1) di startup script ato dengan cara mengedit file : /etc/sysctl.conf

net.ipv4.ip_forward = 1

Di dalam file tersebut berikan nilai 1 pada parameter net.ipv4.ip_forward.

MEMERIKSA DAN MENAMBAHKAN ROUTING TABLE

Untuk melihat routing table yang sudah ada, bisa dilakukan dengan perintah seperti ini :

# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
202.169.234.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 202.169.234.1 0.0.0.0 UG 0 0 0 eth1

jika hasilnya sudah serperti di atas, maka gk perlu menambahkan lagi. berarti sudah beres. Jika bermaksud menambahkan lagi ato belum ada, bisa dilakukan dengan perintah sebagai berikut :

#route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0

#route add -net 202.169.234.0 netmask 255.255.255.0 dev eth1

Tapi perintah di atas gk perlu dilaksanakan karena linux secara otomatis sudah melakukannya.

NETWORK ADDRESS TRANSLATION (NAT)
Apa lagi ini ? hehe eeh :D mari kita bahas lagi….
Skenarionya
kan begini. Sebenarnya untuk bisa mengakses internet, setiap komputer harus mempunyai IP Public. lah.. kalo gitu repot dong. di kantor saya ada 100 komputer. masa kantor saya harus menyewa 100 IP public, kan bisa bangkrutzzzz… ya gk gitulah. nah. solusinya adalah dengan menggunakan NAT. kalo ada 100 Komputer, gk semua harus punya IP Public. pakek IP Private saja. oppss.. apa itu IP Pubic, apa itu IP Private ?

IP public adalah IP yang digunakan di internet. Gak boleh sembarangan menggunakan IP ini karena sudah ada penjatahan dari badan khusus. misalnya di wilayah Asia ada namanya IDNIC yang mengatur pembagian IP.

IP Private adalah IP yang digunakan di dalam area lokal saja. dan IP ini sudah disepakati tidak akan digunakan di Internet. Dengan konsekweksi, gk bisa langsung koneksi ke internet secara langsung dengan IP ini. harus ‘bersembunyi’ di belakang IP Public. COntoh IP Private

10.x.x.x Untuk kelas A
172.16.x.x Untuk kelas B
192.168.x.x Untuk Kelas C

Ok kita kembali ke NAT….. (kalo tukul biasanya kembali ke laptop…. he he he :D )

Kantor saya cukup memiliki 1 IP Public saja. nah. .. tugas linux server yang kita konfigurasi ini, mengganti IP komputer kantor yang menggunakan IP lokal menjadi IP Public ketika mau mengakses sistus di internet. mekanisme ini disebut dengan mentranslate/menerjemahkan/mengganti IP ato istilah kerennya adalah NETWORK ADDRESS TRANSLATION (NAT). Untuk melakukan NAT, kita membutuhkan sebuah program tambahan yang sudah ada di linux redhat. namanya IPTABLES

perintahnya seperti ini :

#iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to-source 202.169.234.159

jadi ceritanya begini. dengan menggunakan IPTABLES, kita mengganti ip apa saja yang dari jaringan lokal, yang keluar melewati interface eth1 ato dalam baris perintah di atas disimbolkan dengan -o eth1 menerapkan sebuah policy atau disimbolkan dengan -j dengan kebijakan SNAT (SOURCE NAT). diganti menjadi IP public 202.169.234.159. dan jangan lupa disimpan dengan perintah :

#iptables-save

Untuk sementara ini, bisa dikatakan server sudah beres. sudah bisa digunakan oleh komputer lain untuk koneksi ke internet. Tapi ini belum selesai. karena masih ada yang belum. yang InsyaAllah akan saya lanjutkan pada artikel berikutnya

KONFIGURASI KLIENT

untuk konfiguras klient, cukup sedernaha sekali, tinggal buka properti network card, kemudian set ip address yang satu net ID dengan ip server linux. dan gateaway ke ip address server linux:
berikut adalah data- data lengkapnya :


IP Address : 192.168.1.2
Gateway : 192.168.1.1
DNS : 202.169.234.3
DNS : 202.169.234.4

Untuk sementara DNS masih harus ke DNS public. sebenarnya linux server bisa diinstallkan DNS server tetapi hanya sebagai Chace DNS. Untuk sementara ini dulu ya ? saya akan lanjutkan dengan bahasan selanjutnya yang lebih menarik tentunya.
Kalo ada yang salah, tolong dikoreksi ya ? :D
Wassalamualaikum Wr. Wb.

No comments: