Postupoval jsem podle (některého ze stovek) návodů a nefunguje to.
Jak nastavím síť/WiFi/statickou IP adresu na Raspberry Pi?
(Toto je Dorothy Dixer, která snad zachytí stovky podobných otázek.)
Pokud používáte Ethernet připojení s routerem, neměla by být nutná žádná konfigurace a mělo by to fungovat hned po vybalení.
Pi3B+ a Pi4 mají rozhraní Gigabit Ethernet a budou fungovat pouze s gigabitovým ethernetovým (1000BASE-T) směrovačem, pokud se použije osmižilový kabel CAT 5E. Dřívější modely Pi, které podporovaly pouze 100BASE-T, fungují přes 6žilový kabel.
POZNÁMKA: Vestavěná WiFi v Pi3/Pi Zero W nepodporuje 5GHz sítě a nemusí se připojit k Ch 12,13 v 2,4GHz sítích, dokud není nastavena bezdrátová regulační doména.
WiFi na zařízeních s podporou 5GHz je zakázáno, dokud není nastavena bezdrátová regulační doména (Pi4B, Pi3B+, Pi3A+).
- Doménu lze nastavit prostřednictvím
Raspberry Pi Configuration
(rc_gui),raspi-config
nebo nastavenímcountry=
na příslušný kód země ISO 3166 alpha2 v souboru/etc/wpa_supplicant/wpa_supplicant.conf
. Pokud používáte WiFi a GUI nastavené podle Foundation Guidelines. Používáte-li WiFi z příkazového řádku, nastavte podle Foundation Guidelines. Toto je jediný způsob nastavení sítě, která nevysíláSSID
. Tento postup lze také použít k nastavení 'Headless' systému, např. pomocí sériového konzolového kabelu, ale je to MNOHEM jednodušší, pokud si k nastavení můžete půjčit monitor a klávesnici. Další možný způsob použití ethernetového kabelu k PC viz níže.Bezhlavé nastavení WiFi Raspbianu
Raspbian od května 2016 kontroluje obsah zaváděcího adresáře, zda v něm není soubor
wpa_supplicant.conf
, a zkopíruje jej do adresářeetc/wpa_supplicant
, čímž nahradí všechny existující souborywpa_supplicant.conf
, které tam mohou být. Soubor v zaváděcím adresáři je poté odstraněn. Toho lze využít k zapnutí bezhlavého nastavení pomocí nastavení souboruwpa_supplicant.conf
, které je podrobně popsáno níže. (Pravděpodobně budete chtít povolit takéssh
.) Jaká je moje IP adresa?Pokud chcete pouze zjistit
IP adresu
, kterou používá váš počítač Pi, zadejte do příkazového řádkuhostname -I
. SSHOd vydání z listopadu 2016 má Raspbian server SSH ve výchozím nastavení vypnutý. Budete jej muset povolit ručně. V terminálu zadejte
sudo raspi-config
, nejprve vyberterozšířené možnosti
, poté přejděte nassh
, stiskněteEnter
a vyberte možnost Povolit nebo zakázat ssh server. V případě bezhlavého nastavení lze SSH povolit umístěním souboru s názvem 'ssh' bez přípony do zaváděcího oddílu karty SD. Síťové souboryPokud používáte nejnovější verzi systému Raspbian, měl by být soubor
/etc/network/interfaces
následující. Pokud jste jej změnili, VLOŽTE jej ZPĚT (Nebo jej naStretch
prostě odstraňte - efektivně nedělá NIC.)# interfaces(5) soubor používaný ifup(8) a ifdown(8) # Vezměte prosím na vědomí, že tento soubor je zapsán pro použití s dhcpcd # Pro statickou IP se podívejte do souboru /etc/dhcpcd.conf a 'man dhcpcd.conf' # Zahrňte soubory z /etc/network/interfaces.d: zdrojový adresář /etc/network/interfaces.d---------- Soubor `/etc/wpa_supplicant/wpa_supplicant.conf` bude vytvořen/změněn doporučenými metodami nastavení, ale lze jej nastavit i ručně. Nejnovější verze Raspbianu mají v poli `raspi-config` možnost zadat SSID a Heslo. Měla by obsahovat něco jako následující: -
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=AU
network={
ssid="ESSID"
psk="Your_wifi_password"
}
Pokud se potřebujete připojit k soukromé síti (tj. bez vysílání SSID
), vložte řádek scan_ssid=1
dovnitř network={⋯}
.
POZNÁMKA: Pokud se chcete připojit k různým sítím (např. v práci nebo doma), můžete zahrnout více položek
network={⋯}
.
Pokud máte přístup k více sítím a chcete se připojit k určité síti, uveďte uvnitř položkynetwork={⋯}
řádekpriority=100
.
Pro každou síť můžete zvolit jinou prioritu, vybrána bude přístupná síť s nejvyšší prioritou; výchozí hodnota je 0. Existuje mnoho dalších možností, které lze použít, vizman wpa_supplicant.conf
.. Poznámky k zastaralým operačním systémůmJessie neobsahuje háček
10-wpa_supplicant
pro správu rozhraní WiFi, takže je nutné použít odkazy na wpa_supplicant. Tato nastavení nejsou kompatibilní s předvídatelnými názvy síťových rozhraní. V souboru/etc/network/interfaces
používaném nástrojem Jessie by mělo být:-
# 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
POZNÁMKA volání dhcp v /etc/network/interfaces
zakáže dhcpcd
.
Stretch
zavedl1 předvídatelné názvy síťových rozhraní, které se již nějakou dobu používají v jiných distribucích.
Síťová rozhraní budou mít názvy tvořené předponou en
- ethernet nebo wl
- wlan, za kterou bude následovat x
označující MAC
a MAC
, např. enxb827eb123456
nebo wlx00c140123456
.
Vestavěná WiFi počítačů Pi4, Pi3 a PIZeroW, která je připojena přes sdio
, však bude používat název wlan0
.
To může být výhodné pro ty, kteří používají více síťových rozhraní, nicméně pro většinu uživatelů Pi s jediným rozhraním Ethernet a WiFi bude rozdíl malý. Předchozí názvy eth0
a wlan0
lze obnovit, pokud v příkazovém řádku jádra v souboru /boot/cmdline.txt
zadáte net.ifnames=0
.
V raspi-config
je volba, která povoluje předvídatelné názvy síťových rozhraní.
1. Z nějakého nepochopitelného důvodu se Nadace rozhodla "Zakázat předvídatelné názvy síťových rozhraní pro ethernetová zařízení" pouhé tři týdny po zavedení dlouho očekávané funkce. V Raspi-config
je v části Advanced Options
možnost toto nastavení přepnout.dhcpcd
dhcpcd
. Je to automatické a většina uživatelů nemusí dělat nic víc než zadávat SSID a heslo pro bezdrátové sítě.
Je možné nastavit fungování dhcpcd
zadáním voleb do souboru /etc/dhcpcd.conf
; viz man dhcpcd.conf
. Dobrý článek o dhcpcd
je na adrese https://wiki.archlinux.org/index.php/dhcpcd.
V následujícím textu jsou popsány některé z nejběžnějších konfigurací:-
Náhradní profilV rámci dhcpcd
je možné nakonfigurovat statický profil a vrátit se k němu, když selže pronájem DHCP. To je užitečné zejména u bezhlavých počítačů, kde lze statický profil použít jako "recovery" profil, který zajistí, že se k počítači bude možné vždy připojit. Statický profil se nastavuje jako jakákoli jiná statická IP adresa.
# definovat statický profilZabránění konfiguraci rozhraní pomocí `dhcpcd` ------- To se často dělá proto, aby Pi mohl fungovat jako [Access Point](https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md). (který je třeba nakonfigurovat pomocí jiných souborů) a zároveň umožnit normální konfiguraci `DHCP` na ostatních rozhraních. Na konec souboru (ale nad všechny ostatní přidané řádky rozhraní) přidejte `denyinterfaces wlan0`. Zabránit konfiguraci brány na rozhraní pomocí `dhcpcd`. ------- Pokud chcete, aby rozhraní neinstalovalo žádné výchozí trasy (často se používá ve spojení se statickou IP adresou), zadejte příkazprofile static_eth0 static ip_address=⋯ static routers=⋯ static domain_name_servers=⋯ # fallback to static profile on eth0 interface eth0 fallback static_eth0
nogatewayKonfigurace specifická pro hostitele ------- `dhcpcd` může konfigurovat rozhraní závislá na síti hostitele. To využívá protokol ARP (Address Resolution Protocol) k prozkoumání hostitelů na základě MAC nebo IP adresy před pokusem o překlad DHCP.
rozhraní bge0 arping 192.168.0.1Pokud tyto funkce nepoužíváte a máte jednoduchou síť, můžete DHCP urychlit vypnutím sondování ARP.# 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
noarpPoužití různých souborů wpa_supplicant ------- Je možné nakonfigurovat dhcpcd tak, aby používal různé soubory wpa_supplicant.conf pro konkrétní bezdrátové rozhraní. Vytvořte soubor s názvem `wpa_supplicant-"$interface".conf` v `/etc/wpa_supplicant/` např. soubor `wpa_supplicant-wlan0.conf` bude používán pouze pro `wlan0`. `/etc/wpa_supplicant/wpa_supplicant.conf` bude použit pro všechna ostatní bezdrátová rozhraní. ---------- Připojení počítače k počítači Pi ======= Poslední verze Raspbianu (které používají `dhcpcd`) umožňují `ssh` pracovat přes `link-local` adresu a `avahi` (což je implementace zeroconf) umožňuje programům zjišťovat hostitele běžící v místní síti. To znamená, že Pi můžete připojit k počítači (pomocí ethernetového kabelu) nebo ke směrovači místní sítě a připojit se bez znalosti IP adresy. Z Linuxu a OS X se můžete snadno připojit pomocí `ssh [email protected]` (výchozí hostitelské jméno je `raspberrypi`) Mělo by to fungovat s populárními programy s grafickým rozhraním `ssh`. Problematické je to někdy u některých verzí Windows a sítí, které používají nestandardní způsob .local. (Viz https://en.wikipedia.org/wiki/.local) POZNÁMKA: Rozlišení `.local` nefunguje vždy, např. v programu `rsync`. Následující příkazy by měly řešit IP (a mohou být zahrnuty do skriptů `bash`). `RemotePi=$(getent hosts hostname.local | awk '{ print $1 }')` Pokud váš systém nemá funkci `getent` pro dotazování na `hosty`, např. macOS, můžete použít následující příkaz:- `RemotePi=$(arp -n hostname.local | awk '{x = $2; gsub(/[()]/, "", x); print x }')` Pokud máte více počítačů Pi, musíte se ujistit, že každý počítač Pi má jedinečné jméno hostitele. Můžete použít křížený kabel, ale nepotřebujete ho (většina moderních rozhraní se detekuje automaticky). Jednou z nevýhod přímého připojení je, že Pi nebude mít přístup k internetu a nebude nastaveno datum. Datum můžete zkopírovat z hostitele tak, že před připojením spustíte `ssh [email protected] sudo date -s$(date -Ins)`. Rozsah: V případě, že je datový server připojen k internetu, je možné, aby se datový server připojil k internetu: ------ > *Tento návod se zabývá nastavením běžné instalace Raspbianu pro přístup k internetu pomocí přiloženého softwaru. Zahrnuje také připojení k jiným počítačům ve stejné síti.* > *Je zaměřen především na pomoc novým uživatelům, kteří se snaží zprovoznit svůj počítač Pi (zejména WiFi) .*
NEZAHRNUJE:-
- Ostatní správci sítě.
- Provozování pokročilých sítí na počítači Pi (např. servery
DHCP
, tunelování, VPN, přístupový bod).- Použití
ipv6
(i když pokud máte síťipv6
, mělo by to fungovat).- Alternativní nastavení sítě. (Existuje mnoho různých způsobů nastavení sítě.)
Pro statickou adresu IP v připojení Ethernet:
sudo nano /etc/dhcpcd.conf
1.
2. V horní části souboru zadejte následující řádky:
Rozhraní eth0
static ip_address=192.168.1.XX/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
sudo reboot
Toto je třeba provést pro nedávnou aktualizaci Jessie. /etc/network/interfaces
by měl být ponechán v klidu. Otevřete prohlížeč a zadejte adresu routeru (většinou 192.168.1.1) a zkontrolujte, zda se vaše domácí síť zobrazuje jako 'Static'.
Krátká a spolehlivá metoda, jak to udělat s:
Tím nastavíte pevnou IP a povolíte démona ssh:
/boot/cmdline.txt
a na konec řádku přidejte ip=192.168.1.20
./boot/ssh
.ssh [email protected]
, heslo je raspberry
. Pro připojení přes ssh použijte ve Windows Putty.Já'to používám pro přístup ke svému Raspbianu Jessie a Stretch, který se spouští bez připojeného monitoru, pouze s napájením a ethernetem. Po přístupu pomocí ssh shellu mohu pokračovat v nastavení.
Po tomto ošetření měl Raspberry PI dvě IP adresy: Jednu z pevně zadané IP a druhou z dhcp-klienta běžícího na Raspberry Pi.
ifconfig
vám ukáže pevnou IP. Zatímco modrá ikona se šipkou vpravo nahoře ukazuje IP adresu dhcpd.