Mam tę konfigurację w / etc / network / interfaces :
auto lo
iface lo inet loopback
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
allow-hotplug wlan0
#iface wlan0 inet dhcp
iface wlan0 inet static
address 192.168.0.110
netmask 255.255.255.0
network 192.168.0.1
gateway 192.168.0.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp
iface eth0 inet static
address 192.168.0.115
netmask 255.255.255.0
network 192.168.0.1
gateway 192.168.0.1
Bezprzewodowy statyczny adres IP działał, ale eth0 nie.
Próbowałem więc wykonać konfigurację w /etc/dhcpcd.conf :
interface eth0
static ip_address=192.168.0.115/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
I zadziałało. Jestem zdezorientowany i oto kilka pytań:
Kiedy użyć którego pliku?
Dlaczego wifi działało z / etc / network / interfaces, a eth0 nie?
Czy dhcpcd ma jakoś pierwszeństwo przed / etc / network / interface ?
Jak sprawdzić, która usługa ma priorytet czy coś? A która usługa korzysta z / etc / network / interface ?
raspbian
networking
CuriousGuy
źródło
źródło
#raspbian
. Jako wieloletni administrator Un * x uważam, że ta fundamentalna zmiana jest zaskakująca, a jej uzupełnieniem jest absolutny brak dokumentacji. Zdarzyło mi się znaleźć to pytanie po godzinie prób i błędów. Chciałbym znaleźć wcześniej raspberrypi.stackexchange.com/questions/37920/...ip addr
wydajność isystemctl status networking
wydajność? Ponieważ jeśli OP spróbuje to zrobić za pomocą ssh i przy użyciu ip eth0 do ssh, wówczas zmodyfikowany ip eth0 zostanie przypisany do ip jako drugorzędny ip, aby utrzymać nieprzerwaną sesję ssh, próbowałem zmienić ip eth0 jako OP wspomniane, ale sshing przez wlan0 i działa i ma pierwszeństwo przed dhcp, w moim przypadku było dhclient na Stretch, ale sshing przez eth0, poprzednio wspomniany przypadek ma miejsce./etc/network/interfaces
ustawieniami.Odpowiedzi:
Wszystkie odpowiedzi na to pytanie mają swoje zalety, ale myślę, że istnieje możliwość bezpośredniego zajęcia się konkretnymi pytaniami.
Przyjmuję założenie, że cierpisz z powodu ogólnego zamieszania, które występuje obecnie (w szerszej społeczności Raspberry Pi) z wprowadzeniem Debiana „ Jessie ” zamiast Debiana „Wheezy”. Ta zmiana spowodowała, że duża liczba samouczków stała się w najgorszym przypadku przestarzała, aw najlepszym razie myląca.
Odpowiedź na to pytanie jest taka, że przy korzystaniu z Wheezy normalne było wprowadzanie zmian w
/etc/network/interfaces
pliku w celu konfiguracji interfejsów sieciowych (patrz rysunek). Podczas korzystania z Jessie konieczne będzie wprowadzenie zmian w pliku „/etc/dhcpcd.conf”. Jeśli jednak wprowadzasz zmiany w połączeniu bezprzewodowym (wlan0
), musisz również wprowadzić zmiany, do/etc/wpa_supplicant/wpa_supplicant.conf
których dodajesz identyfikator sieci SSID i hasło.Nie jestem pewien, jak mogło działać połączenie Wi-Fi, ponieważ w twoich plikach brakuje informacji (przynajmniej ssid). Jak zauważył janos, priorytet szczegółów połączenia eto następujących po szczegółach wlan0 prawdopodobnie sprawił, że działały (ponieważ byłyby widoczne jako ostatni podczas procesu odczytu pliku).
Nie, są różne i zostały zaprojektowane tak, aby odpowiadały różnym celom w ramach Jessie. Aby używać Jessie w dość prosty sposób, możesz zignorować
interfaces
plik i pracować zdhcpcd.conf
orazwpa_supplicant.conf
.Ponownie przyjmuję założenie, że pytanie brzmi raczej: „ Którego pliku używam i czy muszę użyć takiego, który ma pierwszeństwo? „pytanie. Odpowiedź jest taka, że wraz ze zmianą z Wheezy na Jessie (i w szerszym sensie wraz z przyjęciem systemd ) konfiguracja plików „dhcpcd.conf” i „wpa_supplicant.conf” stanie się normą, a plik „interfejsów” pozostanie na własne urządzenia.
Co to dla ciebie znaczy?
Cóż (ponownie) zakładając, że próbujesz ustanowić połączenie przewodowe (eth0) i bezprzewodowe (wlan0) ze statycznymi adresami IP, chciałbyś, aby
interfaces
plik był domyślny tak, jak był początkowo instalowany;Chciałbyś, aby Twój
dhcpcd.conf
plik zawierał szczegóły połączenia na końcu pliku dla obu interfejsów, a dodatkowe wpisy prawdopodobnie wyglądałyby trochę tak;Na koniec chcesz edytować
wpa_supplicant.conf
plik, aby zawierał SSID dla sieci Wi-Fi i hasło. Prawdopodobnie powinno to wyglądać trochę tak;Mam nadzieję, że to ukrywa. Istnieje bardzo realna możliwość, że moje założenia są błędne, ale ponieważ ostatnio przeszedłem podobną krzywą uczenia się, mam nadzieję, że dane są przydatne.
Faktycznie napisałem to i możesz uzyskać informacje w darmowym ebooku Wystarczy dość Raspberry Pi z Leanpub.
źródło
Priorytet dotyczy twojej konfiguracji init lub systemd. W odniesieniu do dhcp: jeśli masz interfejs skonfigurowany statycznie lub ręcznie, a dhcp zacznie później żądać adresu, zastąpi to, co już masz. W Debianie dhcp jest uruchamiany dla interfejsów, dla których określasz dhcp, a nie tylko magicznie. Jeśli masz nieoczekiwane zachowanie, być może w tle działa inny system, na przykład NetworkManager.
Za punkt:
źródło
eth0
Interfejs nie został prawdopodobnie wychowany przy starcie systemu, ponieważ nie jest notowana naauto
linii. Odman interfaces
:Zmień tę linię:
Do tego:
A potem powinno działać.
Pozostałe odpowiedzi dotyczyły innych pytań. Mam nadzieję, że to pomoże.
źródło
/etc/network/interfaces
, brakujący element był po prostuauto eth0
i ponownie uruchomił sieć lub uruchomił się ponownie!Zobacz Jak skonfigurować sieć / WiFi / Statyczny adres IP, aby uzyskać szczegółowe informacje na temat konfiguracji sieci.
Możesz użyć starszej
/etc/network/interfaces
metody, jeśli chcesz. Niestety wymieniony plik zawiera wiele błędów. Powinieneś trzymać się jednej ze standardowych konfiguracji.Jeśli naprawdę chcesz używać
/etc/network/interfaces
(innego niż domyślny), musisz go wyłączyćdhcpcd
.Wyjaśnienie tego
dhcpcd
jest zbyt skomplikowane dla tego forum, ale link https://wiki.archlinux.org/index.php/dhcpcd zapewnia dobre podsumowanie.źródło
Najpierw przywróć
/etc/network/interfaces
plik do oryginalnej wersji ...Następnie zachowaj zmiany w
/etc/dhcpcd.conf
pliku proste i tylko dla bezprzewodowego ...(na dole pliku ...)
/etc/wpa_supplicant/wpa_supplicant.conf
:źródło
Pamiętaj, że najnowsza wersja Raspbian Jessie (30.12.2016) zawiera lukę w drugiej linii pliku interfejsów. W drugim wierszu brakuje wiodącego symbolu # w celu oznaczenia linii jako komentarza. Ten problem powoduje, że plik interfejsów jest nieczytelny dla systemu. Spędziłem wiele godzin próbując uruchomić moje wifi, zanim znalazłem ten błąd.
Aby to naprawić, po prostu dodaj symbol # na początku linii.
źródło