Total Pageviews

Sunday, 3 April 2016

使用iptables进行端口映射

远程一台法国的服务器结果一直连接不上,ping测试丢包严重,手上正好有一台日本的服务器,本地ping测试不丢包,延迟小于70,脑中突然冒出一个想法,为何不用日本的服务器中继一下法国的服务器,需要做的就是映射。
1、开启内核的数据转发
首先修改/etc/sysctl.conf 配置文件中的 net.ipv4.ip_forward 参数为1,默认为0,改为1后数据才能正常转发。
2、配置iptables规则
假设日本服务器的IP为1.1.1.1,法国服务器的IP为2.2.2.2,当我们访问1.1.1.1的3389端口映射到2.2.2.2的3389端口。
iptables -t nat -A PREROUTING --dst 1.1.1.1 -p tcp --dport 3389 -j DNAT --to-destination 2.2.2.2:3389
iptables -t nat -A POSTROUTING --dst 2.2.2.2 -p tcp --dport 3389 -j SNAT --to-source 1.1.1.1
这样访问1.1.1.1的3389端口实际上访问的是2.2.2.2的3389端口.