ss多ip怎样让数据按指定ip出口并且原路返回?
我的一个linux机器有10个ip,ip分别是:
222.222.222.2(主ip)
222.222.222.3
...
222.222.222.10
我在上面跑了ss服务,目的是访问任意一个都可以。
现在的情况却是,不管我访问的是哪个ip,用www.ip138.com查看的ip都是222.222.222.2这个主ip的返回结果。
分析一下原因(谢楼下两位指点),由于ss是socks服务,不管客户端访问的哪个ip过来,服务器在对外访问的时候,走的都是缺省路由,也就会用222.222.222.2这个ip。
所以,虽然ss客户端与服务器之间连接用任意ip都可以,但是服务器去访问www.ip138.com时都会用222.222.222.2这个ip。
怎样才可以改成,我访问某个ip,那么数据就从这个ip向外访问,并且按这个ip原路返回?
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
自答一下吧,ssr在16年的时候由瓦酱解决了,3.x后不管你访问那个ip,默认就是原路返回。
为避免歧义,关贴。
题主,请你解释一下这段话:
你的“访问”是什么意思?是连接到你服务器不同IP的ss服务,然后通过ss上网查询当前IP么?
上面是我对你描述的猜测,
对于你本机和SS服务器之间的连接,如果你连的是222.222.222.3,服务器是不可能用222.222.222.2返回数据的,返回了也会被直接丢包。
所以如果我对你的描述猜对了的话,你要改的是你服务器的默认出口IP吧。
SS是socks代理,你透过SS访问网页完全等同于你的服务器发起请求,所以默认只能从默认的网关出去。
从单个程序来说,主动选择一个出口IP是可以的(比如wget的--bind-address),对于SS来说貌似需要改很多代码
这个问题很难搞啊,因为ss是用户态的,走的系统路由,系统说走哪就走哪。
办法也不是没有,就是用iptables做。难度有点高,我没成功过,就不瞎贴了。
你好 楼主 解决了吗