1
ayanamist 2017-01-30 02:11:28 +08:00 via Android
默认就是这样的,哪个网卡了的流量就会从哪个网卡回去,否则用户收不到回包的。
|
2
ryd994 2017-01-30 02:25:16 +08:00 via Android
1.物理网卡和 interface 不一定对应,可以有多个 interface
2. 你的需求可以通过开两个 socks 服务器,并各自 bind 不同 IP 处理。而且 socks 服务器是 7 层,并不在乎哪个 IP 在哪个网卡,只要 IP 对就行。 |
3
hadoop OP @ayanamist 我问题可能没表述清楚。再具体点, socks 程序监听在 A 和 B 的 1080 端口,现在 client 端有个请求 curl http://ip.ipinfo.io (获取 ip ),从 B : 1080 进来,通过代理去访问。但是最后返回给 client 的 ip 不是 B 自己的,是 A 的
|
4
xfspace 2017-01-30 03:45:02 +08:00 via iPad
你的程序有问题?
|
5
shiji 2017-01-30 04:55:36 +08:00 via Android
|
6
lslqtz 2017-01-30 07:10:53 +08:00 via iPhone
@hadoop 从 B:1080 进来 通过 A 去访问 然后通过 B 返回...
我只想到 HTTP 代理可能可以实现。 |
7
jasontse 2017-01-30 07:42:07 +08:00 via Android
这事和哪个 IP 进来的没啥关系,你代理发出 tcp 请求 bind 是哪个就是哪个。
|
8
zaishanfeng 2017-01-30 09:15:42 +08:00 via Android
开 ss 时就绑定 ip 。 我指的是绑定网卡。方法自行 g
|
9
iRiven 2017-01-30 09:51:06 +08:00 via Android
负载均衡,在外面就要决定要用 A 或 B 吧,再来一个 C ,帮你做这个决定😂
|
10
gamexg 2017-01-30 10:26:28 +08:00 via Android
这个功能需要 socks5 代理支持,如果不支持的话需要开两个 socks5 ,自己配置策略路由来做。
|
11
ic3z 2017-01-30 11:24:47 +08:00 via Android
加路由
|
13
snnn 2017-01-30 12:04:23 +08:00 via Android
你为什么需要多 IP ?
|
14
zwzmzd 2017-01-30 12:15:34 +08:00 via Android
单机多接口建议看看这两篇文章
http://www.wlug.org.nz/SourceBasedRouting http://lartc.org/howto/lartc.rpdb.multiple-links.html 我之前的应用环境是多拨负载均衡,一个网卡上建立了多个 pppoe 链接对外服务 |
19
hadoop OP @zaishanfeng 单网卡,多 ip ,咋搞?
|
20
Orzzzz 2017-01-30 15:27:32 +08:00
一个网卡只能有一个默认路由,否则会乱套的,这是规定,也是没办法的事情。
|
22
hadoop OP @shiji 我也想到过用 ss 来做,但是我只需要一个 socks5 代理,后来找了 dante 这个 socks5 软件来实现了从哪个监听 ip 来,就从哪个 ip 出去的功能
|
23
msg7086 2017-01-31 01:44:07 +08:00
#18 @hadoop 入口 IP 和出口 IP 是两回事,完全无关。
假如你装了 10 块网卡,第 8 块网卡上连进来的请求,你程序做代理的时候照样会从默认 IP 出去。 要改变出口 IP ,需要在代理上绑定出口 IP 。 |
24
nomaka 2017-01-31 12:14:39 +08:00
这个路由好像没法做 你要先指两条默认路由 然后 iptables 做 rule
|
25
kuretru 2017-02-06 22:27:14 +08:00
当时看到这个问题的时候,就想到分别使用两个用户 userA 、 userB 运行 2 个 socks5 进程,最后根据用户指定源 IP 地址这个解决方案,但是不知如何实现,便没有回复。今天偶然看到 iptables 即可支持,-m owner --uid-owner userA ,即可捕捉到指定用户的流量,然后根据需要从 A 地址或 B 地址转发出去。
|
26
dawncold 2017-02-09 23:05:41 +08:00
连接建立的时候(src_host, src_port, dst_host, dst_port)就已经是确定的了,如果在 A 上建立了连接,你却用 B 返回,这根本就无法返回呢, B 在那个时候都没有根客户端建立起来连接。
你说的负载均衡到底指的是什么,希望有什么效果? |