玩 vps 的经常要用到端口转发用以实现更快的速度。比如 ovh 机房的网络我这里访问非常慢,用远程桌面会吐血的类型。所以就会用其他的线路作为跳板,比如洛杉矶,香港之类的。再比如如果需要一个日本 ip ,但是本地访问 linode , conoha 的日本都绕路,又慢,这时如果用一个香港的 vps 做中转,就能达到比较稳定快速的效果。
今天就先介绍一个使用 Iptables 来进行中转的教程。使用 iptables 的好处就是不用额外装东西,上手就可以搞。
这篇教程的出处: http://aixiaoxiao.cn/thread-239-1-1.html 我看写的已经很详细了,并且我自己验证可以用了,所以就直接转载了。。省点事。。
* 特别注明:本地服务器 IP 未必是公网 IP ,像阿里云就是内网 IP ,请用 ipconfig 确认下走流量的网卡 IP 是外网还是内网。
第一步:开启系统的转发功能
vi /etc/sysctl.conf
将 net.ipv4.ip_forward=0
修改成 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]
-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 PREROUTING -p tcp -m tcp –dport 50000:65535 -j DNAT –to-destination 2.2.2.2
-A PREROUTING -p udp -m udp –dport 50000:65535 -j DNAT –to-destination 2.2.2.2
端口相同的话
可以这样一台服务器中转多个ss吗?
我阿里云国际版上海服务器中转成功了,上面对centos7的系统有错误的地方
centos6.5 添加了楼主给的nat规则,但是防火墙规则怎么设置呢?外部的网络根本连接不到中转服务器,中转服务器扫端口只开了22
如何开启中转服务器的端口池呢?
博主 pptp怎么做跳板呢
Debian配置失败!求指点!谢谢!
iptables-restore < /etc/iptables.rules iptables-restore v1.4.14: Line 54 seems to have a -t table option. Error occurred at line: 54 Try `iptables-restore -h' or 'iptables-restore –help' for more information.
我也没成功。vps是在机房nat里(虽然是外网ip)。
然后实现ss 出去把80的数据都转发到squid的3128上。(ss和squid都是在一台vps上)
你们是从国内一台转发到国外另一台,有点不一样。
iptables转发还是很稳定的,要设置forward chain才对。
来,我也顺带求个友链
你的站没友情链接??换了友链不
暂时还没规划友链位置
32是什么意思
请问PPTP可以通过这种方式转发吗?
你可以试下,理论上只要是tcp和udp的包都可以
PPTP是GRE隧道。
哦。对
ss中转是不是用这个就行了,Blog主
是