iptables实现流量中转

为什么: 因为有时直连就是很慢, 中转就是很快, 天朝的网络状况错综复杂
用处: 你有多个vps的时候, 可以互相中继, 突破某些网站的ip地域限制

其实也就是一个非本机的端口转发而已, 仅此而已

但这是最最简单的方案, 比起用什么haproxy, socat都要简单, 几条命令搞定

其实这还有另一个用处, 将其它端口的流量转发到同一个ss端口, 这样就不用开启多个ss实例了

不讲iptables原理

目标: 将发往45.63.110.110:80的请求通过47.90.123.123:3306中转

sudo iptables -t nat -A PREROUTING -d 47.90.123.123 -p tcp --dport 3306 -j DNAT --to-destination 45.63.110.110:80

添加nat表规则一条, 将请求中转到47.90.123.123
这是去程

回程的话, 将源ip改为当前机器的47.90.123.123

sudo iptables -t nat -A POSTROUTING -d 45.63.110.110 -p tcp --dport 80 -j SNAT --to-source 47.90.123.123

或者用MASQUERADE也行

查看规则, 使用-t指定nat表, 否则默认显示filter

sudo iptables -t nat -nvL --line-numbers

但这只是保存在内存中了, 开机就没了, 要开机自启动的话, 以ubuntu为例, 丢一发实测可用的官方文档:
http://wiki.ubuntu.org.cn/Ipt...

其实这样还是有隐患的, 不知看的同学发现没有

你可能感兴趣的:(linux)