@def title = "Set up port forward for Shadowsocks" slug: portforward-shadowsocks datepublished: 2015-08-20T13:35:00 dateupdated: 2018-12-29T02:29:47 tags: Tech Ideas excerpt: "How to forward single port connection to remote servers." –-
电信已经弄得我们无数人想吐了. 在这里给能用Google搜索到这篇文章的人写一下如何架设一台可以用来做类似vxTrans业务的转发服务器.
以下命令部分需要su权限 我自己用了一台运行Debian缩减版的Raspberry Pi 2, 所有Linux应该都是可以的. 打开配置文件vim /etc/sysctl.conf
删掉net.ipv4.ip_forward=1
前的#
使之可以转发ipv4的流量. 运行 sysctl -p /etc/sysctl.conf
使之生效
(如有必要请安装iptables)
假设有如下外网至这台服务器的网络拓补:
外网168.187.23.189
最外层路由器192.168.1.1
子路由器192.168.1.3
,192.168.1.4
子路由器192.168.1.3
下 网段为192.168.2.2-192.168.2.255
我们的服务器192.168.2.3
168.187.23.189:4444
=>
192.168.1.3:4444
=>
192.168.2.3:4444
#!/usr/bin/sh
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -i eth0 -A PREROUTING -p tcp –dport 4444 -j DNAT –to-destination x.x.x.x:8388 iptables -t nat -i eth0 -A PREROUTING -p udp –dport 4444 -j DNAT –to-destination x.x.x.x:8388 iptables -t nat -A POSTROUTING -p tcp -d x.x.x.x –dport 8388 -j SNAT –to-source 168.187.23.189 iptables -t nat -A POSTROUTING -p udp -d x.x.x.x –dport 8388 -j SNAT –to-source 168.187.23.189
运行这个脚本 sudo sh ss.sh