如何设置 ubuntu 使用代理(socks 5)来传输整个应用程序的流量?
我尝试了代理链,但它只适用于一个应用程序,而不是整个系统。
类似于 Windows 上的 Proxifier。
答案1
这真是个坏主意。您正在寻找的工具名为socksify
Dante 套件,是其一部分。
在某些系统上,可以使用 socksify 执行与运行程序相同的全局操作。这可能很有用,但请注意,某些程序可能无法在 socksified 环境中运行。例如,像 rpm 这样的程序依赖于干净的构建环境来获取其(库)依赖项(根据 Dag Wieers )。
除非您知道自己在做什么,否则不要尝试此操作,因为这是一个潜在的危险操作。建议的方法是,在启动要添加 SOCKS 支持的应用程序时手动指定 socksify。但是,如果您希望尝试对整个系统进行 socksify,可以采用以下两种方式之一(再次感谢 Dag Wieers ):
最常用的方法是设置
LD_PRELOAD
shell 启动文件中的值。这与手动使用程序的效果相同socksify
。对于 Bourne shell/bash,可以将以下行添加到相应的启动文件中,例如/etc/profile
、~/.profile
或~/.bashrc
。LD_PRELOAD="libdl.so libdsocks.so" export LD_PRELOAD
在 Linux 上,也可以将下面的行添加到文件中
/etc/ld.so.preload
,但同样,除非您了解自己在做什么,否则不要这样做。libdl.so libdsocks.so
当所有应用程序都已 socksification 时,有时可能需要关闭 socksification。这可以轻松实现(在 Bourne shell/bash 中),使用以下命令:
unset LD_PRELOAD