如何强制应用程序(如 Firefox)使用某个网络接口?

如何强制应用程序(如 Firefox)使用某个网络接口?

我的笔记本电脑上有两个接口:eth0 和 wlan0。

可能的用例:

  • eth0 允许我访问互联网,而 wlan0 目前连接到没有互联网连接的路由器。出于开发目的,我需要默认连接到 wlan0,但使用 eth0 进行浏览
  • eth0 和 wlan0 都连接到互联网。对于 torrent 应用程序,应使用 eth0 以提高速度,但为了笔记本电脑的便携性,SSH 应该通过 wlan0 进行连接
  • eth0 是有线连接,wlan0 是无线连接。敏感数据应该通过 eth0 传输,但其他流量也可以通过 wlan0。

有没有办法强制应用程序(如nc.traditionalfirefox)使用某个网络接口?example-wrapper eth0 program如果存在这样的程序,像这样的包装器也可以。如果它可以在 Firefox 中配置(在运行时),那就太好了。如果可能的话,我想避免使用 IPTables 解决方案。

答案1

您正在寻找的是 LS_PRELOAD 垫片,请参阅Daniel Lange 的博客文章以获得详细的解释和示例代码。

答案2

您可以使用更复杂的连接标记和路由策略方法。
如果您有一个用户运行一个软件和另一个软件,它将工作正常。
这样,您可以标记一个用户的连接并为其使用特定的路由表,而所有其他用户将使用默认路由表。
了解这一切的基本文档位于:http://www.lartc.org/lartc.html
您还可以在此处看到两个连接的示例:https://unix.stackexchange.com/questions/58635/iptables-set-mark-route-diferent-ports-through-different-interfaces
您可以使用“owner”iptables 模块,它将标记连接以允许路由策略。

答案3

这里是一个示例解决方案。它使用 SOCKS 服务器,在当前机器上设置以路由连接。每个应用程序都应配置为使用每个服务器。

答案4

您还可以使用 VMware 工作站机器共享不同的网络接口,我经常从一个接口下载,而将另一个接口留给我的 Netflix。

您确实需要在 VMware 上设置 ethX 和 wlanX,但一旦配置完成,您就可以下载或浏览了。

非常顺畅。您还可以使用防火墙绑定接口,效果也很好。

相关内容