如果一台机器有多个IP,比如A和B。那么shadowsocks客户端可以连A,也可以连B。但是出口IP确是A,这样就亏了,达不到多IP的效果。
这个问题应该可以通过路由表来改,但我改来改去还是不对,还有几次把机器改丢了,好在内网还有其他机器可以连,总算连回来,没丢。
参考了网上一篇文章的方案,解决了问题。http://www.6zou.net/tech/shadowsocks-multiple-ips-outbound-with-iptables-how-to.html
基本就是创建两个用户,然后以这个账户来启动shadowsocks服务,然后在iptables nat这两个用户到地址A和地址B。
useradd pennyliang
useradd pennyliang2
sudo -u pennyliang bash -c 'nohup /usr/local/bin/ss-server -s B -p 8080 -k password -m aes-256-cfb & '
sudo -u pennyliang2 bash -c 'nohup /usr/local/bin/ss-server -s A -p 8080 -k password -m aes-256-cfb & '
iptables -t nat -A POSTROUTING -m owner --uid-owner pennyliang2 -j SNAT --to-source A
iptables -t nat -A POSTROUTING -m owner --uid-owner pennyliang2 -j SNAT --to-source B
这样搞shadowsocks是可以,但ssh还是不行,总不能三个ip启动三个sshd?
由 udpwork.com 聚合
|
评论: 0
|
要! 要! 即刻! Now!