Как можно заставить приложение (например, Firefox) использовать определенный сетевой интерфейс?

У меня два интерфейса: eth0 и wlan0 на ноутбуке.

Возможные варианты использования:

  • eth0 предоставляет мне доступ в Интернет, а wlan0 в настоящее время подключен к маршрутизатору, который не имеет подключения к Интернету. В целях разработки мне нужно подключиться к wlan0 по умолчанию, но использовать eth0 для серфинга
  • eth0 и wlan0 оба подключены к Интернету. Для торрент-приложения eth0 следует использовать для скорости, но для переносимости ноутбука SSH должен иметь соединение через wlan0
  • eth0 - это проводное соединение, wlan0 - беспроводное. Значимые данные должны передаваться через eth0, но другой трафик также может передаваться через wlan0.

Есть ли способ заставить приложения (например, nc.traditional или firefox) использовать определенный сетевой интерфейс? Оболочка типа example-wrapper eth0 program тоже подойдет, если такая программа существует. Было бы неплохо, если бы это можно было настроить в Firefox (во время выполнения). Я хотел бы избежать решений IPTables, если это возможно.

20
задан 11 February 2011 в 23:36

4 ответа

То, что вы ищете, это прокладка LS_PRELOAD, подробное объяснение и пример кода см. В записи блога Дэниела Ланге .

0
ответ дан 11 February 2011 в 23:36

Вы можете использовать более сложный подход маркировки соединений и политики маршрутов.
Это будет хорошо работать, если у вас есть пользователь, который запускает одно программное обеспечение и пыльник.
Таким образом, вы можете пометить соединения одного пользователя и использовать для него специальную таблицу маршрутизации, в то время как все остальные будут использовать по умолчанию.
Основной документ для понимания всего этого находится по адресу: http://www.lartc.org/lartc.html
Также пример двух соединений вы можете увидеть здесь: https : //unix.stackexchange.com/questions/58635/iptables-set-mark-route-diferent-ports-through-different-interfaces
Вы можете использовать модуль iptables "owner", который будет пометьте соединения, чтобы разрешить политику маршрутизации.

0
ответ дан 11 February 2011 в 23:36

Здесь - пример решения. Он использует сервер SOCKS, настроенный на текущем компьютере для маршрутизации соединений. Каждое приложение должно быть настроено на использование каждого сервера.

0
ответ дан 11 February 2011 в 23:36

Вы также можете использовать компьютер с рабочей станцией VMware для совместного использования различных сетевых интерфейсов, которые я очень много делаю, чтобы загрузить с одного интерфейса и оставить другой для моего Netflix.

Вам нужно настроить ethX и wlanX на VMware, но как только вы настроите его, вы готовы к загрузке или просмотру.

Это довольно гладко. Вы также можете использовать межсетевой экран для соединения интерфейсов, который также прекрасно работает.

0
ответ дан 11 February 2011 в 23:36

Другие вопросы по тегам:

Похожие вопросы: