Implementasi Network Address Translation
Implementasi Network Address Translation
Disusun Oleh :
Jarot Muchtar
STIMIK HIMSYA
2010
Jarot Muchtar
2108/P/0062
Keterbatasan alamat IPv.4 merupakan masalah pada jaringan global atau Internet. Untuk
memaksimalkan penggunakan alamat IP yang diberikan oleh Internet Service Provider (ISP) dapat
digunakan Network Address Translation atau NAT. Cisco mengimplementasikan dengan
menggunakan RFC 1631. NAT membuat jaringan yang menggunakan alamat lokal (private), alamat
yang tidak boleh ada dalam tabel routing Internet dan dikhususkan untuk jaringan lokal/intranet, dapat
berkomunikasi ke Internet dengan jalan ‘meminjam’ alamat IP Internet yang dialokasikan oleh ISP.
Statik
Translasi Static terjadi ketika sebuah alamat lokal (inside) di petakan ke sebuah alamat global/internet (outside).
Alamat lokal dan global dipetakan satu lawan satu secara Statik.
2
Jarot Muchtar
2108/P/0062
Dinamik
NAT dengan Pool (kelompok)
Translasi Dinamik terjadi ketika router NAT diset untuk memahami alamat lokal yang harus ditranslasikan, dan
kelompok (pool) alamat global yang akan digunakan untuk terhubung ke internet. Proses NAT Dinamik ini dapat
memetakan bebarapa kelompok alamat lokal ke beberapa kelompok alamat global.
NAT Overload
Sejumlah IP lokal/internal dapat ditranslasikan ke satu alamat IP global/outside. Hal ini sangat
menghemat penggunakan alokasi IP dari ISP. Sharing/pemakaian bersama satu alamat IP ini
menggunakan metoda port multiplexing, atau perubahan port ke packet outbound.
Komponen-komponen NAT
NAT dapat melewatkan alamat jaringan lokal (‘private’) menuju jaringan ‘public’ seperti Internet. Alamat
‘private’ yang berada pada jaringan lokal /"inside", mengirim paket melalui router NAT, yang kemudian dirubah
oleh router NAT menjadi alamat IP ISP sehingga paket tersebut dapat diteruskan melewati jaringan publik atau
internet. Awalnya Fitur ini hanya tersedia pada gateway pass-through firewall saja. Tapi sekarang sudah tersedia
di semua router Cisco.
3
Jarot Muchtar
2108/P/0062
Gambar Keterangan
Inside local IP address –
Alamat IP yang di set
untuk sebuah host pada
jaringan lokal (inside
network). Pengalokasian
alamat IP harus unik dan
dalam satu subnet yang
sama.
Simple translation –
Sebuah translasi yang
memetakan satu alamat
IP ke satu alamat IP lain.
4
Jarot Muchtar
2108/P/0062
Penggunaan NAT
Anda berganti ke ISP baru dan anda diharuskan menggunakan alamat IP dari ISP baru
tersebut untuk jaringan anda.
Keuntungan Kerugian
Menghemat alamat IP legal Translasi menimbulkan delay
(ditetapkan oleh NIC atau service switching.
provider)
Mengurangi terjadinya duplicate Menghilangkan kemampuan
alamat jaringan IP. ‘trace’ (traceability) end-to-end
IP.
Meningkatkan fleksibilitas untuk Aplikasi tertentu tidak dapat
koneksi ke Internet berjalan jika menggunakan NAT.
Menghindarkan proses
pengalamatan kembali
(readdressing) pada saat jaringan
berubah.
Berikut adalah ilustrasi NAT yang digunakan untuk mentranslasikan alamat dari dalam (inside)
jaringan ke tujuan (outside).
5
Jarot Muchtar
2108/P/0062
Gambar Keterangan
Langkah 1:
Pengguna pada host
[Link] membuat koneksi
ke outside host B.
Langkah 2: Paket
pertama yang diterima
oleh router dari host
[Link] dicocokkan
dengan tabel NAT . Jika
translasi ada, (karena
sudah diset statik), maka
router melanjutkan ke
Langkah 3.
6
Jarot Muchtar
2108/P/0062
Langkah 4:
Host B menerima paket
dan merespon ke node
yang menggunakan alamat
IP inside global
[Link].
Langkah 6: Router
kemudian
mentranslasikan alamat
tersebut ke [Link] yang
merupakan alamat inside
local, dan meneruskan
paket data ke [Link].
Host [Link] menerima
packet dan memprosesnya.
Catatan :
Anda dapat menggunakan Static atau Dinamik NAT secara terpisah atau bersamaan
7
Jarot Muchtar
2108/P/0062
Gambar Keterangan
Langkah 1:
Pengguna pada host
[Link] membuat
koneksi ke host B.
Langkah 2: Router
akan menerima paket
dari [Link] dan
mengecek tabel NAT.
8
Jarot Muchtar
2108/P/0062
Langkah 4:
Host B yang berada di
luar (outside) menerima
paket dan merespon
node yang
menggunakan alamat IP
inside global
[Link].
Langkah 5:
Ketika router menerima
paket dengan alamat IP
inside global, router
mencari pada tabel
NAT-nya, dan
mengecek alamat inside
global dan nomor port.
Alamat ‘outside’
(outside global IP
address) dan nomor
port-nya sebagai
referensi.
Langkah 6:
Kemudian router
mentranslasikan alamat
IP tersebut ke alamat
inside local [Link] dan
meneruskan paket ke
[Link]. Host [Link]
menerima paket dan
memprosesnya.
9
Jarot Muchtar
2108/P/0062
Perintah Keterangan
access-list Perintah ini mendefinisikan access list (urutan yang
masuk dalam daftar akses) untuk “inside network”.
ip nat pool Perintah ini mendefinisikan sebuah kelompok (pool)
IP NAT untuk “inside network”.
ip nat inside source list pool Memetakan access list ke kelompok (pool) IP NAT.
ip nat outside source pool Memetakan antara access list dan kelompok (pool)
outside local.
ip nat inside source static Mendefinisikan alamat yang menggunakan translasi
alamat statik untuk alamat lokal.
ip nat {inside | outside} Mengaktifkan NAT pada sebuah interface (harus
dipilih salah satu inside atau outside).
ip nat inside destination list pool Defines mapping between the access list and the real
host pool
10
Jarot Muchtar
2108/P/0062
Catatan : Hanya paket dari lokal menuju global (outside) yang ditranslasikan, sedangkan paket yang
tidak ditujukan keluar (outside) tidak akan ditranslasikan.
11
Jarot Muchtar
2108/P/0062
Perintah Keterangan
show ip nat translations Perintah yang menampilkan translasi yang sedang
[verbose] aktif.
show ip nat statistics Perintah yang menampilkan statistik translasi.
12
Jarot Muchtar
2108/P/0062
Perintah Keterangan
debug ip nat[ list | Perintah ini menampilkan setiap baris untuk tiap-tiap
detailed] paket yang telah ditranslasikan.
Contoh :
Router#debug ip nat
NAT: s=[Link]->[Link], d=[Link] [1]
NAT: s=[Link], d=[Link]->[Link] [1]
NAT: s=[Link]->[Link], d=[Link] [2]
NAT*: s=[Link], d=[Link]->[Link] [2]
!Additional output omitted……………
Untuk melacak atau melihat proses operasi NAT, gunakan perintah debug ip nat [list | detailed].
Tanda asterisk (*) menunjukkan translasi terjadi dengan “fast path” atau dengan
menggunakan “cache”. Paket pertama akan selalu melalui jalur lambat/slow path (process-
switched). Paket berikutnya akan melalui jalur cepat (fast path) jika dengan entri “cache”.
13
Jarot Muchtar
2108/P/0062
Nilai dalam tanda kurung adalah nomor identifikasi IP. Informasi ini sangat berguna untuk
mencocokkan pasangan paket jika menggunakan alat ukur Sniffer, karena sangat banyak paket
yang muncul dalam Sniffer.
Perintah Keterangan
clear ip nat translation Membersihkan semua isi tabel NAT
* Tanda (*) berarti SEMUA.
clear ip nat translation Membersihkan translasi yang berisi sebuah translasi
inside global-ip lokal/inside, atau translasi inside dan outside
local-ip [outside bersamaan.
local-ip global-ip]
clear ip nat translation Membersihkan sebuah translasi global/outside.
outside local-ip
global-ip
clear ip nat translation Membersihkan sebuah “extended entry”.
protocol inside
Tip :
Jika NAT telah dikonfigurasi dengan benar, tetapi translasi tidak terjadi, bersihkan isi tabel NAT (clear
ip nat translation *), kemudian cek kembali translasi yang terjadi.
14
Jarot Muchtar
2108/P/0062
0HPEXDW1$7GHQJDQ)UHH%6'
kernel
Network Address Translation (NAT)
Dalam FreeBSD, mekanisme Network Address Translation (NAT) dijalankan oleh program Natd yang
bekerja sebagai daemon. Network Address Translation Daemon (Natd) menyediakan solusi untuk permasalahan
penghematan ini dengan cara menyembunyikan IP address jaringan internal, dengan membuat paket yang di-
generate di dalam terlihat seolah-olah dihasilkan dari mesin yang memiliki IP address legal. Natd memberikan
konektivitas ke dunia luar tanpa harus menggunakan IP address legal dalam jaringan internal.
Natd menyediakan fasilitas Network Address Translation untuk digunakan dengan socket divert. Natd
mengubah semua paket yang ditujukan ke host lain sedemikian sehingga source IP addressnya berasal dari mesin
Natd. Untuk setiap paket yang diubah berdasarkan aturan ini, dibuat tabel translasi untuk mencatat transaksi
ini.
Dengan NAT, aturan bahwa untuk berkomunikasi harus menggunakan IP address legal, [Link]
bekerja dengan jalan mengkonversikan IP-IP address ke satu atau lebih IP address lain. IP address yang dikonversi
adalah IP address yang diberikan untuk tiap mesin dalam jaringan internal (bisa sembarang IP). IP address yang
menjadi hasil konversi terletak di luar jaringan internal tersebut dan merupakan IP address legal yang
valid/routable.
Mekanisme NAT
Sebuah paket TCP terdiri dari header dan data. Header memiliki sejumlah field di dalamnya, salah satu field
yang penting di sini adalah MAC (Media Access Control) address asal dan tujuan, IP address asal dan tujuan, dan
nomor port asal dan tujuan.
Saat mesin A menghubungi mesin B, header paket berisi IP A sebagai IP address asal dan IP B sebagai IP
address tujuan. Header ini juga berisi nomor port asal (biasanya dipilih oleh mesin pengirim dari sekumpulan
nomor port) dan nomor port tujuan yang spesifik, misalnya port 80 (untuk web).
Kemudian B menerima paket pada port 80 dan memilih nomor port balasan untuk digunakan sebagai nomor
port asal menggantikan port 80 tadi. Mesin B lalu membalik IP address asal & tujuan dan nomor port asal & tujuan
dalam header paket. Sehingga keadaan sekarang IP B adalah IP address asal dan IP A adalah IP address tujuan.
Kemudian B mengirim paket itu kembali ke A. Selama session terbuka, paket data hilir mudik menggunakan
nomor port yang dipilih.
Router (yang biasa – tanpa Natd) memodifikasi field MAC address asal & tujuan dalam header ketika me-route
paket yang melewatinya. IP address, nomor port, dan nomor sequence asal & tujuan tidak disentuh sama sekali.
NAT juga bekerja atas dasar ini. Dimulai dengan membuat tabel translasi internal untuk semua IP address
jaringan internal yang mengirim paket melewatinya. Lalu men-set tabel nomor port yang akan digunakan oleh IP
address yang valid. Ketika paket dari jaringan internal dikirim ke Natd untuk disampaikan keluar, Natd
melakukan hal-hal sebagai berikut:
1. Mencatat IP address dan port asal dalam tabel translasi
2. Menggantikan nomor IP asal paket dengan nomor IP dirinya yang valid
3. Menetapkan nomor port khusus untuk paket yang dikirim keluar, memasukkannya dalam tabel translasi
dan menggantikan nomor port asal tersebut dengan nomor port khusus ini.
Ketika paket balasan datang kembali, Natd mengecek nomor port tujuannya. Jika ini cocok dengan nomor
port yang khusus telah ditetapkan sebelumnya, maka dia akan melihat tabel translasi dan mencari mesin mana di
15
Jarot Muchtar
2108/P/0062
jaringan internal yang sesuai. Setelah ditemukan, ia akan menulis kembali nomor port dan IP address tujuan
dengan IP address dan nomor port asal yang asli yang digunakan dulu untuk memulai koneksi. Lalu mengirim
paket ini ke mesin di jaringan internal yang dituju. Natd memelihara isi tabel translasi selama koneksi masih
terbuka.
[Link]:8080 [Link]:8080
[Link]:21 [Link]:21
[Link]:6667 [Link]:6667
Jaringan
Internet
Internal
Gateway
16
Jarot Muchtar
2108/P/0062
Sediakan satu komputer untuk dijadikan Gateway. Penulis menyarankan penggunaan FreeBSD
RELEASE 2.2.6 (Natd hanya jalan di FreeBSD 2.2.1 ke atas), karena selain gratis juga requirement
hardware-nya tidak terlalu boros. PC 486 dengan 16 MB memory dan HD 850 MB juga sudah cukup mewah.
Untuk mengetahui proses installasi FreeBSD, silahkan baca kembali tulisan-tulisan di Infokomputer
sebelumnya dan manual FreeBSD sendiri.
2. Installasi Gateway
Pasang 2 network interface agar mesin ini menjadi gateway. Network Card (misal NE2000 atau 3COM) satu
dihubungkan ke jaringan internal dan satu lagi untuk koneksi ke ISP. Misalnya dua-duanya NE2000
Compatible. maka nick untuk card yang menghadap ke dalam adalah ed0 dan untuk card yang menghadap
keluar adalah ed1.
Pastikan juga option gateway = ”YES” tertulis dengan benar dalam file [Link]. Atau bisa
juga dengan mengetik perintah: sysctl -w [Link]=1
3. Installasi Firewall
Pasang IP firewall di mesin FreeBSD ini. Caranya adalah :
a. Edit kernel source di /usr/src/sys/i386/conf
Tambahkan option-option berikut ini pada file kernel.
options IPFIREWALL
options IPFIREWALL_VERBOSE
options “IPFIREWALL_VERBOSE_LIMIT=100”
options IPDIVERT
firewall="YES"
firewall_type="OPEN"
3. Installasi Natd
Langkah-langkahnya adalah sbb:
a. Download source nya di [Link]
b. Unzip dan untar archive tersebut dengan perintah
gzip -dc natd_1.[Link] | tar -xvf -
c. Lakukan make dan make install di direktori yang dihasilkan. Ketikkan perintah berikut:
cd natd_1.12
make
make install
d. Edit startup file supaya Natd berjalan secara otomatis
Buat file [Link] di /usr/local/etc/rc.d. Isi file tersebut adalah
#!/bin/sh
/sbin/ipfw -f flush
/sbin/ipfw add divert 13494 ip from any to any via ed0
/sbin/ipfw add pass all from [Link] to [Link]
/sbin/ipfw add pass ip from any to any
/usr/local/sbin/natd -port 13494 -interface ed0
17
Jarot Muchtar
2108/P/0062
Jadikan nomor IP card ed0 di FreeBSD sebagai gateway dari tiap workstation, IP tiap-tiap work station
harus berada dalam network yang sama dengan card ed0 yang ada di mesin gateway. Misal ed0 di-beri
nomor IP [Link] dan ed1 [Link], maka workstation diberi nomor IP [Link] s/d
[Link] jika digunakan mask 16 atau [Link]. ed1 adalah interface yang memiliki IP address
valid
Setelah semuanya langkah-langkah di atas dijalankan dengan baik maka, applikasi Internet di client siap
dijalankan via NAT.
Untuk kasus lain misalnya sambungan ke Internet-nya menggunakan modem, maka mekanismenya sama
saja, tinggal diganti interface di gateway yang menghadap keluar dengan interface modem (tun0) dan jalankan
program ppp untuk men-dial ISP-nya. Khusus untuk dial-out, ppp sebenarnya memiliki mekanisme sendiri
untuk kasus ini yaitu dengan option -alias. Jadi jika kita menjalankan ppp dengan option -alias
maka kita tidak perlu menjalankan Natd, karena option ini menyediakan fasilitas yang sama dengan Natd
khusus untuk dial-out.
Natd hanyalah salah satu cara untuk menghemat persediaan IP address yang semakin menipis. Dengan
adanya fakta bahwa untuk bergabung ke Internet, host pencari informasi (Client) sebenarnya tidak perlu memiliki
IP address legal, maka IP address legal tersebut bisa dicadangkan untuk host-host penyedia informasi (Server).
Penelitian untuk terus memperbaiki performansi Internet ini masih terus dikembangkan. Sekarang ini juga
sedang dikembangkan model IP versi baru yaitu IP versi 6 (IPv6), yang bisa menampung lebih banyak lagi
komputer-komputer di Internet. Namun demikian untuk kondisi sekarang, Natd masih merupakan solusi
ampuh sebelum IPv6 diterapkan.
18
Jarot Muchtar
2108/P/0062
0HPEXDW1$7GHQJDQ0LNURWLN
Carainstalasi sangat mudah tinggal setting agar komputer bisa boot dari
CDROM. Kemudain masukkna CD MIKROTIK. Ketika komputer di booting CD
akan mulai bekerja booting awal system MIKROTIk, bisa dilihat di
gambar di bawah :
Apabila
proses booting awal berjalan dengan baik kemudian akan ditampilkan
menu instalasi MIKROTIK sepert berikut :
Pada menu
instalasi di tampilkan service apa saja yang ingin kita install.
Untuk lebih mudahnya kita pilih semua service yang di sediakan dengan
menekan tombol ‘a’. maka semua service akan terpilih
19
Jarot Muchtar
2108/P/0062
Apabila
kita menginstall baru tekan tombol ‘n’ atau apabila kita hanya
menambahkan service baru tekan tombol ‘y’ agar konfigurasi yang
sudah di buat tidak hilang.
Langkah
berikutnya akan disiapkan ruang harddisk yang akan di pakai oleh
MIKROTIK dengan memformatnya dan mengkopikan file-file yang
dibutuhkan
Setelah
proses pengkopian file selesai kemudian proses instalasi membutuhkan
reboot ulang. Apabila semua proses instalasi tidak mengalami error
setelah reboot ulang di layar akan muncul tampilan user login dan
password, seperti gambar di bawah :
Secara
default user yang dipakai adalah user admin dengan password
yang masih kosong. Setelah login tampilan awal akan seperti berikut :
Kita tidak akan membahas perintah command line, karena akan sangat rumit
dan sulit untuk menghafalkannya. Untuk mensetting Mikrotik ini kita
menggunakan tools lain yaitu Winbox. Tools winbox ini bisa
diambil secara free di website [Link]
20
Jarot Muchtar
2108/P/0062
Dengan
Winbox ini kita bisa mendeteksi System Mikrotik yang sudah di install
asalkan masih dalam satu network, yaitu dengan mendeteksi MAC address
dari ethernet yang terpasang di Mikrotik. Tampilan awal pertama kali
mengaktifkan winbox adalah seperti berikut :
Kita
tinggal pilih MAC address yang sudah terdeteksi dan klik tombol
Connect. Maka akan muncul tampilan seperti di bawah :
Langkah awal yang perlu dilakukan adalah memberi IP Address, melalui menu ip –>
addresses.
Kemudian akan masuk ke windows yang memunculkan IP address
21
Jarot Muchtar
2108/P/0062
22
Jarot Muchtar
2108/P/0062
Setelah
ip dan gateway terpasang tinggal pengetesan dengan ping gateway
apabila sudah ping reply berarti sampai bagian ini sudah benar,
tinggal membuat setting agar pc dari LAN lokal bisa terkonek.
Kita perlu membuat NAT dengan cara klik ip –> Firewall –> NAT ,
untuk menambah setting NAT tekan tombol +.
23
Jarot Muchtar
2108/P/0062
Kemudian bagian Src. Adress disini netwok LAN Local yang akan di
NAT-kan. Bagian Out. Interface diisi ethernet dengan ip
address yang berada di luar network LAN.
Kemudian tekan tombol OK . Maka setting NAT akan di tampilkan pada windows
Firewall.
Setelah setting NAT udah OK, maka dari LAN internal sudah bisa terkoneksi
dengan LAN lain melaui router ini.
Langkah
selanjutnya adalah pengaturan bandwidth. Menu untuk mengatur
bandwidth adalah pada menu Queues.
24
Jarot Muchtar
2108/P/0062
Simple Queues
Queue Tree
Sebelum membuat Queue Tree perlu terlebih dahulu kita membuat mangle
di menu Firewall. Yang perlu di buat ada dua macam : mark connection
dan mark packet.
25
Jarot Muchtar
2108/P/0062
26
Jarot Muchtar
2108/P/0062
Setelah Marck Connection dan Mark Packet dibuat kemudian kita mulai
membuat Queue Tree dengan terlabih dahulu menentukan Parent untuk
download dan parent untuk Upload. Pada parent ini bisa langsung di
setting besarnya bandwidth yang dialokasikan pada bagian Limit At
dan Max Limit
27
Jarot Muchtar
2108/P/0062
Setelah dibuat parent baru membuat child yang ada di bawah parent
tersebut
REFERENSI
1. [Cisco Press, 2004] Wendel Odom, "CCNA ICND Exam Certification Guide", Indianapolis,
USA.
'RXED6DOLP1HWZRUNLQJ81,;7KH&RPSOHWH5HIHUHQFHIRU81,;QHWZRUNV6$063XEOLVKLQJ
8QL[,QWHJUDWLRQWR:$1$SSOLHG&RPSXWHU,QWHUQHWZRUNLQJ
&15*,7%)UHH%6'+DQGERRN)UHH%6',QF
28