Linux(ubuntu)如何用iptables實現埠對映
阿新 • • 發佈:2019-01-06
首先,必須開啟linux的資料轉發功能,具體開啟步驟如下:
1 vi /etc/sysctl.conf
2 將net.ipv4.ip_forward=0更改為net.ipv4.ip_forward=1 ,並取消掉前面的注視符“#”
3 sysctl -p(這條命令是使資料轉發功能生效)
現在就可以更改iptables了,使之實現nat對映功能:
例如:你要將外網訪問本地IP(192.168.75.5)的80埠轉換為訪問192.168.75.3的8000埠,你可以用如下命令:
(1)iptables -t nat -A PREROUTING -d 192.168.75.5 -p tcp --dport 80-j DNAT --to-destination 192.168.75.3:8000 (2)iptables -t nat -A POSTROUTING -d 192.168.75.3 -p tcp --dport 8000 -j SNAT 192.168.75.5 (我執行這句時有錯誤!!沒有用到該部分) 我執行的語句只有:sudo iptables -t nat -A PREROUTING -d *.*.*.* -p tcp --dport 80 -j DNAT --to-destination *.*.*.*:9000 因為,我是要將80埠轉發到9000埠,因為80埠被電信封掉了,外部無法訪問,因此就使用9000埠。這樣通過域名就可以直接訪問內部9000埠提供的WEB服務了。
可以使用命令:iptables -t nat --list檢查nat列表資訊:
結果如下圖所示
Nat列表資訊刪除:
iptables -t nat -D PREROUTING 1 //序號從1 開始,後邊以此+1.