1. 程式人生 > >Linux(ubuntu)如何用iptables實現埠對映

Linux(ubuntu)如何用iptables實現埠對映

首先,必須開啟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:80002)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.