Mam dwa interfejsy: eth0 i wlan0 na notebooku.
Możliwe przypadki użycia:
- eth0 zapewnia mi dostęp do Internetu, a wlan0 jest obecnie podłączony do routera, który nie ma połączenia z Internetem. Do celów programistycznych muszę domyślnie połączyć się z wlan0, ale do surfowania używam eth0
- Zarówno eth0, jak i wlan0 są połączone z Internetem. W przypadku aplikacji torrentowej należy użyć prędkości eth0, ale dla przenośności notebooka SSH powinien mieć połączenie przez wlan0
- eth0 to połączenie przewodowe, wlan0 to połączenie bezprzewodowe. Rozsądne dane powinny być przesyłane przez eth0, ale inny ruch może również przekraczać wlan0.
Czy istnieje sposób na zmuszenie aplikacji (takich jak nc.traditional
lub firefox
) do korzystania z określonego interfejsu sieciowego? Podobnie jak opakowanie example-wrapper eth0 program
jest w porządku, jeśli taki program istnieje. Byłoby miło, gdyby można go było skonfigurować w przeglądarce Firefox (w czasie wykonywania). Jeśli to możliwe, chciałbym unikać rozwiązań IPTables.
networking
firefox
Lekensteyn
źródło
źródło
Odpowiedzi:
To, czego szukasz, to podkładka LS_PRELOAD, zobacz wpis na blogu Daniela Lange, aby uzyskać szczegółowe wyjaśnienie i przykładowy kod.
źródło
Możesz zastosować bardziej złożone podejście do oznaczania połączeń i zasad tras.
Będzie działać dobrze, jeśli masz użytkownika, który uruchamia jedno oprogramowanie i inne.
W ten sposób możesz oznaczyć połączenia jednego użytkownika i użyć dla niego określonej tabeli routingu, podczas gdy wszyscy inni będą używać domyślnej.
Podstawowym dokumentem do zrozumienia tego wszystkiego jest: http://www.lartc.org/lartc.html
Również przykład dwóch połączeń można zobaczyć tutaj: /unix/58635/iptables- set-mark-route-different-port-through-different-interfaces
Możesz użyć modułu iptables "właściciel", który zaznaczy połączenia, aby umożliwić politykę routingu.
źródło
LD_PRELOAD
wydaje się właściwą drogą (nie w przypadku złośliwych programów / ze względów bezpieczeństwa), może ktoś mógłby opracować post Boba Lebinsa?Oto przykładowe rozwiązanie. Używa serwera SOCKS, skonfigurowanego na bieżącej maszynie do trasowania stożków. Każda aplikacja powinna być skonfigurowana do korzystania z każdego serwera.
źródło
Możesz także użyć maszyny stacji roboczej VMware do udostępniania różnych interfejsów sieciowych, które często robię, aby pobrać z jednego interfejsu i pozostawić drugiemu dla mojej Netflix.
Musisz skonfigurować zarówno ethX, jak i wlanX na VMware, ale kiedy już skonfigurujesz, jesteś gotowy do pobrania lub przeglądania.
Jest całkiem gładki. Możesz także użyć zapory ogniowej do łączenia interfejsów, co również działa świetnie.
źródło