使用iptables實現端口轉發

使用iptables實現端口轉發

環境及目標

  • 環境
    機器manager1:192.168.0.41
    機器manager2:192.168.0.42
    web項目部署在manager1上,端口爲8080。
  • 目標
    將192.168.0.42的80端口轉發到192.168.0.41的8080端口,即訪問http://192.168.0.42可以訪問到http://192.168.0.41:8080上的web項目。

使用iptables實現

命令(兩臺機器一樣):

// 開放本機8080端口,確保本機能8080能被訪問
iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
// 設置轉發規則
iptables -t nat -A PREROUTING -d 192.168.0.42 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.41:8080 
iptables -t nat -A POSTROUTING -d 192.168.0.41 -p tcp --dport 8080 -j SNAT --to-source 192.168.0.42

// 保存iptables規則
service iptables save
// 修改轉發規則,該文件內容爲0,表示禁止數據包轉發,1表示允許,將其修改爲1
echo 1 > /proc/sys/net/ipv4/ip_forward
// 重啓
service iptables restart

在192.168.0.41上執行:

[root@manager ~]# iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
[root@manager ~]# iptables -t nat -A PREROUTING -d 192.168.0.42 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.41:8080 
[root@manager ~]# iptables -t nat -A POSTROUTING -d 192.168.0.41 -p tcp --dport 8080 -j SNAT --to-source 192.168.0.42
[root@manager ~]# service iptables save
iptables:將防火牆規則保存到 /etc/sysconfig/iptables:     [確定]
[root@manager ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@manager ~]# service iptables restart
iptables:將鏈設置爲政策 ACCEPT:filter nat                [確定]
iptables:清除防火牆規則:                                 [確定]
iptables:正在卸載模塊:                                   [確定]
iptables:應用防火牆規則:                                 [確定]
[root@manager ~]#

測試http://192.168.0.41:8080/可以訪問。

在192.168.0.42上執行:

[root@node1~]# iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
[root@node1~]# iptables -t nat -A PREROUTING -d 192.168.0.42 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.41:8080 
[root@node1~]# iptables -t nat -A POSTROUTING -d 192.168.0.41 -p tcp --dport 8080 -j SNAT --to-source 192.168.0.42
[root@node1~]# service iptables save
iptables:將防火牆規則保存到 /etc/sysconfig/iptables:     [確定]
[root@node1~]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@node1~]# service iptables restart
iptables:將鏈設置爲政策 ACCEPT:filter nat                [確定]
iptables:清除防火牆規則:                                 [確定]
iptables:正在卸載模塊:                                   [確定]
iptables:應用防火牆規則:                                 [確定]
[root@node1~]#

測試http://192.168.0.42:8080/可以訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章