Kako nastavim omrežje/WiFi/statični naslov IP?

Sledil sem (katerikoli od stotih) navodil in ne deluje.

Kako nastavim omrežje/WiFi/statični naslov IP na Raspberry Pi?


(To je Dorothy Dixer, da bi, upajmo, ujeli na stotine podobnih vprašanj.)

Rešitev

To vodilo opisuje, kako nastaviti omrežje s privzetim upraviteljem omrežja dhcpcd, ki je vključen v Raspbian od 2015-05-05.
Velja za temeljne izdaje Raspbian Buster, Raspbian Stretch, Raspbian Jessie in zadnjo Raspbian Wheezy.
Nastavitve za Buster so enake kot za Stretch. Kako nastaviti omrežje Raspbian

Če uporabljate povezavo Ethernet z usmerjevalnikom, konfiguracija ne bi smela biti potrebna in bi morala delovati takoj po namestitvi.

Pi3B+ in Pi4 imata vmesnike Gigabit Ethernet in bosta delovala na usmerjevalniku Gigabit Ethernet (1000BASE-T) le, če boste uporabili osemžični kabel CAT 5E. Prejšnji modeli Pi, ki so podpirali le 100BASE-T, delujejo s šestžičnim kablom.

OPOMBA: Pi3/Pi Zero W vgrajeni WiFi ne podpira 5GHz omrežij in se ne more povezati s Ch 12,13 v 2,4GHz omrežjih, dokler ni nastavljena brezžična regulativna domena.

WiFi na napravah, ki podpirajo 5 GHz, je onemogočen, dokler ni nastavljena brezžična regulativna domena (Pi4B, Pi3B+, Pi3A+).

  • Domeno lahko nastavite prek Raspberry Pi Configuration (rc_gui), raspi-config ali z nastavitvijo country= na ustrezno kodo države ISO 3166 alpha2 v /etc/wpa_supplicant/wpa_supplicant.conf. Če uporabljate WiFi in grafični vmesnik, ki ga nastavite v skladu s smernicami Foundation Guidelines Če uporabljate WiFi iz ukazne vrstice, nastavite v skladu s smernicami Foundation Guidelines. To je edini način za nastavitev omrežja, ki ne oddaja SSID. To lahko uporabite tudi za nastavitev sistema 'Headless', npr. z uporabo zaporednega konzolnega kabla, vendar je veliko lažje, če si lahko za nastavitev izposodite monitor in tipkovnico. Glej spodaj za drugo možno metodo z uporabo ethernetnega kabla na osebni računalnik.

    Brezglava namestitev Raspbian WiFi

    Raspbian od maja 2016 preverja vsebino zagonskega imenika za datoteko z imenom wpa_supplicant.conf in jo kopira v /etc/wpa_supplicant, pri čemer nadomesti morebitno obstoječo datoteko wpa_supplicant.conf. Datoteka v zagonskem imeniku se nato odstrani. To se lahko uporabi za omogočanje nastavitve brez glave z uporabo nastavitev wpa_supplicant.conf, opisanih spodaj. (Verjetno boste želeli omogočiti tudi ssh.) Kakšen je moj naslov IP?

    Če želite izvedeti samo naslov IP, ki ga uporablja vaš Pi, v ukazno vrstico vnesite hostname -I. SSH

    Od izdaje novembra 2016 je strežnik SSH v sistemu Raspbian privzeto onemogočen. Morate ga omogočiti ročno. V terminal vnesite sudo raspi-config, najprej izberite advanced options, nato pojdite do ssh, pritisnite Enter in izberite Omogoči ali onemogoči strežnik ssh. Pri nastavitvi brez glave lahko SSH omogočite tako, da na zagonski razdelek kartice SD namestite datoteko z imenom 'ssh' brez končnice. Omrežne datoteke

    Če uporabljate najnovejši sistem Raspbian, mora biti datoteka /etc/network/interfaces naslednja. Če ste jo spremenili, jo vrnite nazaj. (Ali pa jo na Stretch preprosto izbrišite - dejansko ne naredi NIČ.)

    # datoteka interfaces(5), ki jo uporabljata ifup(8) in ifdown(8)
    # Upoštevajte, da je ta datoteka napisana za uporabo z dhcpcd
    # Za statični IP si oglejte /etc/dhcpcd.conf in 'man dhcpcd.conf'
    # Vključite datoteke iz /etc/network/interfaces.d:
    izvorni imenik /etc/network/interfaces.d
    
    ---------- Datoteka `/etc/wpa_supplicant/wpa_supplicant.conf` bo ustvarjena/spremenjena s priporočenimi metodami namestitve, lahko pa jo nastavite tudi ročno. Najnovejši Raspbian ima v `raspi-config` možnost za vnos SSID in gesla. Vsebovati mora nekaj takega, kot sledi:-
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=AU

network={
    ssid="ESSID"
    psk="Your_wifi_password"
}

Če se morate povezati v zasebno omrežje (tj. brez oddajanja SSID), vključite vrstico scan_ssid=1 znotraj `network={⋯}}.

OPOMBA Če se želite povezati z različnimi omrežji (npr. v službi ali doma), lahko vključite več vnosov network={⋯}.
Če imate dostop do več omrežij in se želite povezati z določenim omrežjem, vključite vrstico priority=100 v vnos network={⋯}.
Za vsako omrežje lahko izberete drugačno prednostno nalogo, izbrano bo dostopno omrežje z najvišjo prednostno nalogo; privzeta vrednost je 0. Več drugih možnosti, ki jih lahko uporabite, glejte man wpa_supplicant.conf.. Opombe o zastarelih operacijskih sistemih

Jessie ne vključuje kljuke 10-wpa_supplicant za upravljanje vmesnikov WiFi, zato so potrebne povezave do wpa_supplicant. Te nastavitve niso združljive s predvidljivimi imeni omrežnih vmesnikov. Vmesniki /etc/network/interfaces, ki jih uporablja Jessie, morajo biti:-

# 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

OPOMBA klicanje dhcp v /etc/network/interfaces bo izklopilo dhcpcd.

Predvidljiva imena omrežnih vmesnikov

Stretch je uvedel1 predvidljiva imena omrežnih vmesnikov, ki se že nekaj časa uporabljajo v drugih distribucijah. Imena omrežnih vmesnikov bodo sestavljena iz predpone en - ethernet ali wl - wlan, ki ji sledi x, ki označuje MAC, in MAC, npr. enxb827eb123456 ali wlx00c140123456. Vgrajeni WiFi računalnikov Pi4, Pi3 in PIZeroW, ki je povezan prek sdio, bo uporabljal ime wlan0. To je lahko koristno za tiste, ki uporabljajo več omrežnih vmesnikov, vendar za večino uporabnikov Pi z enim samim ethernetnim vmesnikom in vmesnikom WiFi ne bo bistvene razlike. Prejšnji imeni eth0 in wlan0 lahko obnovite, če v ukazni vrstici jedra v /boot/cmdline.txt podate net.ifnames=0. V programu raspi-config je možnost, ki omogoča predvidljiva imena omrežnih vmesnikov.

  1. Iz nekega nerazumljivega razloga se je Fundacija odločila, da "onemogoči predvidljiva imena omrežnih vmesnikov za naprave Ethernet" le tri tedne po uvedbi dolgo pričakovane funkcije. V razdelku Advanced Options (Dodatne možnosti) programa raspi-config je možnost za preklop te nastavitve.

    Nastavitev statičnega naslova IP

    Oglejte si ločen odgovor Statični naslov IP

    Napredna konfiguracija dhcpcd

    Raspbian privzeto uporablja dhcpcd za upravljanje omrežnih vmesnikov. To je samodejno in večini uporabnikov ni treba storiti nič več kot določiti SSID in geslo za brezžična omrežja. Konfiguracijo delovanja dhcpcd je mogoče nastaviti z vnosom možnosti v /etc/dhcpcd.conf; glejte man dhcpcd.conf. Dober članek o dhcpcd je na https://wiki.archlinux.org/index.php/dhcpcd. V nadaljevanju so opisane nekatere najpogostejše konfiguracije:- Profil nadomestnega strežnika

    V dhcpcd je mogoče konfigurirati statični profil in se nanj vrniti, ko zakup DHCP odpove. To je uporabno zlasti za stroje brez glave, kjer se lahko statični profil uporabi kot "obnovitveni" profil, da se zagotovi, da je vedno mogoče vzpostaviti povezavo z računalnikom. Statični profil se nastavi kot vsak drug statični naslov 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
Preprečitev konfiguracije vmesnika z `dhcpcd` ------- To se pogosto stori, da bi Pi lahko deloval kot [dostopna točka](https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md) (ki jo je treba konfigurirati z drugimi datotekami), medtem ko je omogočena običajna konfiguracija `DHCP` na drugih vmesnikih. Dodajte `denyinterfaces wlan0` na konec datoteke (vendar nad vse druge dodane vrstice vmesnikov). Preprečitev konfiguracije vmesnika z vratom `dhcpcd` na vmesniku ------- Če želite, da vmesnik ne namesti nobenih privzetih poti (pogosto se uporablja v povezavi s statičnim naslovom IP), določite
    nogateway
Konfiguracija za posameznega gostitelja ------- `dhcpcd` lahko konfigurira vmesnike, ki so odvisni od omrežja gostitelja. Pri tem se uporablja protokol ARP (Address Resolution Protocol) za preverjanje gostiteljev na podlagi MAC ali IP-naslova, preden se poskuša razrešiti DHCP.
    vmesnik 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
Če teh funkcij ne uporabljate in imate preprosto omrežje, lahko DHCP pospešite tako, da onemogočite sondiranje ARP.
    noarp
Uporaba različnih datotek wpa_supplicant ------- Dhcpcd je mogoče konfigurirati tako, da uporablja različne datoteke wpa_supplicant.conf za določen brezžični vmesnik. Ustvarite datoteko z imenom `wpa_supplicant-"$interface".conf` v `/etc/wpa_supplicant/` npr. datoteko `wpa_supplicant-wlan0.conf` bo uporabljal samo vmesnik `wlan0` `/etc/wpa_supplicant/wpa_supplicant.conf` bo uporabljen za vse druge brezžične vmesnike. ---------- Povezovanje računalnika z računalnikom Pi ======= Zadnje različice Raspbiana (ki uporabljajo `dhcpcd`) omogočajo, da `ssh` deluje prek naslova `link-local`, `avahi` (ki je implementacija zeroconfa) pa programom omogoča odkrivanje gostiteljev, ki delujejo v lokalnem omrežju. To pomeni, da lahko Pi priključite na računalnik (z ethernetnim kablom) ali usmerjevalnik lokalnega omrežja in se povežete, ne da bi poznali naslov IP. Iz operacijskih sistemov Linux in OS X se lahko preprosto povežete s programom `ssh pi@hostname.local` (privzeto ime gostitelja je `raspberrypi`) To bi moralo delovati s priljubljenimi programi `ssh` z grafičnim vmesnikom. Včasih je to problematično pri nekaterih različicah sistema Windows in omrežjih, ki uporabljajo .local na nestandardni način. (Glej https://en.wikipedia.org/wiki/.local) OPOMBA: Rešitev `.local` ne deluje vedno, npr. v programu `rsync`. Naslednje bi moralo razrešiti IP (in ga lahko vključite v skripte `bash`). `RemotePi=$(getent hosts hostname.local | awk '{ print $1 }')` Če vaš sistem nima funkcije `getent` za poizvedovanje po `hostih`, npr. macOS, lahko uporabite naslednje:- `RemotePi=$(arp -n hostname.local | awk '{x = $2; gsub(/[()]/, "", x); print x }')` Če imate več računalnikov Pi, morate poskrbeti, da ima vsak računalnik Pi edinstveno gostiteljsko ime. Uporabite lahko navzkrižni kabel, vendar ga ne potrebujete (večina sodobnih vmesnikov ga samodejno zazna). Ena od pomanjkljivosti neposredne povezave je, da Pi ne bo imel dostopa do interneta in datum ne bo nastavljen. Datum lahko skopirate iz gostitelja tako, da pred vzpostavitvijo povezave zaženete `ssh pi@hostname.local sudo date -s$(date -Ins)`. Področje uporabe: ------ > *Ta vadnica govori o nastavitvi običajne namestitve Raspbian za dostop do interneta z uporabo priložene programske opreme. Zajema tudi povezave z drugimi računalniki v istem omrežju.* > *Predvsem je namenjeno novim uporabnikom, ki se trudijo, da bi njihov Pi (zlasti WiFi) začel delovati .*

NE pokriva:-

  • drugih upraviteljev omrežja.
  • Zagon naprednih omrežij na Pi (npr. strežniki DHCP, tuneliranje, VPN, dostopna točka).
  • uporabo ipv6 (čeprav bi to moralo delovati, če imate omrežje ipv6).
  • Alternativne omrežne nastavitve. (Obstaja veliko različnih načinov nastavitve omrežja.)
Komentarji (34)

Za statični naslov IP v povezavi Ethernet:

sudo nano /etc/dhcpcd.conf 2. Na vrhu datoteke vnesite naslednje vrstice:

    vmesnik eth0
    static ip_address=192.168.1.XX/24
    statični usmerjevalniki=192.168.1.1
    static domain_name_servers=192.168.1.1
  1. sudo reboot

To je treba storiti za nedavno posodobitev Jessie. /etc/network/interfaces je treba pustiti pri miru. Odprite brskalnik in vnesite naslov usmerjevalnika (za večino 192.168.1.1) ter preverite domače omrežje, da se Raspberry Pi prikaže kot 'Statični'.

Komentarji (9)

Kratka in zanesljiva metoda, kako to narediti z:

Raspbian Jessie & Stretch

S tem boste nastavili fiksni IP in omogočili demona ssh:

  • Odprite /boot/cmdline.txt in na konec vrstice dodajte ip=192.168.1.20.
  • Ustvarite prazno datoteko /boot/ssh
  • Zagon računalnika Raspberry Pi
  • V Linuxu zaženite ssh pi@192.168.1.20, geslo je raspberry. V operacijskem sistemu Windows uporabite Putty za povezavo prek ssh.

To uporabljam za dostop do svojih Raspbian Jessie in Stretch, ki se zažene brez priključenega monitorja, samo z napajanjem in ethernetom. Po dostopu do njega z lupino ssh lahko nadaljujem z nastavitvami.

Po tem postopku je Raspberry PI imel dva IP-ja: enega iz fiksnega IP, ki ste ga določili, in enega iz odjemalca dhcp, ki teče na Raspberry Pi.

ifconfig vam bo pokazal fiksni IP. Modra puščica na desnem zgornjem kotu pa prikazuje IP dhcpd.

Komentarji (8)