ss多ip怎样让数据按指定ip出口并且原路返回?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

ss多ip怎样让数据按指定ip出口并且原路返回?

a123456678 2016-06-28 11:46:02 2296

我的一个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原路返回?

Linux
分享到
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:48:08

    题主,请你解释一下这段话:

    但是,看到情况却是,不管我访问的是哪个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来说貌似需要改很多代码

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程