Mam dwa różne interfejsy sieciowe, podłączone do 2 sieci. Jeden to eth0, a drugi to wlan0. Jak mogę powiedzieć oprogramowaniu, aby używało tylko określonego interfejsu?
Zasadniczo chcę, aby Firefox używał eth0, ponieważ jest to uniwersytecka sieć LAN i muszę przejść do stron intranetowych, druga to sieć Wi-Fi otwarta na Internet i chcę powiązać ją z Chrome.
Pracuję i muszę korzystać z intranetu. Więc eth0 jest moim wyborem, ale eth0 to intranet bez dostępu do Internetu (oczywiście). Ponieważ chcę mieć dostęp do Internetu, jestem podłączony do wlan0 (uniwersyteckie Wi-Fi dla studentów).
Problem polega na tym, że gdy czasami mam połączenie, przeglądarka szuka strony www.stackoverflow.com przy użyciu eth0. Chciałem więc przypisać przeglądarkę do korzystania tylko z określonego interfejsu.
źródło
Odpowiedzi:
Nie możesz powiązać oprogramowania klienckiego z określonymi interfejsami sieciowymi, ale możesz powiedzieć jądrze, że chcesz używać tylko jednego interfejsu sieciowego dla niektórych adresów IP, a drugiego dla wszystkich innych. Nazywa się to „routingiem” i można je skonfigurować za pomocą poleceń
/sbin/route
i/sbin/ip
.Jeśli poprawnie odczytam twoje pytanie, chcesz połączyć się z intranetowymi adresami IP za pomocą interfejsu
eth0
oraz z Internetem za pomocą interfejsuwlan0
.Jeśli uruchomisz polecenie
ip route list
, powinieneś zobaczyć wynik podobny do następującego (liczby będą różne, a także możesz mieć w nim więcej wierszy):Pierwsze dwie linie powiedzieć o sieciach podłączonych do interfejsów
eth0
orazwlan0
: ruch w sieci skierowanych do komputerów na tych sieci będą wysyłane bezpośrednio do nich za pośrednictwem odpowiedniego interfejsu.Ostatnia linia mówi ci, jaka jest „domyślna trasa”: jeśli twój komputer chce rozmawiać z komputerem w sieci, do której nie jest podłączony (np. Serwer stackoverflow.com), przekieruje ruch przez
eth0
, realizując przez host10.60.44.1
( nazywany „bramą domyślną”).Aby więc przekierować ruch internetowy
wlan0
, należy upewnić się, że ostatni wiersz w danychip route list
wyjściowych brzmi:gdzie
A.B.C.D
jest adres IP bramy w bezprzewodowej sieci LAN. Jeśli dane wyjściowe nie zawierają „dev wlan0”, możesz to zmienić za pomocą polecenia:Możesz znaleźć poprawne
A.B.C.D
dlawlan0
na dwa sposoby:Zajrzyj do katalogu
/var/lib/dhcp3/
: powinieneś znaleźć jakieśdhclient-...-wlan0.lease
pliki. Otwórz najnowszą i wyszukaj wiersz z ciągiem znakówoption router
: reszta wiersza podaje adres IPA.B.C.D
.Zapytaj lokalnych administratorów sieci. (Prawdopodobnie i tak najlepiej.)
Dzięki tej konfiguracji powinieneś być w stanie:
wlan0
eth0
, pod warunkiem, że znajduje się on w jednej sieci .Jeśli twój intranet obejmuje wiele sieci, musisz dla nich dodać trasy - i jest to zdecydowanie coś, co wymaga interakcji z administratorami sieci lokalnej. :-)
źródło
„ip netns” tworzy sieciowe przestrzenie nazw. Następnie możesz utworzyć wirtualne interfejsy (ip link add ... veth) i powiązać je z przestrzeniami nazw.
Przestrzenie nazw można skonfigurować na przykład na różne trasy (w ten sposób używając różnych interfejsów)
Następnie możesz uruchamiać polecenia w tej przestrzeni nazw, która będzie korzystać z utworzonej przestrzeni nazw .. „ip netns exec NAME cmd ...”
Źródło: http://manpages.ubuntu.com/manpages/saucy/en/man8/ip-netns.8.html
źródło