Closed rampageX closed 3 years ago
发现去掉 -R
参数,就正常了,是设计如此?
把这两行注释了就可以了,会有什么副作用?目前用起来暂时没感觉有问题。
case 'R':
g_options |= OPT_TCP_USE_REDIRECT;
//strcpy(g_bind_ipstr4, IP4STR_WILDCARD);
//strcpy(g_bind_ipstr6, IP6STR_WILDCARD);
是的,设计如此。
因为 ipt2socks 的一个主要目的是提供透明代理(配合 iptables 规则,如 ss-tproxy)给其他局域网主机使用,在使用 REDIRECT 时,若不监听 0.0.0.0,则局域网其它主机无法使用这个透明代理,所以做了这个处理。
在 ipt2socks 所在的 Linux 主机上设置好某些内核参数后,是可以仅监听 127.0.0.1 的。具体可以看 ss-tproxy 脚本。
如果要覆盖此行为,不必修改源代码,只需要把 -R
放在 -b
选项之前就行了(即 -R -b 127.0.0.1
)。
@zfl9 收到!谢谢!
运行环境:路由器,跑的 Tomato:
Linux netgear 2.6.36.4brcmarm #7 SMP PREEMPT Wed Aug 11 16:39:01 CEST 2021 armv7l GNU/Linux
版本:
ipt2socks v1.1.3
命令行:
ipt2socks -s 192.168.2.20 -p 7575 -l 8095 -4 -R
或者ipt2socks -s 192.168.2.20 -p 7575 -b 192.168.2.1 -l 8095 -4 -R
无论用不用
-b
指定监听地址,ipt2socks
总会监听在0.0.0.0
上: