玩 vps 的经常要用到端口转发用以实现更快的速度。比如 ovh 机房的网络我这里访问非常慢,用远程桌面会吐血的类型。所以就会用其他的线路作为跳板,比如洛杉矶,香港之类的。再比如如果需要一个日本 ip ,但是本地访问 linode, conoha 的日本都绕路,又慢,这时如果用一个香港的 vps 做中转,就能达到比较稳定快速的效果。
今天就先介绍一个使用 Iptables 来进行中转的教程。使用 iptables 的好处就是不用额外装东西,上手就可以搞。
这篇教程的出处: http://aixiaoxiao.cn/thread-239-1-1.html 我看写的已经很详细了,并且我自己验证可以用了,所以就直接转载了。。省点事。。
* 特别注明:本地服务器 IP 未必是公网 IP ,像阿里云就是内网 IP ,请用 ipconfig 确认下走流量的网卡 IP 是外网还是内网。
第一步:开启系统的转发功能
1
|
vi
/
etc
/
sysctl
.conf
|
将 net.ipv4.ip_forward=0
修改成 net.ipv4.ip_forward=1
编辑后使用命令让配置马上生效
1
|
sysctl
-
p
|
第二步: iptables 的命令
1
2
3
4
|
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 使配置生效
1
2
|
service
iptables
save
service
iptables
restart
|
扩展需求
多端口转发修改方案: ( 将本地服务器的 50000~65535 转发至目标 IP 为 1.1.1.1 的 50000~65535 端口 )
1
2
3
4
|
-
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 端口)
1
2
3
4
|
-
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
]
|