开发者社区> 问答> 正文

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原路返回?

展开
收起
a123456678 2016-06-28 11:46:02 3226 0
1 条回答
写回答
取消 提交回答
  • 题主,请你解释一下这段话:

    但是,看到情况却是,不管我访问的是哪个ip,得到的都是222.222.222.2主ip的返回结果。
    你的“访问”是什么意思?是连接到你服务器不同IP的ss服务,然后通过ss上网查询当前IP么?

    上面是我对你描述的猜测,

    对于你本机和SS服务器之间的连接,如果你连的是222.222.222.3,服务器是不可能用222.222.222.2返回数据的,返回了也会被直接丢包。

    所以如果我对你的描述猜对了的话,你要改的是你服务器的默认出口IP吧。
    SS是socks代理,你透过SS访问网页完全等同于你的服务器发起请求,所以默认只能从默认的网关出去。

    从单个程序来说,主动选择一个出口IP是可以的(比如wget的--bind-address),对于SS来说貌似需要改很多代码

    2019-07-17 19:48:08
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载