【Linux面試真題】- 什么是NAT,常見分為那幾種,DNAT與SNAT有什么不同,應用事例有那些?
【Linux面試真題】- 什么是NAT,常見分為那幾種,DNAT與SNAT有什么不同,應用事例有那些?
SNAT,DNAT,MASQUERADE都是NAT。
MASQUERADE是SNAT的一個特例。
SNAT是指在數據包從網卡發送出去的時候,把數據包中的源地址部分替換為指定的IP,這樣,接收方就認為數據包的來源是被替換的那個IP的主機。
MASQUERADE是用發送數據的網卡上的IP來替換源IP,因此,對于那些IP不固定的場合,比如撥號網絡或者通過dhcp分配IP的情況下,就得用MASQUERADE。
DNAT,就是指數據包從網卡發送出去的時候,修改數據包中的目的IP,表現為如果你想訪問A,可是因為網關做了DNAT,把所有訪問A的數據包的目的IP全部修改為B,那么,你實際上訪問的是B
因為,路由是按照目的地址來選擇的,因此,DNAT是在PREROUTING鏈上來進行的,而SNAT是在數據包發送出去的時候才進行,因此是在POSTROUTING鏈上進行的。