У меня два интерфейса: eth0 и wlan0 на ноутбуке.
Возможные варианты использования:
Есть ли способ заставить приложения (например, nc.traditional
или firefox
) использовать определенный сетевой интерфейс? Оболочка типа example-wrapper eth0 program
тоже подойдет, если такая программа существует. Было бы неплохо, если бы это можно было настроить в Firefox (во время выполнения). Я хотел бы избежать решений IPTables, если это возможно.
То, что вы ищете, это прокладка LS_PRELOAD, подробное объяснение и пример кода см. В записи блога Дэниела Ланге .
Вы можете использовать более сложный подход маркировки соединений и политики маршрутов.
Это будет хорошо работать, если у вас есть пользователь, который запускает одно программное обеспечение и пыльник.
Таким образом, вы можете пометить соединения одного пользователя и использовать для него специальную таблицу маршрутизации, в то время как все остальные будут использовать по умолчанию.
Основной документ для понимания всего этого находится по адресу: http://www.lartc.org/lartc.html
Также пример двух соединений вы можете увидеть здесь: https : //unix.stackexchange.com/questions/58635/iptables-set-mark-route-diferent-ports-through-different-interfaces
Вы можете использовать модуль iptables "owner", который будет пометьте соединения, чтобы разрешить политику маршрутизации.
Здесь - пример решения. Он использует сервер SOCKS, настроенный на текущем компьютере для маршрутизации соединений. Каждое приложение должно быть настроено на использование каждого сервера.
Вы также можете использовать компьютер с рабочей станцией VMware для совместного использования различных сетевых интерфейсов, которые я очень много делаю, чтобы загрузить с одного интерфейса и оставить другой для моего Netflix.
Вам нужно настроить ethX и wlanX на VMware, но как только вы настроите его, вы готовы к загрузке или просмотру.
Это довольно гладко. Вы также можете использовать межсетевой экран для соединения интерфейсов, который также прекрасно работает.