Jak skonfigurować sieć / WiFi / statyczny adres IP w systemie Raspbian / Raspberry Pi?

Skorzystałem z (jednego z setek) samouczka i to nie działa.

Jak skonfigurować sieć / Wi-Fi / statyczny adres IP na Raspberry Pi?


Po wprowadzeniu przez Fundację dhcpcd sieci system Raspbian w maju 2015 pojawiły się setki pytań (częściowo dlatego, że Fundacja nie przygotowała żadnej dokumentacji). Po udzieleniu odpowiedzi na dziesiątki pytań postanowiłem udzielić odpowiedzi kanonicznej.
To dowiodło być trudniejsze niż oczekiwano – zwłaszcza, że implementacja ciągle się zmienia – mam nadzieję, że nadal ją aktualizuję.

(Początkowo nazwałem to Dorothy Dixer , ale to najwyraźniej australijski idiom.)

Odpowiedź

W tym samouczku opisano, jak skonfigurować sieć za pomocą Domyślny menedżer sieci dhcpcd zawarty w Raspbian od 05.05.2015.
Dotyczy to wydań Fundacji Raspbian Buster , Raspbian Stretch , Raspbian Jessie i ostatnie Raspbian Wheezy .
Ustawienia Buster są takie same jak Stretch.

Jak skonfigurować sieć Raspbian

Jeśli używasz Ethernet połączenie z routerem nie powinno być wymagane konfigurowanie i powinno działać po wyjęciu z pudełka.

Pi3B + i Pi4 mają interfejsy Gigabit Ethernet i będą działać tylko na routerze Gigabit Ethernet (1000BASE-T), jeśli używany jest 8-żyłowy kabel CAT 5E. Wcześniejsze modele Pi, które obsługiwały tylko 100BASE-T, działają na kablu 6-żyłowym.


UWAGA Wbudowane Pi3 / Pi Zero W WiFi nie obsługuje sieci 5 GHz i może nie łączyć się z kanałem 12,13 w sieciach 2,4 GHz, dopóki nie zostanie ustawiona bezprzewodowa domena regulacyjna .

Wi-Fi na urządzeniach obsługujących 5 GHz jest wyłączona do czasu ustawienia bezprzewodowej domeny regulacyjnej (Pi4B, Pi3B +, Pi3A +)

  • Domenę można ustawić za pomocą Raspberry Pi Configuration (rc_gui), raspi-config lub ustawiając country= na odpowiedni kod kraju ISO 3166 alpha2 w /etc/wpa_supplicant/wpa_supplicant.conf.

Jeśli korzystasz z WiFi i GUI skonfigurowanych zgodnie z Podstawowe wytyczne

Jeśli używasz Wi-Fi z wiersza poleceń skonfiguruj zgodnie z Wytycznymi dla Fundacji . Jest to jedyny sposób na skonfigurowanie sieci, która nie nadaje SSID.

Można to również wykorzystać do ustawienia systemu „Headless”, np używając kabla konsoli szeregowej, ale DUŻO łatwiej jest, jeśli możesz wypożyczyć monitor i klawiaturę do konfiguracji. Zobacz poniżej inną możliwą metodę podłączenia kabla Ethernet do komputera.

Konfiguracja bezgłowego Wi-Fi Raspbian

Raspbian , od maja 2016 r. sprawdza zawartość katalogu rozruchowego w poszukiwaniu pliku o nazwie wpa_supplicant.conf i kopiuje ten plik do /etc/wpa_supplicant, zastępując istniejące wpa_supplicant.conf plik, który może tam być. Plik w katalogu rozruchowym jest następnie usuwany. Można tego użyć, aby włączyć konfigurację bezgłową, używając wpa_supplicant.conf ustawień opisanych poniżej lub Konfigurowanie Raspberry Pi Headless ( Prawdopodobnie będziesz chciał również włączyć ssh.)

Jaki jest mój adres IP?

Jeśli chcesz tylko znać IP Address Twoje Pi używa enter hostname -I w wierszu poleceń.

SSH

Od wydania z listopada 2016 r., Raspbian ma domyślnie wyłączony serwer SSH. Będziesz musiał włączyć go ręcznie.

Wpisz w terminalu sudo raspi-config, najpierw wybierz advanced options , a następnie przejdź do ssh, naciśnij Enter i wybierz Włącz lub wyłącz serwer ssh.

W przypadku konfiguracji bezgłowej SSH można włączyć, umieszczając plik o nazwie „ssh”, bez żadnego rozszerzenia, na partycji rozruchowej karty SD.

Pliki sieciowe

Jeśli używasz najnowszego Raspbian /etc/network/interfaces, powinno wyglądać jak poniżej. Jeśli to zmieniłeś, ODTWÓRZ. (Lub na Stretch po prostu usuń – skutecznie NIC nie robi.)

 # interfaces(5) file used by ifup(8) and ifdown(8) # Please note that this file is written to be used with dhcpcd # For static IP, consult /etc/dhcpcd.conf and "man dhcpcd.conf" # Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d 

Plik /etc/wpa_supplicant/wpa_supplicant.conf zostanie utworzony / zmodyfikowany za pomocą zalecanych metod konfiguracji, ale można go skonfigurować ręcznie. Najnowsze Raspbian mają opcję w raspi-config, aby wprowadzić identyfikator SSID i hasło. Powinien zawierać coś podobnego do następującego: –

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=AU network={ ssid="ESSID" psk="Your_wifi_password" } 

Jeśli chcesz połączyć się z siecią prywatną (tj. bez transmisji SSID) dołącz wiersz scan_ssid=1 wewnątrz network={⋯}.

UWAGA Jeśli chcesz połączyć się z różnymi sieciami (np. w pracy lub w domu), może zawierać wiele wpisów network={⋯}.

Jeśli masz dostęp do wielu sieci i chcesz połączyć się z określoną siecią, umieść wiersz priority=100 we wpisie network={⋯}.
Ty można wybrać inny priorytet dla każdej sieci, zostanie wybrana dostępna sieć o najwyższym priorytecie; wartość domyślna to 0.

Istnieje wiele innych opcji, których można użyć, patrz man wpa_supplicant.conf.

Uwagi dotyczące przestarzałych systemów operacyjnych

Jessie nie dołącz hak 10-wpa_supplicant do zarządzania interfejsami Wi-Fi, więc potrzebne są linki do wpa_supplicant. Te ustawienia są niezgodne z przewidywalnymi nazwami interfejsów sieciowych.

/etc/network/interfaces używany przez Jessie powinno być: –

# interfaces(5) file used by ifup(8) and ifdown(8) # Please note that this file is written to be used with dhcpcd # For static IP, consult /etc/dhcpcd.conf and "man dhcpcd.conf" # Include files from /etc/network/interfaces.d: source-directory /etc/network/interfaces.d auto lo iface lo inet loopback iface eth0 inet manual 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 

UWAGA wywołanie dhcp w /etc/network/interfaces spowoduje wyłączenie dhcpcd.

Przewidywalne nazwy interfejsów sieciowych

Stretch wprowadzono 1 przewidywalne nazwy interfejsów sieciowych , które były używane w innych dystrybucjach od jakiegoś czasu.

Interfejsy sieciowe będą miały nazwy utworzone z przedrostka en – Ethernet lub wl – wlan, po którym następuje x wskazujące MAC oraz MAC np enxb827eb123456 lub wlx00c140123456. Wi-Fi na pokładzie Pi4, Pi3 i PIZeroW, które jest podłączone przez sdio, będzie jednak używać nazwy wlan0

Może to być korzystne dla osób korzystających z wielu interfejsów sieciowych, jednak dla większości użytkowników Pi pojedynczy interfejs Ethernet i Wi-Fi nie będzie miał większego znaczenia. Poprzednie nazwy eth0 i wlan0 można przywrócić, jeśli przekażesz net.ifnames=0 w poleceniu jądra w /boot/cmdline.txt.

W raspi-config jest opcja umożliwiająca włączenie przewidywalnych nazw interfejsów sieciowych.

1. Z niezrozumiałego powodu Fundacja zdecydowała się ” wyłączyć przewidywalne nazwy interfejsów sieciowych dla urządzeń Ethernet ” zaledwie 3 tygodnie po wprowadzeniu długo oczekiwanej funkcji . Pod Advanced Options z raspi-config jest opcja przełączania tego ustawienia.


Skonfiguruj statyczny adres IP

Jeśli chcesz, aby Twoje Pi miało przypisany przewidywalny adres IP , możesz albo zarezerwuj jeden w routerze LUB zażądaj serwera DHCP, aby go przypisać.
Na przykład poniższe zażądają adresu na wlan0 .

interface wlan0 request 10.1.2.99 

żądanie [adres ]
Zażądaj adresu w komunikacie DHCP DISCOVER. Nie ma gwarancji, że jest to adres, który faktycznie poda serwer DHCP. Jeśli nie podano adresu, używany jest pierwszy adres aktualnie przypisany do interfejsu.

Jeśli zażądasz adresu IP w zakresie zarządzanym przez serwer DHCP , który jest dostępny, powinno to być honorowane, w przeciwnym razie serwer DHCP przydzieli adres w normalny sposób.

Jeśli NAPRAWDĘ potrzebujesz statycznego adresu IP patrz oddzielna odpowiedź Statyczny adres IP


Zaawansowane dhcpcd Konfiguracja

Raspbian domyślnie używa dhcpcd do zarządzania interfejsami sieciowymi. Jest to automatyczne, a większość użytkowników nie musi nic więcej niż określić identyfikator SSID i hasło dla sieci bezprzewodowych.

Można skonfigurować sposób działania dhcpcd, wprowadzając opcje w /etc/dhcpcd.conf; zobacz man dhcpcd.conf. Jest dobry artykuł na temat dhcpcd pod adresem https://wiki.archlinux.org/index.php/dhcpcd

Poniżej opisano niektóre z bardziej powszechnych konfiguracji: –

Profil rezerwowy

Można skonfigurować statyczny profil w dhcpcd i wraca do niego, gdy dzierżawa DHCP nie powiedzie się. Jest to przydatne zwłaszcza w przypadku maszyn bezgłowych, gdzie profil statyczny może być używany jako profil ” recovery „, aby zapewnić, że zawsze można połączyć się z maszyną. Profil statyczny jest konfigurowany jak każdy inny statyczny adres IP

 # define static profile profile static_eth0 static ip_address=⋯ static routers=⋯ static domain_name_servers=⋯ # fallback to static profile on eth0 interface eth0 fallback static_eth0 

Zapobiegaj dhcpcd konfigurowaniu interfejsu

Często robi się to, aby Pi działało jako Punkt dostępowy (który musi być skonfigurowany przy użyciu innych plików), jednocześnie pozwalając na normalne DHCP konfiguracja na innych interfejsach.

Dodaj denyinterfaces wlan0 na końcu pliku (ale powyżej wszelkich innych dodanych linii interfejsu) .

Zapobiegaj dhcpcd konfigurowaniu bramy w interfejsie

Jeśli chcesz, aby interfejs nie instalował żadnych domyślnych tras (często używanych w w połączeniu ze statycznym adresem IP) określ

 nogateway 

Konfiguracja specyficzna dla hosta

dhcpcd może skonfigurować interfejsy zależne od sieci hosta. Używa protokołu ARP do sondowania hostów na podstawie adresu MAC lub IP przed podjęciem próby rozwiązania DHCP.

 interface bge0 arping 192.168.0.1 # My specific 192.168.0.1 network profile dd:ee:aa:dd:bb:ee static ip_address=192.168.0.10/24 # A generic 192.168.0.1 network profile 192.168.0.1 static ip_address=192.168.0.98/24 

DHCP można przyspieszyć, wyłączając protokół ARP sprawdzanie, czy nie używasz tych funkcji i masz prostą sieć.

 noarp 

Użyj różnych plików wpa_supplicant

Możliwe jest skonfigurowanie dhcpcd aby użyć różnych plików wpa_supplicant.conf dla określonego interfejsu bezprzewodowego.

Utwórz plik o nazwie wpa_supplicant-"$interface".conf w /etc/wpa_supplicant/ np. wpa_supplicant-wlan0.conf będzie używane tylko przez wlan0

/etc/wpa_supplicant/wpa_supplicant.conf będzie używany do innych interfejsów bezprzewodowych.


Podłączanie komputera do Pi

Najnowsze wersje Raspbian (które używają dhcpcd ) pozwól ssh pracować nad link-local adresem i avahi (co jest implementacją zeroconf ) umożliwia programom wykrywanie hostów działających w sieci lokalnej.

Oznacza to, że możesz podłączyć Pi do komputera (za pomocą kabla Ethernet) lub lokalnego routera sieciowego i połączyć się bez znajomości adresu IP.

Możesz łatwo łączyć się z Linuksa i OS X za pomocą ssh [email protected] (domyślna nazwa hosta to raspberrypi). Powinno to działać z popularnymi Programy GUI ssh. Jest to czasami problematyczne w przypadku niektórych wersji systemu Windows i sieci, które używają .local w niestandardowy sposób. (Patrz https://en.wikipedia.org/wiki/.local )

UWAGA .local rozdzielczość nie zawsze działa np w rsync. Poniższe powinno rozwiązać IP (i może być zawarte w bash skryptach)
RemotePi=$(getent hosts hostname.local | awk "{ print $1 }")

Jeśli Twój system nie ma getent do wysyłania zapytań do hosts np. macOS możesz użyć następującego: –
RemotePi=$(arp -n hostname.local | awk "{x = $2; gsub(/[()]/, "", x); print x }")

Jeśli masz wiele Pi, musisz upewnić się, że każde Pi ma unikalną nazwę hosta.

Możesz użyć kabla krosowego, ale nie potrzebujesz go (większość nowoczesnych interfejsów wykrywa automatycznie).

Jedną z wad bezpośredniego połączenia jest to, że Pi nie będzie miało dostępu do Internetu, a data nie zostanie ustawiona. Możesz skopiować datę z hosta, uruchamiając ssh [email protected] sudo date -s$(date -Ins) przed połączeniem.

Zakres:

Ten samouczek dotyczy konfiguracji normalnej instalacji Raspbian w celu uzyskania dostępu do Internetu przy użyciu dołączonego oprogramowania. Obejmuje również połączenia z innymi komputerami w tej samej sieci.

Jego głównym celem jest pomoc nowym użytkownikom, którzy mają problemy z uzyskaniem Działa Pi (zwłaszcza WiFi).

NIE obejmuje: –

  • Inni menedżerowie sieci.
  • Uruchamianie zaawansowanych sieci na Pi (np. serwery DHCP, tunelowanie, VPN, punkt dostępu).
  • Korzystanie z ipv6 (chociaż jeśli masz sieć ipv6, to powinno działać).
  • Alternatywne konfiguracje sieciowe. (Istnieje wiele różnych sposobów konfigurowania sieci.)

Komentarze

  • Byłem zdezorientowany przez „, to NIE jest coś, co należy wpisać do pliku „. Jeśli ' się nie mylę, Milliways ma na myśli to, że nie ' t zamieniasz cały plik z tym fragmentem tekstu. Jednak ' jest całkowicie w porządku, aby dodać ten bit na końcu (oczywiście modyfikując parametry zgodnie z własnymi upodobaniami). Ponadto wiersze routers i domain_name_servers są opcjonalne, jeśli nie ' nie chcesz ustawić do routingu przez ten interfejs.
  • Więc teraz, aby skonfigurować adres IP, musisz mieć zainstalowanego klienta DHCP i użyć jego konfiguracji do ustawienia statycznego adresu IP ?! Nie ' nie działa, jeśli chcę mieć serwer DHCP na moim Raspbian! Klient DHCP jest uruchamiany po uruchomieniu serwera DHCP, więc adres IP nie jest jeszcze ustawiony, co powoduje, że serwer DHCP (isc-dhcpd) narzeka.
  • Gdzie to jest oficjalnie udokumentowane?
  • Gdzie to jest udokumentowane? To znaczy WTF. Postępowałem zgodnie z tymi wskazówkami, jak również z wieloma innymi i nie mogę się połączyć. Z radością widzę i skanuję sieci, ale nigdy się nie łączę ani nie kojarzę. Jestem ' jestem taki zepsuty.
  • @MikeD. Zobacz raspberrypi.org/blog/…

Odpowiedź

Ustaw statyczny adres IP

Pytania dotyczące ustawiania statycznego adresu IP należą do najczęstszych w tej witrynie. Istnieje bardzo wiele samouczków (wiele błędnych, przestarzałych lub niekompletnych).

Jeśli powodem, dla którego rozważasz statyczny adres IP , jest to, że chcesz, aby do Twojego Pi przypisano przewidywalny adres IP możesz zażądać serwera DHCP, aby go przypisał.
Np. Dodanie następujących elementów do /etc/dhcpcd.conf spowoduje zażądanie adresu na wlan0 i na eth0 .

interface wlan0 request 10.1.2.99 interface eth0 request 10.1.2.98 

Jeśli zażądasz adresu IP z zakresu zarządzanego przez serwer DHCP , który jest dostępny należy to honorować, w przeciwnym razie serwer DHCP przydzieli adres w normalny sposób.

Wyłączenie odpowiedzialności

Czuję się zobowiązany do stwierdzenia że ustawienie adresu statycznego NIE jest zalecane. Inżynierowie telekomunikacji tego nie robią. Statyczne adresy IP mogą być zmorą życia administratora sieci. Istnieją sytuacje, w których statyczne adresy IP są konieczne, np. Jeśli używasz serwera DHCP lub pracujesz w odizolowanej sieci bez serwera DHCP.

Jeśli chcesz mieć znany adres IP, lepiej zarezerwować go na swoim serwerze DHCP – najlepiej poza zakresem obsługiwanym przez DHCP (robię to dla moich drukarek sieciowych). Pozwala to uniknąć komplikacji związanych z określaniem bram itp.

Jeśli mimo wszystko jesteś zdecydowany kontynuować, upewnij się, że robisz to dobrze. Zaczerpnięte z samouczka Foundation Network

Znajdź Ustawienia sieci lokalnej

Najłatwiej to zrobić za pomocą samego Pi, używając DHCP, ale można to zrobić na dowolnym komputerze w sieci, chociaż polecenia mogą się różnić w innych systemach.

Uruchom

ip -4 addr show | grep global 

Powyższe zakłada adresowanie IPV4 – jeśli Twój ISP używa IPV6, pomiń parametr ” -4 „.

co powinno dać wynik w postaci:

inet 10.1.1.30/24 brd 10.1.1.255 scope global eth0 inet 10.1.1.31/24 brd 10.1.1.255 scope global wlan0 

Pierwszy adres to Adres IP twojego Pi w sieci, a część po ukośniku to rozmiar sieci. Jest bardzo prawdopodobne, że twój będzie to / 24.

Drugi adres to adres brd (rozgłoszeniowy) sieci.

Znajdź adres routera (lub bramy)

ip route | grep default | awk "{print $3}" 10.1.1.1 

Na koniec zanotuj adres swojego serwera DNS, który często jest taki sam jak adres Twojej bramy.

cat /etc/resolv.conf # Generated by resolvconf nameserver 10.1.1.1 

Następnie wykonaj ONE z następujących metod.(Istnieją inne metody nieudokumentowane w tym miejscu. Są one najczęściej stosowane w Raspbian.) ( W każdej z metod podstaw odpowiednią nazwę interfejsu sieciowego dla eth0, wlan0 lub przewidywalne nazwy interfejsów sieciowych . )

Jeśli chcesz znaleźć nazwy interfejsów, nawet jeśli nie są połączone, uruchom następujące polecenie ls /sys/class/net/

W każdej z metod powinieneś wybrać adresy IP, które nie są używane; najlepiej poza zakresem używanym przez serwer DHCP, w tej samej podsieci.

metoda dhcpcd

Pozostaw (jak wyżej).

Edytuj /etc/dhcpcd.conf w następujący sposób: –

 Here is an example which configures a static address, routes and dns. interface eth0 static ip_address=10.1.1.30/24 static routers=10.1.1.1 static domain_name_servers=10.1.1.1 interface wlan0 static ip_address=10.1.1.31/24 static routers=10.1.1.1 static domain_name_servers=10.1.1.1 

ip_address to adres i rozmiar z powyższego polecenia (lub inny nieużywany adres w tej samej sieci), routers to adres routera (lub bramy). domain_name_servers to adres (y) DNS z /etc/resolv.conf. (patrz man dhcpcd.conf)

Jest dobry artykuł na temat dhcpcd pod adresem https://wiki.archlinux.org/index.php/dhcpcd Fallback profile jest alternatywą dla statycznego adresu IP


Metoda interfejsów sieciowych

UWAGA Ta metoda jest NIE jest zalecana (i działa tylko po wyłączeniu demona klienta DHCP), szczególnie jeśli planujesz używać obu interfejsów.

Skonfiguruj statyczny adres sieciowy na Twoim Pi w /etc/network/interfaces

auto eth0 iface eth0 inet static address 10.1.1.30 netmask 255.255.255.0 gateway 10.1.1.1 allow-hotplug wlan0 iface wlan0 inet static address 10.1.1.31 netmask 255.255.255.0 gateway 10.1.1.1 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf 

address to adres z powyższego polecenia (lub inny nieużywany adres w tej samej sieci), netmask 255.255.255.0 odpowiada rozmiarowi sieci /24 . gateway to adres routera (lub bramy).

Możesz również podać dns-nameservers, ale to jest generalnie nie jest konieczne. Element broadcast jest automatycznie wyprowadzany z address i netmask i nie trzeba go określać. Aby uzyskać więcej informacji, zobacz https://wiki.debian.org/NetworkConfiguration

Możesz ustawić jedno lub oba eth0, wlan0 lub jedna z nazw interfejsów sieciowych

Następnie wyłącz demona klienta DHCP i przełącz się na standardową sieć Debiana :

sudo systemctl disable dhcpcd sudo systemctl enable networking 

Uruchom ponownie, aby zmiany odniosły skutek:

sudo reboot 

Komentarze

  • Jakie są wady i zalety tych dwóch metod, o których wspominasz?
  • @ElliottB przeczytaj powyższe zastrzeżenie .
  • Czytałem to, ' zastanawiam się tylko nad dwiema metodami dhcpcd vs network. Chcę sprawdzić, czy statyczny adres IP umożliwia szybsze uruchamianie, ponieważ widzę 15-sekundowe opóźnienie dla dhcpcd w systemd-analyze.
  • Wydajność jest lepsza po wyłączeniu dhcpd Właśnie przetestowałem drugie niezalecane podejście i przyspiesza ono czas uruchamiania o 7 sekund na moim RasPI Zero W.
  • administratorzy sieci tego nie lubią. To nie jest powód, aby mieć adresy DHCP na rapsberry pi ' si pomarańczowym pi ' si lokalnych drukarkach. Prawie każdy, kto to czyta, jest użytkownikiem domowym i nie obsługują go zadowolone z siebie komentarze na temat tego, co robią ” profesjonaliści „. Albert

Odpowiedź

W przypadku statycznego adresu IP w połączeniu Ethernet:

  1. sudo nano /etc/dhcpcd.conf
  2. Wpisz następujące wiersze w górnej części pliku:

    interface eth0 static ip_address=192.168.1.XX/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 
  3. sudo reboot

Należy to zrobić dla ostatniej aktualizacji Jessie. /etc/network/interfaces należy pozostawić w spokoju . Otwórz przeglądarkę i wprowadź adres routera (dla większości 192.168.1.1) i sprawdź swoją sieć domową, aby upewnić się, że Raspberry Pi wyświetla się jako „Static”.

Komentarze

  • Jeśli masz zamiar skopiować część odpowiedzi, przynajmniej powinieneś zrobić to dobrze.
  • Prawdopodobnie zadziałało w twoim przypadku, ale nie ogólnie, ponieważ dhcpcd wywnioskował maskę sieci, czego nie może zrobić dla innych zakresów adresów. Przeczytaj strony man.
  • Twierdzisz, że / etc / network / interfaces należy zostawić w spokoju, ale nie mówisz dlaczego. W rzeczywistości jest wręcz przeciwnie. Zobacz moją odpowiedź poniżej.
  • Jeśli chcesz ponownie uruchomić usługi sieciowe bez ponownego uruchamiania, upewnij się, że masz auto eth0 powyżej iface eth0 inet manual wiersz w /etc/network/interface plik. Zrestartuj sieć za pomocą polecenia sudo service networking restart
  • To może być skopiowana odpowiedź, ale ma wszystko, czego potrzebujesz, aby ustawić statyczny adres IP na malinie, zaakceptowana odpowiedź jest niepotrzebnie długa.

Odpowiedź

Krótka i niezawodna metoda, jak to zrobić z:

Raspbian Jessie, Stretch, Buster

To ustawi stałe IP i włączy demona ssh:

  • Umieść kartę SD w komputerze i przekonaj się, że ma ona dwie partycje; zamontuj najmniejszą partycję jako /boot/
  • Otwórz /boot/cmdline.txt i dodaj ip=192.168.1.20 do końca wiersza.
  • Utwórz pusty plik /boot/ssh
  • Odłącz kartę SD od komputera, włóż do Pi i uruchom Raspberry Pi
  • W Linuksie uruchom ssh [email protected] hasło to raspberry. Użyj Putty w systemie Windows, aby połączyć się przez ssh.
  • Na Pi skonfiguruj ustawienia, aby włączyć SSH, np. z GUI lub raspi-config, ponieważ / boot / ssh jest automatycznie usuwany przy pierwszym uruchomieniu

Używam tego do uzyskania dostępu do mojego Raspbian Jessie i Stretch, które uruchamiają się bez podłączonego monitora, z tylko zasilanie i Ethernet. Po uzyskaniu dostępu do niego za pomocą powłoki ssh mogę kontynuować konfigurację.

Po tym zabiegu Raspberry PI miał dwa IP: jeden ze stałego adresu IP, który podałeś i jeden z klienta dhcp działającego na Raspberry Pi.

ifconfig pokaże masz stały adres IP. Podczas gdy niebieska ikona strzałki w prawym górnym rogu pokazuje adres IP dhcpd.

Komentarze

  • NIE sugeruj wyłączania IPv6. Nie ma takiej potrzeby.
  • Po co mi 2 adresy IP?
  • @ SiXandSeven8ths Nie ma potrzeby stosowania dwóch adresów IP. Zaobserwowałem zachowanie i opiszę je tutaj aby zminimalizować niespodzianki. Poprawiłbym swoją odpowiedź, ale nie miałem ' czasu, aby to zrobić.
  • @SiXandSev en8ths ' Przykro mi to słyszeć. U mnie to działało dobrze. Był to również jedyny sposób na obejście się bez podłączania monitora i klawiatury do raspberry pi. więc pomyślałem, że może się przydać komuś innemu.
  • Dowiedziałem się, co zrobiłem źle. Próbowałem skonfigurować statyczne IP po uruchomieniu, z podłączoną myszą i klawiaturą monitora. Zredagowałem twoją odpowiedź. Jeśli zmiana zostanie zaakceptowana, usunę swoje komentarze. +1

Odpowiedź

Pierwszą rzeczą, jaką należy zrobić, jest ustawienie statycznego adresu IP Raspberry pi. za każdym razem, gdy włączasz Raspberry pi, powinno ono łączyć się z punktem dostępowym (Hotspot).

Połącz się z punktem dostępowym. Wpisz ifconfig w terminalu raspberry pi i wprowadź ten adres IP poniżej, w moim przypadku to był 192.168.43.233

Zacznij od edycji pliku dhcpcd.conf

sudo nano /etc/dhcpcd.conf 

Przewiń na sam dół i dodaj te wiersze w koniec zgodnie z połączeniem (przewodowym lub bezprzewodowym).

interface eth0 static ip_address=192.168.0.10/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1 interface wlan0 static ip_address=192.168.43.233/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1 

Naciśnij Ctrl + x, aby zapisać i zrestartować. Teraz włącz swoje Raspberry Pi, a automatycznie połączy się z Twoim punktem dostępowym.

Odpowiedź

SystemdNetworkd

Raspbian / Raspberry Pi OS początkowo używał Debian Networking , który został zastąpiony przez dhcpcd w 2015 r.
dhcpcd to obecny domyślny system sieciowy.

Raspbian jest teraz oparty na systemd, który obejmuje systemd-networkd , usługę systemową zarządzającą sieciami.
Wykrywa i konfiguruje urządzenia sieciowe w miarę pojawia się, jak również tworzenie wirtualnych urządzeń sieciowych.

W tym samouczku opisano, jak skonfigurować podstawową sieć za pomocą systemd-networkd.
UWAGA tylko podstawowe Praca w sieci przy użyciu wbudowanych interfejsów eth0 i wlan0 została opisana.

Zakłada się, że znasz networkin g i dość kompetentny w konfiguracji Linuksa.
Jest to NOT metoda zalecana dla początkujących; konfiguracja jest bardziej skomplikowana.
Każdy interfejs musi być jawnie skonfigurowany.

OSTRZEŻENIE spowoduje to wyłączenie narzędzia Networking w panelu Desktop.

Sieć Ethernet

Musisz zdefiniować sieć, tworząc plik w /etc/systemd/network.Można mu nadać dowolną nazwę z rozszerzeniem .network

Poniższy przykład mówi systemd-networkd, aby użyć eth0 (który jest konfigurowany przez udev) i przypisz mu adres za pomocą DHCP.

[Match] Name=eth0 [Network] DHCP=ipv4 [DHCP] RouteMetric=201 

Alternatywa wykorzystująca statyczne adresy IP

[Match] Name=eth0 [Network] Address=192.168.1.20/24 Gateway=192.168.1.1 DNS=192.168.1.1 [DHCP] RouteMetric=201 

Sieci bezprzewodowe

W celu połączenia się z siecią bezprzewodową z systemd-networkd, wymagana jest karta sieci bezprzewodowej skonfigurowana z inną aplikacją, np. suplikantem WPA.
Aby użyć wlan0, należy utworzyć odpowiedni /etc/wpa_supplicant/wpa_supplicant-wlan0.conf np.

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=<2 letter ISO 3166-1 country code> network={ ssid="ESSID" psk="Your_wifi_password" } 

(Jeśli masz istniejącą konfigurację Wi-Fi, możesz skopiować plik /etc/wpa_supplicant/wpa_supplicant.conf.)

Utwórz plik .network w /etc/systemd/network.

[Match] Name=wlan0 [Network] DHCP=ipv4 [DHCP] RouteMetric=301 

Po utworzeniu odpowiednich plików konfiguracyjnych POTRZEBUJESZ , aby wyłączyć istniejącą sieć i włączyć usługi systemd-networkd.
UWAGA NIE MA POTRZEBY czyszczenia istniejących usług sieciowych. Jeśli są wyłączone, nie będą przeszkadzać i można je łatwo ponownie włączyć w razie potrzeby.

sudo systemctl enable systemd-networkd sudo systemctl disable dhcpcd sudo systemctl disable networking sudo systemctl enable systemd-resolved.service sudo systemctl enable systemd-resolved.service sudo systemctl disable wpa_supplicant.service sudo systemctl enable [email protected] 

Stan można sprawdzić, wykonując następujące czynności: –

systemctl status systemd-networkd systemctl status systemd-resolved.service systemctl status wpa_supplicant.service systemctl status [email protected] systemctl status dbus.service 

Referencje

  1. Debian Wiki
  2. ArchLinux Wiki zawiera obszerny zestaw dokumentacji.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *