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

来源:互联网 发布:我想学习编程 编辑:程序博客网 时间:2024/06/05 22:31

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

逻辑图:

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 forwardingnet.ipv4.ip_forward = 1     #0为关闭,1为打开sysctl -p     #在线加载

查看打开状态

[root@BJ-132-10 sysconfig]# sysctl -a | grep ip_forwardnet.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就实现了,可以测试一下

0 0