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鏈上進行的網絡