iptables中nat表
iptables中nat表可以實現(xiàn)SNAT, DNAT, 雙向NAT和兩次NAT.
一. 源地址NAT
1. 標(biāo)準(zhǔn)的SNAT
SNAT的目的是進行源地址轉(zhuǎn)換,應(yīng)用于POSTROUTING規(guī)則鏈.在路由決定之后應(yīng)用.SNAT與出站接口相關(guān),而不是入站接口. 語法如下:
iptables -t nat -A POSTROUTING -o <outgoing interface> -j SNAT --to-source <address>[-<address>][:port-port]
2. MASQUERADE源NAT
MASQUERADE沒有選項來指定在NAT設(shè)備上使用的特定源地址,使用的源地址就是出站好接口的地址.
iptables -t nat -A POSTROUTING -o <outgoing interface> -j MASQUERADE [--to-ports <port>[-port]]
二. 目的地址NAT
目的地址NAT有2種形式: DNAT和REDIRECT. REDIRECT是目的地址轉(zhuǎn)換的特殊形式,將數(shù)據(jù)包重定向到NAT設(shè)備的輸入或回環(huán)接口. 目的地址NAT應(yīng)用于nat表的PREROUTING和OUTPUT規(guī)則鏈,在做出路由決定前對目的地址進行修改.在PREROUTING中,DNAT和REDIRECT規(guī)則與用來接受通過本地路由轉(zhuǎn)發(fā)或送到主機的入站接口的數(shù)據(jù)包的入站接口有關(guān).在OUTPUT中,DNAT和REDIRECT規(guī)則用來處理來自NAT主機本身生成的出站數(shù)據(jù)包.
1. 標(biāo)準(zhǔn)目的地址NAT(DNAT)
iptables -t nat -A PREROUTING -i <incoming interface> -j DNAT --to-destination <address>[-<address>][:port-port] iptables -t nat -A OUTPUT -o <outgoing interface> -j DNAT --to-destination <address>[-<address>][:port-port]
目的地址用來替換數(shù)據(jù)包中的原始目的地址,多位本地服務(wù)器地址.
2. REDIRECT
iptables -t nat -A PREROUTING -i <incoming interface> -j REDIRECT [--to-ports <port>[-port]] iptables -t nat -A OUTPUT -o <outgoing interface> -j REDIRECT [--to-ports <port>[-port]]
REDIRECT重定向數(shù)據(jù)包到執(zhí)行REDIRECT操作的那臺主機.
【編輯推薦】