Hvordan konfigurerer jeg nettverk/WiFi/statisk IP-adresse?

Jeg har fulgt (hvilken som helst av hundrevis) veiledning, og det fungerer ikke.

Hvordan setter jeg opp nettverk/WiFi/statisk IP-adresse på Raspberry Pi?


(Dette er en Dorothy Dixer for forhåpentligvis å fange opp hundrevis av lignende spørsmål.).

Løsning

Denne veiledningen beskriver hvordan du konfigurerer nettverk ved hjelp av standard nettverksadministrator dhcpcd inkludert i Raspbian siden 2015-05-05.
Det gjelder Foundation-utgavene av Raspbian Buster, Raspbian Stretch, Raspbian Jessie og den siste Raspbian Wheezy.
Innstillingene for Buster er identiske med Stretch; Hvordan sette opp Raspbian-nettverk

Hvis du bruker en Ethernet -tilkobling med en ruter, bør det ikke være behov for konfigurasjon, og det skal fungere ut av esken. Pi3B + og Pi4 har Gigabit Ethernet grensesnitt og vil bare fungere på en Gigabit Ethernet (1000BASE-T) ruter hvis en 8-leder CAT 5E-kabel brukes. Tidligere Pi-modeller som bare støttet 100BASE-T fungerer over 6-leder kabel.

MERK Pi3 / Pi Zero W innebygd WiFi støtter ikke 5GHz-nettverk, og kan ikke koble til Ch 12,13 på 2.4GHz-nettverk før trådløst reguleringsdomene er angitt.

WiFi på 5GHz-aktiverte enheter er deaktivert inntil wireless regulatory domain er angitt (Pi4B, Pi3B+, Pi3A+).

  • Domenet kan angis gjennom Raspberry Pi Configuration (rc_gui), raspi-config eller ved å sette country= til en passende ISO 3166 alpha2 landskode i /etc/wpa_supplicant/wpa_supplicant.conf. Hvis du bruker WiFi og brukergrensesnittet satt opp ved å følge Foundation Guidelines. Hvis du bruker WiFi fra kommandolinjen, konfigureres det ved å følge Foundation Guidelines. Dette er den eneste måten å sette opp et nettverk som ikke sender SSID. Dette kan også brukes til å sette opp et "hodeløst" system, f.eks. ved hjelp av en seriell konsollkabel, men det er MYE enklere hvis du kan låne en skjerm og tastatur for oppsett. Se nedenfor for en annen mulig metode ved hjelp av en Ethernet-kabel til en PC.

    Hodeløst Raspbian WiFi-oppsett ###.

    Raspbian, siden mai 2016, sjekker innholdet i oppstartskatalogen for en fil som heter wpa_supplicant.conf, og vil kopiere filen til /etc/wpa_supplicant, og erstatte enhver eksisterende wpa_supplicant.conf-fil som kan være der. Filen i oppstartskatalogen fjernes deretter. Dette kan brukes til å aktivere hodeløst oppsett ved hjelp av wpa_supplicant.conf-innstillingene som er beskrevet nedenfor. (Du vil sannsynligvis også ønske å aktivere ssh). Hva er IP-adressen min?

    Hvis du bare vil vite IP-adressen din Pi bruker, skriv inn hostname -I på kommandolinjen. SSH

    Fra og med utgivelsen i november 2016 har Raspbian SSH-serveren deaktivert som standard. Du må aktivere den manuelt. Skriv inn sudo raspi-config i terminalen, velg først avanserte alternativer, naviger deretter til ssh, trykk Enter og velg Aktiver eller deaktiver ssh-server. For hodeløst oppsett kan SSH aktiveres ved å plassere en fil med navnet 'ssh', uten noen utvidelse, på oppstartspartisjonen på SD-kortet. Nettverksfiler

    Hvis du kjører en nyere Raspbian /etc/network/interfaces skal være som nedenfor. Hvis du har endret det, SETT DET TILBAKE (Eller på Stretch bare slett det - det gjør faktisk INGENTING).

    # interfaces(5) fil som brukes av ifup(8) og ifdown(8)
    # Vær oppmerksom på at denne filen er skrevet for å brukes med dhcpcd
    # For statisk IP, se /etc/dhcpcd.conf og man dhcpcd.conf;
    # Inkluder filer fra /etc/network/interfaces.d:
    source-directory /etc/network/interfaces.d
    
    ---------- Filen `/etc/wpa_supplicant/wpa_supplicant.conf` vil bli opprettet/modifisert av de anbefalte oppsettmetodene, men kan settes opp for hånd. Nyere Raspbian har et alternativ i `raspi-config` for å angi SSID og passord. Det bør inneholde noe som følgende:-
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=AU

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

Hvis du trenger å koble til et privat nettverk (dvs. ingen broadcast SSID), inkluder linjen scan_ssid=1 i network={⋯}. MERK Hvis du vil koble til forskjellige nettverk (f.eks. på jobben eller hjemme), kan du inkludere flere nettverk={⋯}-oppføringer.

Hvis du har tilgang til flere nettverk og ønsker å koble til et bestemt nettverk, inkluderer du linjen priority=100 inne i network={⋯}-oppføringen.
Du kan velge en annen prioritet for hvert nettverk, det høyest prioriterte tilgjengelige nettverket vil bli valgt; standardinnstillingen er 0. *Det finnes mange andre alternativer som kan brukes, se man wpa_supplicant.conf. Merknader om foreldede operativsystemer

Jessie inkluderer ikke 10-wpa_supplicant-kroken for å administrere WiFi-grensesnitt, så koblinger til wpa_supplicant er nødvendig. Disse innstillingene er ikke kompatible med Predictable Network Interface Names. /etc/network/interfaces som brukes av Jessie bør være:- {{589842}}

# 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

MERK å kalle dhcp i /etc/network/interfaces vil deaktivere dhcpcd.

Forutsigbare navn på nettverksgrensesnitt

Stretch introduserte1 predictable network interface names som har vært brukt i andre distribusjoner i noen tid. Nettverksgrensesnitt vil ha navn dannet av et prefiks en - Ethernet eller wl - wlan etterfulgt av x som indikerer MAC og MAC, for eksempel enxb827eb123456 eller wlx00c140123456. Den innebygde WiFi på Pi4, Pi3 og PIZeroW som er tilkoblet via sdio vil imidlertid bruke navnet wlan0. Dette kan være fordelaktig for de som bruker flere nettverksgrensesnitt, men for de fleste Pi-brukere vil et enkelt Ethernet- og WiFi-grensesnitt gjøre liten forskjell. De tidligere navnene eth0 og wlan0 kan gjenopprettes hvis du sender net.ifnames=0 på kjernens kommandolinje i /boot/cmdline.txt. Det finnes et alternativ i raspi-config for å aktivere forutsigbare nettverksgrensesnittnavn.

  1. Av en eller annen uforståelig grunn bestemte stiftelsen seg for å "Deaktivere forutsigbare nettverksgrensesnittnavn for Ethernet-enheter" bare 3 uker etter å ha introdusert den etterlengtede funksjonen. Det er et alternativ under Advanced Options i raspi-config for å bytte denne innstillingen.

    Sett opp en statisk IP-adresse

    Se eget svar Statisk IP-adresse

    Avansert dhcpcd-konfigurasjon

    Raspbian bruker som standard dhcpcd for å administrere nettverksgrensesnitt. Dette er automatisk, og de fleste brukere trenger ikke gjøre mer enn å spesifisere SSID og passord for trådløse nettverk. Det er mulig å konfigurere hvordan dhcpcd fungerer ved å legge inn alternativer i /etc/dhcpcd.conf; se man dhcpcd.conf. Det finnes en god artikkel om dhcpcdhttps://wiki.archlinux.org/index.php/dhcpcd. Det følgende beskriver noen av de vanligste konfigurasjonene:- Fallback-profil

    Det er mulig å konfigurere en statisk profil i dhcpcd og falle tilbake til den når DHCP-leien mislykkes. Dette er spesielt nyttig for hodeløse maskiner, der den statiske profilen kan brukes som "gjenopprettingsprofil" for å sikre at det alltid er mulig å koble til maskinen. Den statiske profilen konfigureres som alle andre statiske IP-adresser.

     # definere statisk profil
    
profile static_eth0
static ip_address=⋯
static routers=⋯
static domain_name_servers=⋯

# fallback to static profile on eth0
interface eth0
fallback static_eth0
Hindre `dhcpcd` fra å konfigurere et grensesnitt ------- Dette gjøres ofte for å gjøre det mulig for Pi å fungere som et [Access Point](https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md) (som må konfigureres ved hjelp av andre filer), mens normal `DHCP`-konfigurasjon tillates på andre grensesnitt. Legg til `denyinterfaces wlan0` på slutten av filen (men over alle andre grensesnittlinjer som er lagt til). Hindre `dhcpcd` fra å konfigurere en gateway på et grensesnitt. ------- Hvis du vil at et grensesnitt ikke skal installere noen standardruter (ofte brukt i forbindelse med en statisk IP-adresse), spesifiserer du
    nogateway
Vertsspesifikk konfigurasjon ------- `dhcpcd` kan konfigurere grensesnitt avhengig av vertsnettverket. Dette bruker Address Resolution Protocol (ARP) for å undersøke verter basert på MAC- eller IP-adresse før DHCP-oppløsning.
    grensesnitt 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
Du kan øke hastigheten på DHCP ved å deaktivere ARP-søking hvis du ikke bruker disse funksjonene og har et enkelt nettverk.
    noarp
Bruk forskjellige wpa_supplicant-filer ------- Det er mulig å konfigurere dhcpcd til å bruke forskjellige wpa_supplicant.conf-filer for et bestemt trådløst grensesnitt. Opprett en fil med navnet `wpa_supplicant-"$interface".conf` i `/etc/wpa_supplicant/`, f.eks. vil `wpa_supplicant-wlan0.conf` bare brukes av `wlan0`. `/etc/wpa_supplicant/wpa_supplicant.conf` vil bli brukt for alle andre trådløse grensesnitt. ---------- Koble en datamaskin til Pi ======= Nyere versjoner av Raspbian (som bruker `dhcpcd`) tillater `ssh` å fungere over en `link-local`-adresse og `avahi` (som er en zeroconf-implementering) gjør det mulig for programmer å oppdage verter som kjører på et lokalt nettverk. Dette betyr at du kan koble Pi til en datamaskin (med en Ethernet-kabel) eller en lokal nettverksruter og koble til uten å vite IP-adressen. Du kan enkelt koble til fra Linux og OS X med `ssh pi@hostname.local` (standard vertsnavn er `raspberrypi`) Dette skal fungere med populære GUI `ssh`-programmer. Dette er noen ganger problematisk med noen versjoner av Windows og nettverk som bruker .local på en ikke-standard måte. (Se https://en.wikipedia.org/wiki/.local) MERK `.local`-oppløsning fungerer ikke alltid, f.eks. i `rsync`. Følgende skal oppløse IP (og kan inkluderes i `bash`-skript) `RemotePi=$(getent hosts vertsnavn.local | awk '{ print $1 }')` Hvis systemet ditt ikke har `getent` for å forespørre `hosts`, f.eks. macOS, kan du bruke følgende:- `RemotePi=$(arp -n vertsnavn.local | awk '{x = $2; gsub(/[()]/, "", x); print x }')` Hvis du har flere Pi, må du sørge for at hver Pi har et unikt vertsnavn. Du kan bruke en crossover-kabel, men du trenger ikke en (de fleste moderne grensesnitt oppdages automatisk). En ulempe med direkte tilkobling er at Pi ikke har tilgang til Internett og at datoen ikke blir satt. Du kan kopiere datoen fra verten ved å kjøre `ssh pi@hostname.local sudo date -s$(date -Ins) ` før tilkobling. Omfang: ------ > * Denne opplæringen handler om å sette opp en normal Raspbian-installasjon for å få tilgang til Internett ved hjelp av den medfølgende programvaren. Den dekker også tilkoblinger til andre datamaskiner på samme nettverk*. Det er først og fremst rettet mot å hjelpe nye brukere som sliter med å få Pi (spesielt WiFi) til å fungere.

Det dekker IKKE:-

  • Andre nettverksadministratorer.
  • Kjøring av avansert nettverk på Pi (f.eks. DHCP-servere, Tunneling, VPN, Access Point).
  • Bruk av ipv6 (selv om du har et ipv6-nettverk, bør dette fungere).
  • Alternative nettverksoppsett. (Det finnes mange forskjellige måter å sette opp nettverk på).
Kommentarer (34)

For en statisk IP-adresse på en Ethernet-tilkobling:

  1. sudo nano /etc/dhcpcd.conf.

  2. Skriv inn følgende linjer øverst i filen:

    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 omstart

Dette må gjøres for den siste Jessie-oppdateringen. /etc/network/interfaces skal være i fred. Åpne nettleseren din og skriv inn ruteradressen din (192.168.1.1 for de fleste) og sjekk hjemmenettverket ditt for å sikre at Raspberry Pi vises som ' Statisk '.

Kommentarer (9)

Kort og idiotsikker metode hvordan du gjør dette med:

Raspbian Jessie & Stretch

Dette vil sette en fast IP og aktivere ssh-demonen:

  • Åpne /boot/cmdline.txt og legg til ip=192.168.1.20 på slutten av linjen.
  • Opprett en tom fil /boot/ssh.
  • Start opp Raspberry Pi
  • På Linux start ssh pi@192.168.1.20 passordet er raspberry. Bruk Putty på Windows for å koble til via ssh.

Jeg bruker dette for å få tilgang til Raspbian Jessie og Stretch som starter opp uten tilkoblet skjerm, bare med strøm og Ethernet. Etter å ha fått tilgang til det med et ssh-skall kan jeg fortsette oppsettet.

Etter denne behandlingen hadde Raspberry PI to IP-er: En fra den faste IP-en du spesifiserte og en fra dhcp-klienten som kjører på Raspberry Pi.

ifconfig vil vise deg den faste IP-en. Mens det blå pil-ikonet øverst til høyre viser dhcpd-IP-en.

Kommentarer (8)