Network Address Translation (NAT) adalah suatu teknik untuk mengubah suatu IP address ke IP address yg lain. Hal ini bisa dikarenakan karena di jaringan kita mengunakan network address yg disebut private address space di RFC 1918, yaitu:
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
Dan karena ini adalah private address, jaringan kita tentunya tidak dapat berkomunikasi dgn jaringan lain di Internet, karena semua host yg ingin terkoneksi di Internet harus menggunakan global atau public IP address. Untuk ini kita perlu men-translate IP address kita yg private menjadi public IP address.
Alasan lain untuk menggunakan NAT adalah security. Kita bisa men-translate seluruh jaringan kita (missal 254 PC) menjadi 1 public IP. Teknik ini disebut many-to-one NAT atau biasa disebut Port Address Translation (PAT). Teknik ini sangat bermanfaat jika kita menginginkan user di jaringan kita untuk meng-inisiasi koneksi ke Internet (browsing internet atau mengirim email misalnya), tapi kita tidak menginginkan host dari Internet untk meng-inisiasi koneksi ke PC user kita.
Host dari Internet tidak bisa meng-inisiasi koneksi ke internal host kita karena hanya ada 1 public IP address yg terlihat di jaringan kita, sedangkan jumlah PC yg sebenarnya ada lebih dari 1. Tentunya jika PC kita yg meng-inisiasi, maka reply atau return packet akan bisa
kembali karena device yg kita gunakan untuk melakukan NAT, akan memiliki mapping table dari NAT yg terjadi di jaringan.
Untuk kasus one-to-one NAT, dimana 1 private IP akan di-translate menjadi 1 global IP, maka mapping nya akan spt berikut:
Router#sh ip nat tra
Pro Inside global Inside local Outside local Outside global
— 195.1.134.1 192.168.1.1 — —
— 195.1.134.2 192.168.1.2 — —
Dalam contoh ini, IP private 192.168.1.1 di-translate ke public IP 195.1.134.1, IP private 192.168.1.2 di-translate ke public IP 195.1.134.2 dst.
Inside local adalah terminologi utk real IP address PC di jaringan kita, sedangkan Inside Global adalah public IP address yg kita gunakan untuk men-translasi real IP address tsb.
Outside local adalah local IP address dari tujuan kita sebagaimana kita melihatnya dari jaringan kita. Sedangkan Outside global adalah global IP address dari tujuan kita yg terlihat di Internet.
Ini bermanfaat utk destination based NAT, sbg contoh sbg berikut:
Ada server di Internet dgn global IP address 11.11.11.11, tapi kita ingin semua users di jaringan kita utk melihat server tsb sbg 192.168.1.11
Maka kita bisa melakukan destination based NAT, dgn outside local adalah 192.168.1.11 dan outside global, IP address tujuan yg sebenernya, adalah 11.11.11.11.
Jika kita tidak melakukan destination based NAT, maka outside local dan outside global dari tujuan kita akan sama, yaitu public IP tujuan yg sebenernya, dan ini bisa dilihat di contoh mapping PAT.
Untuk contoh many-to-one NAT atau PAT, dimana banyak real IP dari PC kita di-translate menjadi 1 public IP, maka contoh mapping nya sbg berikut:
Router#sh ip nat tra
Pro Inside global Inside local Outside local Outside global
tcp 195.1.134.4:12338 192.168.1.3:12338 33.33.33.33:23 33.33.33.33:23
tcp 195.1.134.4:12337 192.168.1.2:12337 22.22.22.22:23 22.22.22.22:23
Dalam contoh ini, kita melakukan telnet (destination tcp port 23) ke remote host 22.22.22.22
dari private IP 192.168.1.2, dan telnet ke remote host 33.33.33.33 dari private IP 192.168.1.3.
Kita bisa lihat bahwa ke-2 private IP kita di-translate ke public IP yg sama, yaitu 195.1.134.4. Yg membedakan adalah source port yg digunakan di public IP.
Jadi di mapping ini terlihat bahwa koneksi dari 192.168.1.2 di map ke 195.1.134.4 port 12337, sedangkan koneksi dari 192.168.1.3 di map ke 195.1.134.4 port 12338.
Dgn adanya mapping ini, remote host 22.22.22.22 ketika mengirimkan paket reply (ingat di TCP/IP reply dari remote host destination portnya ditujukan ke source port dari host kita), akan mengirimkan paket ke 195.1.134.4 port 12337. Sedangkan reply packet dari 33.33.33.33 kan ke 195.1.134.4 port 12338.
Berdasarkan mapping tadi, NAT device atau router yg melakukan map bisa mengetahui bahwa packet reply dari 22.22.22.22 harus dikirimkan ke host 192.168.1.2 dan paket reply dari 33.33.33.33 harus dikirimkan ke host 192.168.1.3
Dari ke-2 contoh di atas kelihatan bahwa untuk normal NAT atau one-to-one NAT, setiap private IP akan memiliki public IP sendiri sehingga setiap host di jaringan kita masih bisa di hubungi dari luar. Host dari Internet masih bisa utk menghubungi tiap host kita karena
mereka memiliki public IP yg berbeda-beda.
Namun untuk kasus many-to-one NAT atau PAT, host dari Internet tidak dapat menghubungi setiap host karena semua host memiliki 1 public IP yg sama. Host dari internet hanya bisa me-reply koneksi dari host kita berdasarkan source port yg berbeda-beda.
Ok, langsung masuk contoh konfigurasi biar makin jelas. Contoh dilakukan dgn menggunakan Cisco router dgn 1 ethernet interface konek ke internal network dan 1 serial interface konek ke Internet. Kalo udah ngerti konsepnya bisa pake NAT device apa aja, gue sendiri buat memproteksi home lab gue pake OpenBSD PF.
Topologi:
Internal network – (eth0) router (s0/0) – internet
Internal network kita menggunakan private IP 192.168.1.0/24. IP address eth0 router kita 192.168.1.1 yg merupakan default gateway dari semua host di internal network.
1. Many-to-one PAT, semua private IP ke 1 public IP address
Kita cuma dapet 1 IP address dari ISP 195.1.134.2/30 yg juga merupakan IP address serial 0/0, router ISP kita menggunakan IP 195.1.134.1 yg juga merupakan default route router kita.
Maka konfigurasi PAT sbg berikut:
- Buat ACL yg mem-permit semua network 192.168.1.0/24
Router(config)#ip access-list standard internal_network
Router(config-std-nacl)#permit 192.168.1.0 0.0.0.255
- Bikin NAT rule untuk mentranslate net 192.168.1.0/24 ke 195.1.134.2 yg merupakan IP address s0/0
Router(config)#ip nat inside source list internal_network interface s0/0 overload
- enable NAT di interface e0/0 dan s0/0
Router(config)#int e0/0
Router(config-if)#ip nat inside
Router(config)#int s0/0
Router(config-if)#ip nat outside
2. ISP kita ternyata memberikan kita public IP 195.1.134.0/24, yg berarti range public IP yg bisa kita gunakan adalah 195.1.134.1 – 195.1.134.254. Ini berarti kita bisa melakukan one-to-one NAT, contoh:
192.168.1.1 ke 195.1.134.1
192.168.1.2 ke 195.1.134.2, dst.
Maka konfigurasi yg perlu dilakukan hanya:
Router(config)#ip nat inside source static network 192.168.1.0 195.1.134.0 /24
Tentunya enable NAT di e0/0 dan s0/0 spt contoh no.1
3. Kalo gak dapet persis 254 public IP gimana? Misal dapetnya 195.1.134.0/29, yg berarti range public IP yg bisa digunakan adalah 195.1.134.1-195.1.134.6 (ingat dgn /29 ada total 8 IP dari 0 sampai 7, tapi 0 adalah network address dan 7 sebagai IP terakhir merupakan
broadcast address).
Jika kita mau mentranslate net 192.168.1.0/24 ke range IP 195.1.134.1-195.1.134.6
- bikin NAT pool
Router(config)#ip nat pool public_IP 195.1.134.1 195.1.134.6 netmask 255.255.255.248
- bikin NAT rule, pake ACL internal_network spt contoh no.1 buat permit semua internal net 192.168.1.0/24
Router(config)#ip nat inside source list intenal_network pool public_IP
Jgn lupa enable NAT di e0/0 dan s0/0 spt contoh no.1
4. Ada masalah dgn contoh no.3? Ada.
Dalam 1 waktu, hanya ada 6 internal private IP yg bisa di translate ke 6 public IP. Jadi koneksi dari internal host ke 7 akan gagal dan harus menunggu sampai translation mapping timeout dan di clear, sehingga public ip kembali tersedia.
Cara mengatasinya, kita bisa bikin pool dgn 5 public IP address, dan 1 IP terakhir buat PAT. IP terakhir, 195.1.134.6 digunakan sbg IP address utk interface s0/0
Router(config)#ip nat pool public_IP 195.1.134.1 195.1.134.5 netmask 255.255.255.248
Router(config)#ip nat inside source list internal_network pool public_IP
Router(config)#ip nat inside source list internal_network interface s0/0 overload
Dgn begini, 5 private IP yg pertama akan di translate ke 5 public IP di pool, sedangkan private IP yg lain akan di translate ke ip ke-6, yg merupakan ip address dari interface s0/0.
5. Ok, ayo masuk ke contoh yg lebih advance:
Kita punya 6 public IP dari range 195.1.134.1.- 195.1.134.6
IP address 195.1.134.4 kita gunakan sbg ip address interface s0/0 router kita
IP address 195.1.134.1 digunakan oleh router ISP interface s0/0, yg merupakan default gateway router kita
IP address 195.1.134.2 mau kita gunakan sbg ip address web server kita, dgn real IP 192.168.1.2
Dan IP addres 195.1.134.3 mau kita gunakan sbg ip address mail server kita, dgn real IP 192.168.1.3
Sisanya, 195.1.134.5 dan 6, akan kita pergunakan nanti jika kita punya server2 baru
- Bikin ACL buat semua network, access-list internal_network permit 192.168.1.0 0.0.0.255
- Konfigure PAT buat semua internal network ke interface s0/0
Router(config)#ip nat inside source list internal_network interface s0/0 overload
- Bikin one-to-one NAT buat web dan mail server
Router(config)#ip nat inside source static 192.168.1.2 195.1.134.2
Router(config)#ip nat inside source static 192.168.1.3 195.1.134.3
Jgn kuatir jika terjadi overlap antara static NAT diatas dgn PAT di konfigurasi sebelumnya. Static NAT akan meng-overide rule utk 192.168.1.2 dan 192.168.1.3, sehingga ke-2 IP tsb tidak akan di PAT meskipun termasuk dlm ACL internal_network.
Jgn lupa enable NAT di interface s0/0 dan e0/0 spt contoh no.1
Dan kalo kita punya IOS Firewall dan ACL ingress in interface s0/0, maka kita harus permit koneksi dari internet ke public IP web dan mail server kita, dgn port yg terkait spt tcp 80 dan 25. Jadi di ACL ingress s0/0 jgn gunakan real IP address.
6. Kita terkoneksi dgn ISP, router kita cuman dapet 1 public IP address buat interface s0/0 tapi punya web server dan mail server? Jgn kuatir, ini bisa dilakukan dgn teknik port redirection.
Jadi, bikin dulu PAT biar internal network kita bisa konek ke Internet
Router(config)#ip nat inside source list internal_network interface s0/0 overload
Trus bikin port redirection buat traffic ke port 80 dan 25, di contoh ini private IP web server kita tetap 192.168.1.2 dan mail server 192.168.1.3
Router(config)#ip nat inside source static tcp 192.168.1.2 80 interface s0/0 80
Router(config)#ip nat inside source static tcp 192.168.1.3 25 interface s0/0 25
Dgn cara begini, traffic yg datang ke public IP interface serial port 80 akan di redirect ke real IP web server 192.168.1.2, dan traffic yg datang ke serial port 25 akan di redirect ke real IP mail server 192.168.1.3
Tinggal daftar di public DNS server untuk web dan MX record mail server kita, untuk me-resolve ke public IP router interface s0/0. Keuntungan lain dgn cara PAT ke interface adalah kita bisa saja mendapatkan IP address yg berbeda-beda (dynamic IP) setiap kali konek ke ISP.
Dgn setingan di atas, kita tidak perlu kuatir IP kita akan berubah.
Hanya mungkin public IP yg kita daftarkan untuk web dan mail server di public DNS server harus selalu di-update sesuai dgn IP address yg sedang kita dapatkan.
Mulai kerasakan The Power of NAT?
Read More..
Tampilkan postingan dengan label Jaringan Komputer. Tampilkan semua postingan
Tampilkan postingan dengan label Jaringan Komputer. Tampilkan semua postingan
Sabtu, 08 Agustus 2009
Jumat, 22 Mei 2009
Sistem Quota ala Speedy dengan Squish
Kita ambil contoh : user A di berikan batas waktu pemakaian 5 jam, dan 20 MB perharinya. Walaupun sebelum 5 jam kapasitasnya sudah full maka sang user terpaksa menunggu hari berikutnya untuk bisa kembali bermain. Istilah kerennya yakni Squished.
System quota ini menggunakan sebuah paket aplikasi tambahan, Squish. Yang penulis gunakan adalah squish versi 0.0.18.
Di tutorial ini penulis menggunakan distro fedora core 4, yang didalamnya telah terinstall paket squid. Berikut adalah peralatan yang kita butuhkan nantinya :
gd-2.0.33-2.i386.rpm
perl-GD-2.35-1.fc4.i386.rpm
squish-0.0.18.tar.gz
Download dulu paket-paket di atas :
# wget http://h1.ripway.com/ilmuwebsite2/gd-2.0.33-2.i386.rpm
# wget http://h1.ripway.com/ilmuwebsite2/perl-GD-2.35-1.fc4.i386.rpm
# wget http://h1.ripway.com/ilmuwebsite2/squish-0.0.18.tar.gz
Kemudian Install paket gd-2.0.33-2.i386.rpm, dan perl-GD-2.35-1.fc4.i386.rpm
# rpm –ivh gd-2.0.33-2.i386.rpm
# rpm –ivh perl-GD-2.35-1.fc4.i386.rpm
Setelah itu ekstrak file squish-0.0.18.tar.gz :
# tar –xzvf squish-0.0.18.tar.gz
Terdapat sebuah direktori baru disana, squish-0.0.18, kemudian masuk kedalamnya, kemudian install :
# cd squish-0.0.18
# make install
Pindah ke direktori di mana squish berada :
# cd /usr/local/squish/
Kemudian jalankan option run pada file squish.pl, ini dilakukan untuk membuat sebuah tampilan awal dari pemakaian bandwith :
# ./squish.pl --install
Dengan fasilitas crontab tambahkan sebuah perintah baru untuk daemon crond :
# crontab -e
5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/squish/squish.cron.sh
Kemudian tekan ESC :x!
Jalankan perintah baru tersebut untuk pertama kalinya :
# /usr/local/squish/squish.cron.sh
Kemudian kita tambahkan authentikasi ncsa_auth pada file konfigurasi squid.conf yang terletak di /etc/squid/squid.conf :
# nano /etc/squid/squid.conf
# baris ini ditambahkan di area authentikasi
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
# yang ini ditambahkan pada area acl
acl ncsa proxy_auth REQUIRED
# kemudian simpan
Setelah itu edit di bagian bawah baris kalimat ini
### added by squish (begin)
Menjadi seperti ini :
# acl's for squish - autodetected, sometimes
acl SQUISHLOC dst ns.multimedia.com
acl SQUISHED1 proxy_auth -i "/etc/squid/squished"
#acl SQUISHED2 ident "/etc/squid/squished"
acl SQUISHED3 src "/etc/squid/squished"
acl password proxy_auth REQUIRED
# Error info that says you're squished
deny_info http://ns.multimedia.com/squish/?squished& SQUISHED1
# deny_info http://ns.multimedia.com/squish/?squished& SQUISHED2
deny_info http://nd.multimedia.com/squish/?squished& SQUISHED3
# HTTP access controls for squish
http_access allow SQUISHLOC
http_access allow password !SQUISHED1
http_access deny SQUISHED1
# http_access deny SQUISHED2
http_access deny SQUISHED3
### added by squish (end )
http_access allow ncsa
Kemudian, edit file konfigurasi httpd :
# nano /etc/httpd/conf/httpd.conf
# tambahkan baris berikut di paling bawah dari file konfigurasi tersebut :
include /usr/local/squish/apache-squish.conf
Kemudian edit file apache-squish.conf :
# nano /usr/local/squish/apache-squish.conf
Edit file tersebut menjadi seperti ini :
Alias /squish "/usr/local/squish/"
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex squish.cgi
AllowOverride None
Order allow,deny
Allow from all
Di bagian terakhir, anda cukup membuat user yang diperbolehkan untuk mengakses internet, dengan membuat sebuah file yang berisi user yang diperbolehkan login :
# htpasswd /etc/squid/passwd mamang
Berikan permission r untuk user lain agar file /etc/squid/passwd dapat dibaca oleh apache.
# chmod o+r /etc/squid/passwd
Kemudian restart service squid dan httpd :
# service squid restart
# service httpd restart
Untuk melakukan pembatasan pemakaian pada user, silahkan edit file konfigurasi squish.conf
# nano /etc/squid/squish.conf
squish.conf:
# This file contains data formatted as follows:
#
# Blank lines and hashed stuff is for comments
# user amount/period
# bandwidth: 999[kmG]b / period: day, week, month
# time: 999[smh] / period: day, week, month
#
# Whitelist entries - they can have as much as they like
192\.168\.99\.44 25h/day
192\.168\.97\.43 25h/day
mamang 12h/day 120Mb/day
# Poor guy:
root 1h/day 1Mb/day 2Mb/week
# Catchall -- people and IP's not matched by the above rules
.* 4h/day 20Mb/day 20h/week 100Mb/week
Tampilan ketika user habis masa pemakaiannya
Read More..
System quota ini menggunakan sebuah paket aplikasi tambahan, Squish. Yang penulis gunakan adalah squish versi 0.0.18.
Di tutorial ini penulis menggunakan distro fedora core 4, yang didalamnya telah terinstall paket squid. Berikut adalah peralatan yang kita butuhkan nantinya :
gd-2.0.33-2.i386.rpm
perl-GD-2.35-1.fc4.i386.rpm
squish-0.0.18.tar.gz
Download dulu paket-paket di atas :
# wget http://h1.ripway.com/ilmuwebsite2/gd-2.0.33-2.i386.rpm
# wget http://h1.ripway.com/ilmuwebsite2/perl-GD-2.35-1.fc4.i386.rpm
# wget http://h1.ripway.com/ilmuwebsite2/squish-0.0.18.tar.gz
Kemudian Install paket gd-2.0.33-2.i386.rpm, dan perl-GD-2.35-1.fc4.i386.rpm
# rpm –ivh gd-2.0.33-2.i386.rpm
# rpm –ivh perl-GD-2.35-1.fc4.i386.rpm
Setelah itu ekstrak file squish-0.0.18.tar.gz :
# tar –xzvf squish-0.0.18.tar.gz
Terdapat sebuah direktori baru disana, squish-0.0.18, kemudian masuk kedalamnya, kemudian install :
# cd squish-0.0.18
# make install
Pindah ke direktori di mana squish berada :
# cd /usr/local/squish/
Kemudian jalankan option run pada file squish.pl, ini dilakukan untuk membuat sebuah tampilan awal dari pemakaian bandwith :
# ./squish.pl --install
Dengan fasilitas crontab tambahkan sebuah perintah baru untuk daemon crond :
# crontab -e
5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/squish/squish.cron.sh
Kemudian tekan ESC :x!
Jalankan perintah baru tersebut untuk pertama kalinya :
# /usr/local/squish/squish.cron.sh
Kemudian kita tambahkan authentikasi ncsa_auth pada file konfigurasi squid.conf yang terletak di /etc/squid/squid.conf :
# nano /etc/squid/squid.conf
# baris ini ditambahkan di area authentikasi
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
# yang ini ditambahkan pada area acl
acl ncsa proxy_auth REQUIRED
# kemudian simpan
Setelah itu edit di bagian bawah baris kalimat ini
### added by squish (begin)
Menjadi seperti ini :
# acl's for squish - autodetected, sometimes
acl SQUISHLOC dst ns.multimedia.com
acl SQUISHED1 proxy_auth -i "/etc/squid/squished"
#acl SQUISHED2 ident "/etc/squid/squished"
acl SQUISHED3 src "/etc/squid/squished"
acl password proxy_auth REQUIRED
# Error info that says you're squished
deny_info http://ns.multimedia.com/squish/?squished& SQUISHED1
# deny_info http://ns.multimedia.com/squish/?squished& SQUISHED2
deny_info http://nd.multimedia.com/squish/?squished& SQUISHED3
# HTTP access controls for squish
http_access allow SQUISHLOC
http_access allow password !SQUISHED1
http_access deny SQUISHED1
# http_access deny SQUISHED2
http_access deny SQUISHED3
### added by squish (end )
http_access allow ncsa
Kemudian, edit file konfigurasi httpd :
# nano /etc/httpd/conf/httpd.conf
# tambahkan baris berikut di paling bawah dari file konfigurasi tersebut :
include /usr/local/squish/apache-squish.conf
Kemudian edit file apache-squish.conf :
# nano /usr/local/squish/apache-squish.conf
Edit file tersebut menjadi seperti ini :
Alias /squish "/usr/local/squish/"
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex squish.cgi
AllowOverride None
Order allow,deny
Allow from all
Di bagian terakhir, anda cukup membuat user yang diperbolehkan untuk mengakses internet, dengan membuat sebuah file yang berisi user yang diperbolehkan login :
# htpasswd /etc/squid/passwd mamang
Berikan permission r untuk user lain agar file /etc/squid/passwd dapat dibaca oleh apache.
# chmod o+r /etc/squid/passwd
Kemudian restart service squid dan httpd :
# service squid restart
# service httpd restart
Untuk melakukan pembatasan pemakaian pada user, silahkan edit file konfigurasi squish.conf
# nano /etc/squid/squish.conf
squish.conf:
# This file contains data formatted as follows:
#
# Blank lines and hashed stuff is for comments
# user amount/period
# bandwidth: 999[kmG]b / period: day, week, month
# time: 999[smh] / period: day, week, month
#
# Whitelist entries - they can have as much as they like
192\.168\.99\.44 25h/day
192\.168\.97\.43 25h/day
mamang 12h/day 120Mb/day
# Poor guy:
root 1h/day 1Mb/day 2Mb/week
# Catchall -- people and IP's not matched by the above rules
.* 4h/day 20Mb/day 20h/week 100Mb/week
Tampilan ketika user habis masa pemakaiannya
Read More..
Konfigurasi Linux sebagai Gateway Internet

tutorial jaringan komputer kali ini saya akan menjelaskan proses installasi linux yang nantinya akan dijadikan sebagai gateway internet.
Btw, gateway itu sendiri memiliki definisi sebuah komputer yang melayani konversi protokol antara beberapa tipe yang berbeda dari suatu network atau program aplikasi. Sebagai contoh, sebuah gateway dapat meng-convert sebuah paket TCP/IP menjadi paket NetWare IPX atau dari Apple Talk menjadi DECnet, dan lain-lain. ( Andino-Kamus TI – Ilmukomputer.com )
Gateway inilah yang nantinya akan menghubungkan jaringan local dalam hal ini LAN dengan jaringan public yaitu internet.
Sebagai catatan dalam percobaan ini penulis menggunakan Redhat Linux 9, dan Fedora Core 4. Menggunakan koneksi ADSL speedy dengan IP Static ( penulis pun bingung, karena baru pertama kali ini penulis diberikan koneksi ADSL speedy dengan IP Static. :D . Ini nyata.)
Sebelumnya paket yang kita butuhkan adalah :
rp-pppoe-3.5-27.i386.rpm
Tapi setahu penulis paket tersebut sudah terinstall dalam distro tersebut, untuk mengetahui apakah pake tersebut sudah terinstall didalamnya login sebagai root :
root@alk.root#rpm -qa | grep pppoe
rp-pppoe-3.5-27
Perlu diketahui komputer yang akan dijadikan sebagai gateway nanti membutuhkan 2 ethernet card nantinya.
Yupz, langsung aja kita menuju pokok pembahasannya.
Langkah awal yang harus dilakukan adalah memeriksa apakah kedua ethernet card tersebut sudah terdetek dengan baik:
root@alk.root#ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:EE:71:11
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feee:7111/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:61 errors:0 dropped:0 overruns:0 frame:0
TX packets:85 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6938 (6.7 KiB) TX bytes:10092 (9.8 KiB)
Interrupt:10 Base address:0x1080
eth1 Link encap:Ethernet HWaddr 00:0C:29:EE:71:1B
inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feee:711b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:1796 (1.7 KiB)
Interrupt:9 Base address:0x1400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:35 errors:0 dropped:0 overruns:0 frame:0
TX packets:35 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2190 (2.1 KiB) TX bytes:2190 (2.1 KiB)
Yup, jika anda mendapatkan komentar seperti itu silahkan menuju ke tahap selanjutnya. Jika tidak ? Silahkan googling :D~~~.
Langkah berikutnya adalah mengkonfigurasi ethernet card tersebut. Agar nantinya konfigurasi tersebut dapat dijalankan secara otomatis ketika boot. File konfigurasi ethernet dalam linux memiliki penamaan ethx, x ini menandakan pengurutan, jika terdapat 2 ethernet card dalam komputer anda maka, file konfigurasinya adalah eth0 dan eth1. Letak file konfigurasi secara default terdapat dalam :
/etc/sysconfig/network-scripts/ifcfg-ethx
Karena nantinya kita akan menggunakan 2 lancard tersebut, maka file yang akan kita konfigurasi adalah :
/etc/sysconfig/network-scripts/ifcfg-eth0 dan /etc/sysconfig/network-scripts/ifcfg-eth1
Sebagai contoh, konfigurasi eth0 yang penulis gunakan adalah sebagai berikut :
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.1.255
HWADDR=00:0C:29:EE:71:11
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
TYPE=Ethernet
DEVICE : merupakan ethernet apa yang akan dikonfigurasi.
BOOTPROTO : status dari penggunaan ip address, apakah bersifat dynamic ( DHCP ) atau static.
BROADCAST : alamat broadcast jaringan yang digunakan.
HWADDR : alamat fisik dari ethernet card tersebut, biasa disebut Mac Address.
IPADDR : alamat ip yang nanti akan digunakan oleh gateway linux. Alamat ini yang nantinya akan berhubungan langsung dengan protol tcp/ip.
NETMASK : subnet mask yang digunakan oleh device eth0. subnet mask ini digunakan untuk membagi jaringan menjadi lebih kecil.
ONBOOT : apakah nanti akan diproses ketika BOOT ??
Dan konfigurasi eth1 yang digunakan oleh penulis :
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.100.255
HWADDR=00:0C:29:EE:71:1B
IPADDR=192.168.100.1
NETMASK=255.255.255.0
NETWORK=192.168.100.0
ONBOOT=yes
TYPE=Ethernet
Kemudian restart service network.
root@alk.root#/etc/init.d/network restart
Sebelum ke langkah selanjutnya, perlu diketahui bahwa, anda diharuskan untuk mengaktifkan mode bridge pada modem adsl.
Langkah selanjutnya adalah konfigurasi ADSL-nya :
root@alk.root#adsl-setup
# pertama kali akan ditanyakan username yang telah diberikan oleh pihak ISP anda
LOGIN NAME
Enter your Login Name: 121303xxxxxx@telkom.net
#device yang berhubungan langsung dengan modem adsl anda, dalam hal ini eth1
INTERFACE
Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethX, where 'X' is a number.
(default eth0):eth1
# kalo yang ini pilih no aja, karena ketika demand diaktifkan maka anda tidak bisa
# menggunakan IP yang dynamic
Enter the demand value (default no): no
# DNS yang digunakan, bagian ini bisa diisi nanti. Lewat saja.
# password yang diberikan oleh ISP anda, berbarengan dengan diberikannya username tadi
PASSWORD
Please enter your Password:xxxxxxxx
# pemberian akses kepada user untuk menjalankan/mematikan adsl
USERCTRL
Please enter 'yes' (three letters, lower-case.) if you want to allow
normal user to start or stop DSL connection (default yes):yes
# langkah berikutnya adalah berkenaan dengan firewall disini penulis memilih no 2
The firewall choices are:
0 - NONE: This script will not set any firewall rules. You are responsible
for ensuring the security of your machine. You are STRONGLY
recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
for a LAN
Choose a type of firewall (0-2):2
# apakah akan dijalankan secara otomatis ketika boot ?
Start this connection at boot time
Do you want to start this connection at boot time?
Please enter no or yes (default no):yes
Dan selanjutnya ketik y saja untuk mensave konfigurasi diatas.
Ada beberapa konfigurasi yang perlu dilakukan. Penulis memberikan sedikit konfigurasi tambahan yang diletakkan pada file /etc/rc.local
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A POSTROUTING -j MASQUERADE -t nat -s 192.168.1.0/24 -o ppp0
konfigurasi tersebut digunakan untuk meneruskan paket ip dan melakukan masquerade. Masquerade sendiri merupakan proses membagi bandwith, karena pada dasarnya isp hanya memberikan satu koneksi dengan satu ip, maka agar dapat digunakan secara beramai-ramai maka perlu dilakukan masquerade.
Selanjutnya anda tinggal menambahkan dns server yang diberikan oleh telkom pada file konfigurasi /etc/resolv.conf, yang penulis gunakan adalah 202.134.0.155.
root@alk.root#echo nameserver 202.134.0.155 > /etc/resolv.conf
root@alk.root#cat /etc/resolv.conf
nameserver 202.134.0.155
Selanjutnya anda tinggal menjalankan adsl-start.
Read More..