Ten tutorial opisuje jak skonfigurować networking używając domyślnego menedżera sieci dhcpcd zawartego w Raspbian od 2015-05-05.
Odnosi się do wydań Foundation Raspbian Buster, Raspbian Stretch, Raspbian Jessie i ostatniego Raspbian Wheezy.
Ustawienia Buster są identyczne jak Stretch.
Jeśli używasz połączenia Ethernet z routerem nie powinno być żadnej konfiguracji wymagane i powinno działać po wyjęciu z pudełka.
Pi3B+ i Pi4 mają interfejsy Gigabit Ethernet i będzie działać tylko na Gigabit Ethernet (1000BASE-T) router, jeśli 8 kabel CAT 5E jest używany. Wcześniejsze modele Pi, które obsługiwały tylko 100BASE-T działają na kablu 6 przewodowym.
UWAGA Pi3/Pi Zero W wbudowane WiFi nie obsługuje sieci 5GHz i może nie połączyć się z Ch 12,13 w sieciach 2,4GHz do czasu ustawienia domeny regulacyjnej sieci bezprzewodowej.
WiFi na urządzeniach obsługujących 5GHz jest wyłączone do czasu ustawienia domeny regulacyjnej sieci bezprzewodowej (Pi4B, Pi3B+, Pi3A+)
- Domenę można ustawić poprzez
Raspberry Pi Configuration
(rc_gui),raspi-config
lub ustawiająccountry=
na odpowiedni kod kraju ISO 3166 alpha2 w/etc/wpa_supplicant/wpa_supplicant.conf
.
Jeśli używasz WiFi i GUI skonfigurowanego zgodnie z wytycznymi Fundacji
Jeśli używasz WiFi z wiersza poleceń skonfigurowanego zgodnie z wytycznymi FundacjiJest to jedyny sposób na skonfigurowanie sieci, która nie rozgłasza SSID
.
To może być również użyte do skonfigurowania systemu 'Headless’ np. używając kabla konsoli szeregowej, ale jest to o wiele łatwiejsze, jeśli możesz pożyczyć monitor i klawiaturę do konfiguracji. Zobacz poniżej dla innej możliwej metody przy użyciu kabla Ethernet do komputera.
- Headless Raspbian WiFi Setup
- Co to jest mój adres IP?
- SSH
- Pliki sieciowe
- Uwagi na temat przestarzałych systemów operacyjnych
- Predictable Network Interface Names
- Setup a Static IP Address
- Zaawansowana konfiguracja dhcpcd
- Profil awaryjny
- Prevent dhcpcd from configuring an interface
- Prevent dhcpcd from configuring a gateway on an interface
- Host Specific Configuration
- Używaj różnych plików wpa_supplicant
- Podłączanie komputera do Pi
- Zakres:
Headless Raspbian WiFi Setup
Raspbian, od maja 2016, sprawdza zawartość katalogu startowego dla pliku o nazwie wpa_supplicant.conf
, i skopiuje plik do /etc/wpa_supplicant
, zastępując każdy istniejący plik wpa_supplicant.conf
, który może tam być. Plik w katalogu startowym jest następnie usuwany. Może to być wykorzystane do włączenia headless konfiguracji, przy użyciu wpa_supplicant.conf
ustawienia szczegółowo poniżej lub Konfigurowanie Raspberry Pi headless (prawdopodobnie będziesz chciał włączyć ssh
, jak również.)
Co to jest mój adres IP?
Jeśli chcesz po prostu wiedzieć IP Address
twój Pi używa wpisz hostname -I
w wierszu poleceń.
SSH
Od wydania listopad 2016, Raspbian ma serwer SSH wyłączony domyślnie. Będziesz musiał włączyć go ręcznie.
Wprowadź sudo raspi-config
w terminalu, najpierw wybierz advanced options
, następnie przejdź do ssh
, naciśnij Enter
i wybierz Włącz lub wyłącz serwer ssh.
W przypadku konfiguracji bezgłowej, SSH może być włączony przez umieszczenie pliku o nazwie 'ssh’, bez żadnego rozszerzenia, na partycji rozruchowej karty SD.
Pliki sieciowe
Jeśli używasz najnowszego Raspbiana
/etc/network/interfaces
powinien być taki jak poniżej. Jeśli go zmieniłeś, WSTAW GO Z POWROTEM. (Lub naStretch
po prostu usuń go – to skutecznie NIE ROBI NIC.)
# 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/modyfikowany przez zalecane metody konfiguracji, ale może być skonfigurowany ręcznie. Ostatnie Raspbian mają opcję w raspi-config
do wprowadzenia SSID i hasła. Powinien on zawierać coś takiego jak poniższe:-
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=AUnetwork={ ssid="ESSID" psk="Your_wifi_password"}
Jeśli potrzebujesz połączyć się z prywatną siecią (tj. bez rozgłaszania SSID
) dołącz linię scan_ssid=1
wewnątrz network={⋯}
.
UWAGA Jeśli chcesz połączyć się z różnymi sieciami (np.
Jeśli masz dostęp do wielu sieci i chcesz się połączyć z konkretną siecią, umieść wiersz
priority=100
wewnątrz wpisunetwork={⋯}
.
Możesz wybrać inny priorytet dla każdej sieci, wybrana zostanie sieć o najwyższym priorytecie; domyślnie 0.
Istnieje wiele innych opcji, których można użyć zobacz man wpa_supplicant.conf
.
Uwagi na temat przestarzałych systemów operacyjnych
Jessie nie zawiera haka 10-wpa_supplicant
do zarządzania interfejsami WiFi, więc potrzebne są linki do wpa_supplicant. Te ustawienia są niekompatybilne z Predictable Network Interface Names.
Ustawienie /etc/network/interfaces
używane 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.dauto loiface lo inet loopbackiface eth0 inet manualallow-hotplug wlan0iface wlan0 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.confallow-hotplug wlan1iface wlan1 inet manual wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
NOTE wywołanie dhcp w /etc/network/interfaces
wyłączy dhcpcd
.
Predictable Network Interface Names
Stretch
wprowadziło1 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 na MAC
i MAC
np. enxb827eb123456
lub wlx00c140123456
.Wbudowany WiFi Pi4, Pi3 i PIZeroW, który jest podłączony przez sdio
będzie jednak używać nazwy wlan0
To może być korzystne dla tych, którzy korzystają z wielu interfejsów sieciowych, jednak dla większości użytkowników Pi, z jednym interfejsem Ethernet i WiFi będzie niewielka różnica. Poprzednie nazwy eth0
i wlan0
mogą zostać przywrócone, jeśli przekażesz net.ifnames=0
w wierszu poleceń jądra w /boot/cmdline.txt
.
Istnieje opcja w raspi-config
, aby włączyć przewidywalne nazwy interfejsów sieciowych.
1. Z jakiegoś niezrozumiałego powodu Fundacja zdecydowała się na „Wyłączenie przewidywalnych nazw interfejsów sieciowych dla urządzeń Ethernet” zaledwie 3 tygodnie po wprowadzeniu długo oczekiwanej funkcji. Istnieje opcja pod Advanced Options
w raspi-config
, aby przełączyć to ustawienie.
Setup a Static IP Address
Jeśli chcesz Pi być przypisany przewidywalny adres IP można albo zarezerwować jeden w routerze LUB poprosić serwer DHCP, aby przypisać go.
E.g. następujące zażąda adresu na wlan0.
interface wlan0request 10.1.2.99
request
Zażądaj adresu w wiadomości DHCP DISCOVER. Nie ma gwarancji, że jest to adres, który serwer DHCP rzeczywiście poda. Jeśli nie podano żadnego adresu, używany jest pierwszy adres aktualnie przypisany do interfejsu.
Jeśli zażądasz adresu IP z zakresu zarządzanego 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 zobacz osobną odpowiedź Statyczny adres IP
Zaawansowana konfiguracja dhcpcd
Raspbian, domyślnie, używa dhcpcd
do zarządzania interfejsami sieciowymi. Jest to automatyczne, a większość użytkowników nie musi robić nic więcej niż określić SSID i hasło dla sieci bezprzewodowych.
Możliwe jest skonfigurowanie sposobu działania dhcpcd
przez wprowadzenie opcji w /etc/dhcpcd.conf
; zobacz man dhcpcd.conf
.Istnieje dobry artykuł na temat dhcpcd
pod adresem https://wiki.archlinux.org/index.php/dhcpcd
Następujące opisy niektórych bardziej powszechnych konfiguracji:-
Profil awaryjny
Możliwe jest skonfigurowanie statycznego profilu w ramach dhcpcd
i powrót do niego, gdy dzierżawa DHCP nie powiedzie się. Jest to przydatne szczególnie dla maszyn bezgłowych, gdzie profil statyczny może być użyty jako profil „recovery”, aby zapewnić, że zawsze jest możliwe połączenie z maszyną. Profil statyczny jest skonfigurowany 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
Prevent dhcpcd from configuring an interface
This is often done to enable the Pi to act as an Access Point (which needs to be configured using other files), while allowing normal DHCP
configuration on other interfaces.
Add denyinterfaces wlan0
to the end of the file (but above any other added interface lines).
Prevent dhcpcd from configuring a gateway on an interface
Jeśli chcesz, aby interfejs nie instalował żadnych domyślnych tras (często używane w połączeniu ze statycznym adresem IP) określ
nogateway
Host Specific Configuration
dhcpcd
może skonfigurować interfejsy w zależności od sieci hosta. To używa protokołu ARP (Address Resolution Protocol) do sondowania hostów na podstawie adresu MAC lub IP przed próbą 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
Możesz przyspieszyć DHCP przez wyłączenie sondowania ARP, jeśli nie używasz tych funkcji i masz prostą sieć.
noarp
Używaj różnych plików wpa_supplicant
Możliwe jest skonfigurowanie dhcpcd tak, aby używał 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żywany tylko przez wlan0
/etc/wpa_supplicant/wpa_supplicant.conf
będzie używany dla wszelkich innych interfejsów bezprzewodowych.
Podłączanie komputera do Pi
Ostatnie wersje Raspbiana (które używają dhcpcd
) pozwalają ssh
pracować nad adresem link-local
, a avahi
(który jest implementacją zeroconf) umożliwia programom odkrywanie hostów działających w sieci lokalnej.
To oznacza, że można podłączyć Pi do komputera (za pomocą kabla Ethernet) lub routera sieci lokalnej i połączyć się bez znajomości adresu IP.
Możesz łatwo połączyć się z Linux i OS X z ssh [email protected]
(domyślna nazwa hosta to raspberrypi
) To powinno działać z popularnych programów GUI ssh
.This jest czasami problematyczne z 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 powinny rozwiązać IP (i mogą być zawarte w bash
skryptów)RemotePi=$(getent hosts hostname.local | awk '{ print }')
Jeśli twój system nie ma getent
do zapytania hosts
np. macOS można użyć następujących:-RemotePi=$(arp -n hostname.local | awk '{x = ; gsub(//, "", x); print x }')
Jeśli masz wiele Pi musisz upewnić się, że każdy Pi ma unikalną nazwę hosta.
Możesz użyć kabla krosowanego, ale nie jest to konieczne (większość nowoczesnych interfejsów automatycznie wykrywa).
Jedną z wad bezpośredniego połączenia jest to, że Pi nie będzie miał 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:
Tutorial ten jest o ustawieniu normalnej instalacji Raspbian, aby uzyskać dostęp do Internetu za pomocą dołączonego oprogramowania. Obejmuje on również połączenia z innymi komputerami w tej samej sieci.
Jest on przede wszystkim skierowany do nowych użytkowników, którzy mają problemy z uruchomieniem swojego Pi (zwłaszcza WiFi).
Nie obejmuje on:-
- Innych menedżerów sieci.
- Uruchamianie zaawansowanych sieci na Pi (np. serwery
DHCP
, tunelowanie, VPN, punkt dostępu).- Używanie
ipv6
(chociaż jeśli masz siećipv6
, to powinno działać).- Alternatywne konfiguracje sieci. (Istnieje wiele różnych sposobów konfigurowania sieci.)
.