Как приложение (например, 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
задан 12 February 2011 в 00:36

40 ответов

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

1
ответ дан 25 July 2018 в 22:30
  • 1
    Добро пожаловать в Ask Ubuntu! Хотя это теоретически может ответить на вопрос , было бы предпочтительно включить здесь основные части ответа и предоставить ссылку для справки. – Stormvirux 12 April 2014 в 20:09

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

1
ответ дан 25 July 2018 в 22:30
  • 1
    Маршрутизация политики работает для разных пользователей, но не для приложения, работающего под одним пользователем (как описано в OP). LD_PRELOAD похоже на путь (не для вредоносных программ / из соображений безопасности), возможно, кто-то может разработать пост Боба Лебинса? – Lekensteyn 18 September 2014 в 02:46

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

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

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

0
ответ дан 25 July 2018 в 22:30

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

0
ответ дан 25 July 2018 в 22:30
  • 1
    Это похоже на прокси-сервер HTTP, работает ли он с другими протоколами, например соединение между двумя экземплярами netcat? – Lekensteyn 21 March 2011 в 19:18

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

1
ответ дан 26 July 2018 в 22:02
  • 1
    Добро пожаловать в Ask Ubuntu! Хотя это теоретически может ответить на вопрос , было бы предпочтительно включить здесь основные части ответа и предоставить ссылку для справки. – Stormvirux 12 April 2014 в 20:09

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

1
ответ дан 26 July 2018 в 22:02
  • 1
    Маршрутизация политики работает для разных пользователей, но не для приложения, работающего под одним пользователем (как описано в OP). LD_PRELOAD похоже на путь (не для вредоносных программ / из соображений безопасности), возможно, кто-то может разработать пост Боба Лебинса? – Lekensteyn 18 September 2014 в 02:46

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

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

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

0
ответ дан 26 July 2018 в 22:02
  • 1
    Хотя он работает для этого конкретного приложения, он, к сожалению, не применим к другим приложениям вне VM, таким как Firefox. – Lekensteyn 12 September 2014 в 13:20

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

0
ответ дан 26 July 2018 в 22:02
  • 1
    Это похоже на прокси-сервер HTTP, работает ли он с другими протоколами, например соединение между двумя экземплярами netcat? – Lekensteyn 21 March 2011 в 19:18

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

1
ответ дан 31 July 2018 в 10:35
  • 1
    Добро пожаловать в Ask Ubuntu! Хотя это теоретически может ответить на вопрос , было бы предпочтительно включить здесь основные части ответа и предоставить ссылку для справки. – Stormvirux 12 April 2014 в 20:09

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

1
ответ дан 31 July 2018 в 10:35

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

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

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

0
ответ дан 31 July 2018 в 10:35
  • 1
    Хотя он работает для этого конкретного приложения, он, к сожалению, не применим к другим приложениям вне VM, таким как Firefox. – Lekensteyn 12 September 2014 в 13:20

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

0
ответ дан 31 July 2018 в 10:35
  • 1
    Это похоже на прокси-сервер HTTP, работает ли он с другими протоколами, например соединение между двумя экземплярами netcat? – Lekensteyn 21 March 2011 в 19:18

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

0
ответ дан 31 July 2018 в 11:39

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

1
ответ дан 31 July 2018 в 11:39

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

1
ответ дан 31 July 2018 в 11:39
  • 1
    Добро пожаловать в Ask Ubuntu! Хотя это теоретически может ответить на вопрос , было бы предпочтительно включить здесь основные части ответа и предоставить ссылку для справки. – Stormvirux 12 April 2014 в 20:09

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

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

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

0
ответ дан 31 July 2018 в 11:39
  • 1
    Хотя он работает для этого конкретного приложения, он, к сожалению, не применим к другим приложениям вне VM, таким как Firefox. – Lekensteyn 12 September 2014 в 13:20

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

0
ответ дан 2 August 2018 в 03:56

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

1
ответ дан 2 August 2018 в 03:56
  • 1
    Добро пожаловать в Ask Ubuntu! Хотя это теоретически может ответить на вопрос , было бы предпочтительно включить здесь основные части ответа и предоставить ссылку для справки. – Stormvirux 12 April 2014 в 20:09

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

1
ответ дан 2 August 2018 в 03:56
  • 1
    Маршрутизация политики работает для разных пользователей, но не для приложения, работающего под одним пользователем (как описано в OP). LD_PRELOAD похоже на путь (не для вредоносных программ / из соображений безопасности), возможно, кто-то может разработать пост Боба Лебинса? – Lekensteyn 18 September 2014 в 02:46

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

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

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

0
ответ дан 2 August 2018 в 03:56
  • 1
    Хотя он работает для этого конкретного приложения, он, к сожалению, не применим к другим приложениям вне VM, таким как Firefox. – Lekensteyn 12 September 2014 в 13:20

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

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

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

0
ответ дан 4 August 2018 в 19:59

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

0
ответ дан 4 August 2018 в 19:59

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

1
ответ дан 4 August 2018 в 19:59

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

1
ответ дан 4 August 2018 в 19:59

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

0
ответ дан 6 August 2018 в 04:01

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

1
ответ дан 6 August 2018 в 04:01

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

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

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

0
ответ дан 6 August 2018 в 04:01

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

1
ответ дан 6 August 2018 в 04:01

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

0
ответ дан 7 August 2018 в 22:00

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

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

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

0
ответ дан 7 August 2018 в 22:00

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

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