经常玩 vps主机的朋友 的肯定时不时都要使用端口转发这种技能目的是可以实现更快的速度。再中国的国内的朋友如果用 ovh 机房是很慢的,用windows的远程桌面估计会用到你吐血的。在这种情况下就会用其他的线路作为中转进行端口转发,屁如美西啊,香港啊,新加坡啊之类的。有的朋友想要一个日本 ip ,在local访问 linode, conoha 的日本的话都是绕都啊妈都不认识的,哪个速度慢到。。。你有语吗,肯定无语更加无意的。。,在这个时候如果有一台香港的 vps 做端口转发,那样就可以达到比较好的效果。今日mjj小同学就先介绍一个使用 Iptables 来进行端口转发教程。使用 iptables 好处是比较简单就手不用太多安装啊编译的东西,上手就可以搞。
这篇教程的出处: http://aixiaoxiao.cn/thread-239-1-1.html 我看写的已经很详细了,并且我自己验证可以用了,所以就直接转载了。。省点事。。
* 特别注明:本地服务器 IP 未必是公网 IP ,像阿里云就是内网 IP ,请用 ipconfig 确认下走流量的网卡 IP 是外网还是内网。
端口转发教程第一步:开启系统的转发功能
vi /etc/sysctl.conf
net.ipv4.ip_forward=0
to
net.ipv4.ip_forward=1
编辑后使用命令让配置马上生效
sysctl -p
端口转发教程第二步: 使用iptables进行端口转发
iptables -t nat -A PREROUTING -p tcp --dport [端口号] -j DNAT --to-destination [目标IP] iptables -t nat -A PREROUTING -p udp --dport [端口号] -j DNAT --to-destination [目标IP] iptables -t nat -A POSTROUTING -p tcp -d [目标IP] --dport [端口号] -j SNAT --to-source [本地服务器IP] iptables -t nat -A POSTROUTING -p udp -d [目标IP] --dport [端口号] -j SNAT --to-source [本地服务器IP]
第三步:重启 iptables 使配置生效
service iptables save service iptables restart
扩展需求
多端口转发修改方案: ( 将本地服务器的 50000~65535 转发至目标 IP 为 1.1.1.1 的 50000~65535 端口
-A PREROUTING -p tcp -m tcp --dport 50000:65535 -j DNAT --to-destination 1.1.1.1 -A PREROUTING -p udp -m udp --dport 50000:65535 -j DNAT --to-destination 1.1.1.1 -A POSTROUTING -d 1.1.1.1/32 -p tcp -m tcp --dport 50000:65535 -j SNAT --to-source [本地服务器IP] -A POSTROUTING -d 1.1.1.1/32 -p udp -m udp --dport 50000:65535 -j SNAT --to-source [本地服务器IP] |
非同端口号修改方案:(使用本地服务器的 60000 端口来转发目标 IP 为 1.1.1.1 的 50000 端口)
-A PREROUTING -p tcp -m tcp --dport 60000 -j DNAT --to-destination 1.1.1.1:50000 -A PREROUTING -p udp -m udp --dport 60000 -j DNAT --to-destination 1.1.1.1:50000 -A POSTROUTING -d 1.1.1.1/32 -p tcp -m tcp --dport 50000 -j SNAT --to-source [本地服务器IP] -A POSTROUTING -d 1.1.1.1/32 -p udp -m udp --dport 50000 -j SNAT --to-source [本地服务器IP]
|
3.2、开启端口转发(/etc/sysctl.conf)
3.3、配置端口转发
3.3、移除示例
3.4、端口查看
可以看到 iptables 端口转发的连接并不能用 netstat 查看,因为 NAPT 并不需要占用端口(为啥?),7777 端口仍然可以被其它程序使用。若需查看,可使用 netstat-nat 命令。