使用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/可以访问。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值