@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." –-
Iptables 搭建 Shadowsocks 跳板
电信已经弄得我们无数人想吐了. 在这里给能用Google搜索到这篇文章的人写一下如何架设一台可以用来做类似vxTrans业务的转发服务器.
Get a Linux Prepared
以下命令部分需要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.3168.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