CentOS下iptables的端口映射

一、环境与需求

实验环境

节点的网络设置如下:

节点 网卡 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 使其生效

或直接执行

echo 1 > /proc/sys/net/ipv4/ip_forward

2、 执行

iptables -t nat -A PREROUTING -d 172.19.104.33 -p tcp --dport 8100 -j DNAT --to-destination 172.19.104.14:8000
iptables -t nat -A POSTROUTING -d172.19.104.14 -p tcp --dport 8000 -j SNAT --to 172.19.104.33 
iptables -A FORWARD -o eth0 -d172.19.104.14 -p tcp --dport 8000 -j ACCEPT
iptables -A FORWARD -i eth0 -s 172.19.104.14 -p tcp --sport 8000 -j ACCEPT
iptables save 

注意IP、端口、网卡的配置

或直接修改位置文件

编辑/etc/sysconfig/iptables 添加以下内容

以下为参考文件,根据具体情况进行修改

...

-A PREROUTING -d 172.19.104.33 -p tcp -m tcp --dport 8100 -j DNAT --to-destination 172.19.104.14:8000
-A POSTROUTING -d 172.19.104.14 -p tcp -m tcp --dport 8000 -j SNAT --to-source 172.19.104.33

...

-A FORWARD -o eth0 -d 172.19.104.14 -p tcp --dport 8000 -j ACCEPT
-A FORWARD -i eth0 -s 172.19.104.14 -p tcp --dport 8000 -j ACCEPT

...

3、重启iptables

/etc/init.d/iptables restart  

service iptables restart

三、测试

现在访问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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值