轉自:http://os.51cto.com/art/201103/249345.htm轉
自:http://www.linuxidc.com/Linux/2007-11/9269.htm
使用Ubuntu iptables 有許多地方能進行運作,比如:內網端口映射
1.系統環境
內網兩臺服務器:
A 172.16.119.128
B 172.16.119.129
希望將A機器的80端口映射到B機器的8013端口。
2.設置步驟
2.1./etc/sysctl.conf配置文件修改
刪除“# net.ipv4.ip_forward = 1”行前面的“#”。 默認該行被註釋掉的。
2.2.查看現有配置信息
iptables -L
如果顯示內容如下:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
表示無任何設置,可以繼續下一步操作。
否則執行:
iptalbes -F
iptalbes -X
iptalbes -Z
2.3.設置端口映射
分別執行:
iptables -t nat -A PREROUTING -d 172.16.119.128 -p tcp --dport 80 -j DNAT --to-destination 172.16.119.129:8013
iptables -t nat -A POSTROUTING -d 172.16.119.129 -p tcp --dport 8013 -j SNAT --to 172.16.119.128
iptables -A FORWARD -o eth0 -d 172.16.119.129 -p tcp --dport 8013 -j ACCEPT
iptables -A FORWARD -i eth0 -s 172.16.119.129 -p tcp --sport 8013 -j ACCEPT
2.4.驗證端口映射
此時,訪問http://172.16.119.128/abc.htm,應該能訪問到對應129服務器上端口爲8013網站的abc.htm頁面。
3.設置開機自動加載iptables的配置文件
3.1 保存配置
執行命令:
# iptables-save > /etc/init.d/iptables.up.rules
將當前配置保存再iptables.up.rules文件中,文件名可以自己決定。
3.2 修改網卡配置文件
在網卡IP配置文件/etc/network/interfaces末行加入(/etc/init.d/iptables.up.rules可改成自己定義的配置文件位置和名稱)
pre-up iptables-restore < /etc/init.d/iptables.up.rules
3.3 重啓服務器驗證
shutdown -r now
通過是正文的三大步介紹,我們清楚的知道了Ubuntu iptables 內網端口映射的組建情況!希望對你們有用!
發現好多文章對Linux配置端口映射的說明都不夠詳細,我在RedHat8.0上用iptables配置了端口映射,講述詳細的配置過程,供大家參考。
【實現功能】
PC A是
eth0 172.18.10.212 內網
eth1 219.239.xx.xx 外網
|
PC B是 172.18.10.205 內網
A的8080端口映射到B的80端口
【步驟】
1、 首先應該做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默認是0
這樣允許iptalbes FORWARD。
2、 在/etc/rc.d/init.d目錄下有iptables 文件,使用格式如下
Usage: ./iptables {start|stop|restart|condrestart|status|panic|save}
相當與service iptables {....}
把iptables 服務停止,清除以前的規則,存盤
到/etc/rc.d/init.d目錄下,運行
./iptables stop
iptalbes -F
iptalbes -X
iptalbes -Z
./iptables save