您的位置:首页 > 运维架构 > Linux

Linux-系统管理-nat&实现跨网段跨运营商代理

2016-09-20 00:37 483 查看

通过防火墙nat表实现内外网的转发。扩展:通过两层转发实现跨网段、跨运营商代理等功能。

逻辑图:



实验环境:

client:外网ip:111.206.12.22

nat:

电信外网入口ip:180.149.157.167

电信内网出口ip:10.127.3.167

网通内网入口ip:10.127.132.24

网通外网出口ip:111.206.12.162

server:外网ip:119.167.157.154

实现效果:

电信client 去访问 电信外网入口的50011端口,经过nat转发最后数据包从网通外网出口发向 网通server外网的3733端口

数据包流向:

111.206.12.22 → 180.149.157.167:50011 → 10.127.3.167 → 10.127.132.24 → 111.206.12.162 → 119.167.157.154:3733


具体步骤:

step1:打开电信入口、网通出口 两台机器 的内核转发开关

修改配置文件

vim /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1     #0为关闭,1为打开

sysctl -p     #在线加载


查看打开状态

[root@BJ-132-10 sysconfig]# sysctl -a | grep ip_forward

net.ipv4.ip_forward = 1


step2:电信入口服务器上:

#设置防火墙nat表
#将访问 180.149.157.167 的 50000:60000 端口范围的包转给目标ip:10.127.132.24
-A PREROUTING -d 180.149.157.167 -p tcp -m tcp -- dport 50000:60000 -j DNAT --to-destination 10.127.132.24
#将要发往10.127.132.24 的包  由此 10.127.3.167ip发出
-A POSTROUTING -d 10.127.132.24 -p tcp -m tcp --dport 50000:60000 -j SNAT --to-source 10.127.3.167
############################
#设置filter表
-A INPUT -p tcp -m tcp -dport 50000:60000 -j ACCEPT
-A OUTPUT -d 10.127.132.24 -p tcp -m tcp -j ACCEPT


加载防火墙,使之生效

iptables-restore < iptables


step3:网通出口服务器上:

#设置防火墙nat表
#将访问10.127.132.24:50011端口的包转发到 111.206.12.162:3733
-A PREROUTING -d 10.127.132.24 -p tcp -m tcp --dport 50011 -j DNAT --to-destination 119.167.157.154:3733
#将 发出的tcp包 都由 111.206.12.162 发出
-A POSTROUTING -p tcp -m tcp --dport 3700:3800 -j SNAT --to-source 111.206.12.162
############################
#设置filter
-A INPUT -s 10.127.3.167/32 -p tcp -m tcp -j ACCEPT
-A OUTPUT -d 119.167.0.0/16 -p tcp -m tcp -j ACCPET


加载防火墙,使之生效

iptables-restore < iptables


至此nat就实现了,可以测试一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息