Mam Raspberry PI 2 model B z wersją Raspbian Jessie i próbuję przenieść internet z mojego komputera na Raspberry. Mam między nimi 2 interfejsy sieciowe, jeden przez Ethernet, a drugi przez Wi-Fi. Skonfigurowałem adres IP Ethernet w Raspberry, aby był statyczny, ponieważ mam w domu małą sieć komputerową ze statycznymi adresami IP i chcę, aby malina była częścią tego. Ponieważ mój internet jest bardzo wolny (używam modemu telefonicznego), nie chcę udostępniać tego powolnego internetu przez interfejs Ethernet, ponieważ nie chcę, aby wszystkie komputery podłączone do tej sieci zmniejszały moją prędkość. Ponieważ zamierzam tylko przenieść internet do Raspberry, stworzyłem hotspot Wi-Fi na moim komputerze, który dynamicznie przypisuje adres IP do mojego Raspberry (oprogramowanie hotspot ma jakiś DHCP) i że „
Ale potem zaczyna się mój problem, domyślnie po włączeniu (lub jeśli rozłączę się i ponownie połączę), Raspberry nie łączy się z Internetem. Wpisując ifconfig
uzyskać:
eth0
Link encap:Ethernet HWaddr b8:27:eb:4e:35:65
inet addr:100.100.100.25 Bcast:100.100.100.255 Mask:255.255.255.0
inet6 addr: fe80::ba27:ebff:fe4e:3565/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
wlan0
Link encap:Ethernet HWaddr 74:da:38:55:f3:a2
inet addr:192.168.137.201 Bcast:192.168.137.255 Mask:255.255.255.0
inet6 addr: fec0::12:c4f1:c3fc:eb1e:3153/64 Scope:Site
inet6 addr: 2002:be0f:9cea:12:1bc0:1969:c17d:f854/64 Scope:Global
inet6 addr: fe80::bdca:7255:2e27:8341/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Kiedy piszę route -n
, otrzymuję:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 100.100.100.1 0.0.0.0 UG 202 0 0 eth0
0.0.0.0 192.168.137.1 0.0.0.0 UG 303 0 0 wlan0
100.100.100.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
192.168.137.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
Tutaj możesz zobaczyć, jak metryka mojej statycznej bramy połączenia Ethernet (100.100.100.1) jest mniejsza niż metryka mojej bramy połączenia DHCP Wifi (192.168.137.1), więc moja Raspberry próbuje uzyskać dostęp do Internetu przez niewłaściwy interfejs
po wpisaniu:
sudo route delete default gateway 192.168.137.1
i wtedy :
sudo route add default gateway 192.168.137.1
moja tabela routingu jest ustawiona na:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.137.1 0.0.0.0 UG 0 0 0 wlan0
0.0.0.0 100.100.100.1 0.0.0.0 UG 202 0 0 eth0
100.100.100.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
192.168.137.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
a Malina ma dostęp do Internetu.
Moje pytania to:
- Czy istnieje sposób na zautomatyzowanie tego procesu, więc nie będę musiał tego robić ręcznie za każdym razem, gdy włączam Raspberry?
- Czy istnieje sposób na zautomatyzowanie go, aby zawsze rozpoznawał, że musi uzyskać dostęp do Internetu z Wi-Fi niezależnie od zakresu adresów IP podanego przez hotspot DCHP dla tego interfejsu?
- Dlaczego niższa metryka została automatycznie przypisana do interfejsu Ethernet?
Sprawdziłem już rozwiązanie w Jak utrzymać zmianę w tabeli routingu? ale to nie działa dla mnie, ponieważ w Raspbian Jessie nie edytujesz bezpośrednio, /etc/network/interfaces
a edytujesz, /etc/dhcpcd.conf
aby uzyskać statyczny adres IP
To, co robię, to po prostu uruchomić go przy starcie.
Dodaj
sudo route delete default
iwsudo route add default gateway 192.168.137.1
określonej kolejności do swojego/etc/init.d/rc.local
pliku.Zapomniałem, czy
/etc/init.d/rc.local
Jessie działa od razu po wyjęciu z pudełka, czy nawet powinieneś go dotknąć, czy nie, ale znalezienie innego rozwiązania powinno być trywialne (już to zrobiłem) .I to rozwiązuje # 1.
Aby ustalić priorytety połączeń, zalecamy instalację
ifmetric
. Następnie po prostu ustal priorytety połączeń/etc/network/interfaces
Najwyższy priorytet to 0, następnie 1, następnie 2 i tak dalej.
I to wszystko dla nr 2.
Myślę, że # 3 zdarzyło się, ponieważ deweloperzy myśleli, że WiFi jest traktowane priorytetowo w
chłopskichśrodowiskach bez zasilania. Mogłem tylko spekulować, ponieważ nie mogę znaleźć żadnych informacji na ten temat.źródło