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

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

可能的用例:

  • eth0授予我Internet访问权限,wlan0当前连接到没有Internet连接的路由器。 出于开发目的,我需要默认连接到wlan0,但使用eth0进行冲浪
  • eth0和wlan0都连接到Internet。 对于torrent应用程序,eth0应该用于速度,但是为了笔记本的可移植性,SSH应该通过wlan0连接
  • eth0是有线连接,wlan0是无线连接。 敏感数据应该通过eth0传输,但其他流量也可以通过wlan0传输。

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

您正在寻找的是一个LS_PRELOAD垫片,请参阅Daniel Lange的博客文章 ,了解详细说明和示例代码。

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

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

您还可以使用VMware工作站计算机共享不同的网络接口,我可以从一个界面下载大量的网络接口,另一个接口则用于我的Netflix。

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

它很顺利。 您还可以使用防火墙绑定接口,这也很有效。