使用多个tsocks服务时如何指定转发端口?

使用多个tsocks服务时如何指定转发端口?

根据这个答案问题,我有/etc/tsocks.conf包含这些行:

path {
server = localhost
server_port = 1081
reaches = <ip-address-of-server-b>/32
}
path {
server = localhost
server_port = 1082
reaches = <ip-address-of-server-d>/32
}

我已经运行了这两个命令:

ssh -fND :1081 server-a
ssh -fND :1082 server-b

现在我想tsocks首先使用socks服务监听1081端口,然后使用另一个监听1082端口来执行页面的wget。如果我只有一项服务,我知道我可以通过以下命令来做到这一点:

tsocks wget http://www.google.com

既然我有不止一项tsocks服务,我该怎么做呢?我可以通过选项提供转发端口吗?我在 的手册页中找不到任何内容tsocks。我想要这样的东西:

tsocks --forwarding_port=1081 wget http://www.google.com
tsocks --forwarding_port=1082 wget http://www.google.com

答案1

为 tsocks 使用两个不同的配置文件怎么样?

根据这个联机帮助页,tsocks将从环境变量中指定的文件中读取其配置TSOCKS_CONF_FILE。所以你可以将你的tsocks.conf内容拆分为tsocks.1081.confandtsocks.1082.conf然后执行类似这样的操作(bash 语法):

$ TSOCKS_CONF_FILE=/path/to/tsocks.1081.conf tsocks wget http://www.google.com
$ TSOCKS_CONF_FILE=/path/to/tsocks.1082.conf tsocks wget http://www.google.com

笔记:联机帮助页有一个拼写错误,并将环境变量列为TSOCKS_CONFFILE- 缺少下划线。

相关内容