一、环境与需求
实验环境
节点的网络设置如下:
节点 | 网卡 | IP | 网络 |
---|---|---|---|
Node1 | eth0 | 172.19.104.33 | 内网 |
Node1 | eth1 | 6.6.5.5 | 外网 |
Node2 | eth0 | 172.19.104.14 | 内网 |
需求
我们要实现的功能就是将Node1的8100端口映射到Node2的8000端口,也即外网访问http://6.6.5.5:8100即可访问到PC2上8000端口的WEB服务。
二、实现步骤
以下操作都在Node1上进行操作,部分修改操作可能需要root权限
1、 首先编辑/etc/sysctl.conf
配置文件的 net.ipv4.ip_forward = 1
默认是0,再执行sysctl -p
使其生效
或直接执行
2、 执行
注意IP、端口、网卡的配置
或直接修改位置文件
编辑/etc/sysconfig/iptables
添加以下内容
以下为参考文件,根据具体情况进行修改
3、重启iptables
或
三、测试
现在访问http://6.6.5.5:8100即可访问到Node2上8000端口的WEB服务。
iptables -t nat -A PREROUTING -d 192.168.30.68 -p tcp --dport 6880 -j DNAT --to-destination 192.168.30.64:80
iptables -t nat -A POSTROUTING -d 192.168.30.64 -p tcp --dport 80 -j SNAT --to 192.168.30.68
iptables -A FORWARD -o eth0 -d 192.168.30.64 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.30.64 -p tcp --sport 80 -j ACCEPT