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