NAT服務器

NAT(網絡地址轉換)
1>先經過NAT table 的 PREROUTING鏈 //修改目的IP
2>經由路由判斷確定這個數據包是否要進入本機,若不進入主機則下一步
3>再經過 Filter table 的 FORWARD 鏈
4>通過NAT table 的 POSTROUTING鏈,最後傳送出去 //修改源IP

NAT服務器和路由器的區別:
1、基本上NAT服務器一定是路由器,不過NAT服務器會修改IP報頭數據,因此和普通的單純傳遞數據包的路由器不同。
2、一般作爲IP分享器的NAT服務器都是一邊爲public IP一邊爲private IP,而路由器兩邊爲private IP或兩邊爲public IP。

NAT腳本:

iptables -A INPUT -i $INIF -j ACCEPT
#$INIF指內網接口

echo "1" > /proc/sys/net/ipv4/ip_forward
#讓Linux具有路由功能

iptables -t net -A POSTROUTING -s $innet -o $EXTIF -j MASQUERADE
#$innet指私有網段
#$EXTIF指對外接口

SNAT:修改數據報文的源IP或源端口
DNAT:修改數據報文的目的IP或目的端口

靜態SNAT

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.100

動態SNAT

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.100-192.168.1.200

DNAT

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \
-j DNAT --to-destination 192.168.100.10:80
#將從eth0傳入的對tcp80端口的請求重新傳遞到192.168.100.10:80上

iptables -t nat -A PREROUTING -p tcp --dport 80 \
-j REDIRECT --to-ports 8080
#本機上的端口轉發
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章