Zakładając, że pracujesz z Linuksem (Raspian, Debian itp.):
Zadajesz dwa różne pytania. Najpierw odpowiem na pytanie tytułowe:
Zmusz Raspberry do uzyskania dostępu do Internetu z określonej sieci
Zamierzam skupić się na twoim słowie „sieć” (w przeciwieństwie do „interfejsu”) i odpowiedzieć na to w czystym IP:
Jeśli masz wiele połączeń, które mogłyby zapewnić dostęp do Internetu, możesz kontrolować, które będą używane za pomocą tabeli tras.
Aby wyświetlić tabelę routingu, której zwykle używam netstat -rn
( -r
służy do „Pokaż routing”, -n
służy do „pokaż mi numery, nie próbuj wyszukiwać DNS, które mogą się zawiesić, jeśli mój internet nie jest poprawnie skonfigurowany”). Naprawdę prosty przykład wyglądałby tak:
pi@homeServer ~ $ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.9.1 0.0.0.0 UG 0 0 0 eth0
192.168.9.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.20.10.0 0.0.0.0 255.255.255.240 U 0 0 0 wlan0
pi@homeServer ~ $
Linia w tym wyjściu, która pokazuje, w którą stronę pójdą pakiety IP, to linia z przeznaczeniem 0.0.0.0
i maską genową 0.0.0.0
, która jest zwykle znana jako default route
(maska złożona z 0.0.0.0
symboli wieloznacznych, to tak naprawdę znacznik domyślnej trasy) i ponieważ obecnie wskazuje na konkretny adres z zakresu `192.168.9 ', ruch internetowy będzie przesyłany przez interfejs Ethernet.
Jeśli chcę przełączyć internet na inną sieć, chciałbym (jako root) użyć route
polecenia, aw tym przypadku, biorąc pod uwagę, że moje połączenie Wi-Fi nie jest punkt-punkt, muszę znać adres IP routera, który może przekaż ruch z tej sieci (w moim przypadku 172.20.10.1
), więc zrobiłbym:
Usuń bieżącą domyślną trasę
sudo route del default
Dodaj nową domyślną trasę dla drugiej sieci
sudo route add default gw 172.20.10.1
Podczas gdy route
ja używam, widzę, że niektórzy uważają go za przestarzały i zamiast tego polecam użycie ip route
polecenia, zobacz komentarz @Fred poniżej, aby uzyskać składnię. odwołanie do wycofania
Czy istnieje sposób, aby pozostawać w kontakcie poprzez interfejs klucza sprzętowego?
Minęło trochę czasu, odkąd pracowałem z ppp
i wvdial
, i bez konfiguracji (lub przynajmniej odniesień do przewodników, których użyłeś podczas ich konfigurowania) naprawdę trudno jest zgadnąć, które problemy napotykasz, ale jako kilka pomysłów:
- Czy połączenie naprawdę nie działa, czy po prostu straciłeś domyślną trasę, gdy pojawił się eth0?
- Sprawdź to w obu
netstat -rn
i ifconfig
.
- Czy jest interfejs
netstat -rn
? jeśli tak, czy istnieje domyślna droga do niego?
- W
ifconfig
widzisz interfejs dla klucza sprzętowego (prawdopodobne ppp
)? czy to UP
jest
- Nie pamiętam gdzie
ppp
/ wvdial
log, ale należy to sprawdzić. Ten dziennik poinformuje Cię o stanie połączenia i powinien poinformować Cię, czy z jakiegoś powodu cały system został zamknięty
- Jeśli widzisz interfejs, spróbuj
ping
coś na nim (... cokolwiek ...) i sprawdź, czy połączenie zostanie nawiązane.
- Wiem, że
ppp
/ wvdial
combo ma możliwość automatycznego połączenia (w zależności od konfiguracji)
- Więc jeśli połączenie wymyśliło polecenie ping (lub połączenie pozostało niezmienione przez cały czas): może to oznaczać, że domyślna trasa (ppp) została utracona podczas uruchamiania sieci Ethernet.
- W takim przypadku wystarczy dodać domyślną trasę, a cały system wróci do trybu online.