SNAT vs DNAT
SNAT (Source NAT) merupakan terjemahan private ip kepada NAT ip (routeable ip) selepas meninggalkan local network (inside) menghala ke sebelah satu lagi (outside). Proses ini berlaku selepas keputusan routing diambil.
SNAT digunakan ketika senario trafik keluar (outbound/outgoing).
DNAT (Destination NAT) merupakan ‘translation’ NAT ip (routable ip) dari sebelah satu lagi (outside) kepada private ip apabila memasuki local network (inside).
DNAT digunakan ketika senario trafik masuk (inbound/ingoing).
Penulis bersetuju DNAT juga boleh dikenali sebagai Port Forwarding dan Virtual IP.
Mengelak kekeliruan mengenai port forwarding , DNAT membuat ‘forwarding’ semua ip dan port sekali (port forwarding hanya ‘forwarding’ port).
DNAT = Port Forwarding = Virtual IP
Dimana kita akan menggunakan SNAT dan DNAT ?
Berdasarkan pengalaman penulis , penggunaan SNAT dan DNAT amatlah popular terutamanya untuk rangkaian extranet ataupun business to business.
Terminologi NAT Cisco (Inside , Outside , Local dan Global)
Inside local | Membuat terjemahan source IP untuk packet dari inside ke outside network |
Inside global | Membuat terjemahan destination IP untuk packet dari outside ke inside network |
Outside local | Membuat terjemahan source IP untuk packet dari outside ke inside network |
Outside global | Membuat terjemahan destination IP untuk packet dari inside ke outside network |
https://www.cisco.com/c/en/us/support/docs/ip/network-address-translation-nat/13770-1.html
Sebagai contoh , host di dalam local network Inside (10.10.10.10) ingin berkomunikasi dengan host di dalam local network outside (172.24.100.100).
Host (local network inside) akan memulakan / initiate perhubungan.
R1 | R2 |
ip nat inside source static 10.10.10.10 192.100.100.2 ip nat outside source static 192.100.200.2 172.24.100.100 | ip nat inside source static 172.24.100.100 192.100.200.2 ip nat outside source static 192.100.100.2 10.10.10.10 |
INSIDE | OUTSIDE |
SNAT : 10.10.10.10 → 192.168.100.2 DNAT : 192.168.200.2 → 172.24.100.100 | SNAT : 172.24.100.100 → 192.100.200.2 DNAT : 192.100.100.2 → 10.10.10.10 |
Inside local | 10.10.10.10 |
Inside global | 192.100.100.2 |
Outside local | 172.24.100.100 |
Outside global | 192.168.200.2 |
Test ping dari inside host (10.10.10.10) ke outside host (172.24.100.100).
Router R1 :
R1#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 192.100.100.2:25987 10.10.10.10:25987 172.24.100.100:25987 192.100.200.2:25987
icmp 192.100.100.2:26499 10.10.10.10:26499 172.24.100.100:26499 192.100.200.2:26499
icmp 192.100.100.2:27011 10.10.10.10:27011 172.24.100.100:27011 192.100.200.2:27011
icmp 192.100.100.2:27267 10.10.10.10:27267 172.24.100.100:27267 192.100.200.2:27267
icmp 192.100.100.2:27523 10.10.10.10:27523 172.24.100.100:27523 192.100.200.2:27523
R1#debug ip nat
*Feb 3 11:59:28.740: NAT*: s=10.10.10.10->192.100.100.2, d=172.24.100.100 [33466]
*Feb 3 11:59:28.740: NAT*: s=192.100.100.2, d=172.24.100.100->192.100.200.2 [33466]
Router R2 :
R2#sh ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 192.100.200.2:34182 172.24.100.100:34182 10.10.10.10:34182 192.100.100.2:34182
icmp 192.100.200.2:34694 172.24.100.100:34694 10.10.10.10:34694 192.100.100.2:34694
icmp 192.100.200.2:35206 172.24.100.100:35206 10.10.10.10:35206 192.100.100.2:35206
icmp 192.100.200.2:35462 172.24.100.100:35462 10.10.10.10:35462 192.100.100.2:35462
icmp 192.100.200.2:35718 172.24.100.100:35718 10.10.10.10:35718 192.100.100.2:35