目前我正在仔细研究 polipo 代理软件。我已经设法通过基本用户身份验证设置了一个简单的 socks5 代理。
只需要将监听接口从eth0改为ppp0即可。遗憾的是 polipo 文档没有提供有关此任务的任何详细信息。
操作系统是在 Hyper-V 中运行的 Debian 8。
可以通过调用参数或配置文件甚至 iptables 以某种方式完成此配置吗?
目前我正在仔细研究 polipo 代理软件。我已经设法通过基本用户身份验证设置了一个简单的 socks5 代理。
只需要将监听接口从eth0改为ppp0即可。遗憾的是 polipo 文档没有提供有关此任务的任何详细信息。
操作系统是在 Hyper-V 中运行的 Debian 8。
可以通过调用参数或配置文件甚至 iptables 以某种方式完成此配置吗?
注意:这并没有为问题提供有效的解决方案。我研究了类似的东西,但使用不同的代理软件解决了。也许这些信息可以帮助找到可行的解决方案。
我发现的一些可能的解决方案如下:
使用网络命名空间(unix stackexchange、超级用户、igalia blog)
阅读更多信息:info ip-netns
“配置 polipo 以监听每个接口,然后使用 iptables 阻止来自您不需要的接口的请求”(archlinux 论坛)
[unix stackexchange]: https://unix.stackexchange.com/questions/210982
[superuser]: https://superuser.com/questions/241178
在 functioncreate_listener
中,在 file 中io.c
,在第 751 行之后,添加如下内容:
struct ifreq ifr;
memset(&ifr, 0, sizeof(ifr));
strcpy(ifr.ifr_name, "ppp0");
rc = setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, &ifr, sizeof(ifr));
if(rc < 0) {
done = (*handler)(-errno, NULL, NULL);
assert(done);
return NULL;
}