9.2. Generell nettverkskonfigurasjon

Denne delen gjelder kun hvis et nettverkskort skal konfigureres.

9.2.1. Konfigurasjonsfiler for nettverksgrensesnitt

Fra og med versjon 209, inneholder systemd en nettverkskonfigurasjons nisse (daemon) kalt systemd-networkd som kan brukes til grunnleggende nettverkskonfigurasjon. I tillegg, siden versjon 213, DNS navneoppløsning kan håndteres av systemd-resolved i stedet for den statiske /etc/resolv.conf filen. Begge tjenestene er aktivert som standard.

[Notat]

Notat

Hvis du ikke vil bruke systemd-networkd for nettverkskonfigurasjon (for eksempel når systemet ikke er koblet til et nettverk, eller du vil bruke et annet verktøy som NetworkManager for nettverkskonfigurasjonen), deaktiver en tjeneste for å forhindre en feilmelding under oppstart:

systemctl disable systemd-networkd-wait-online

Konfigurasjonsfiler for systemd-networkd (og systemd-resolved) kan plasseres i /usr/lib/systemd/network eller /etc/systemd/network. Filer i /etc/systemd/network har en høyere prioritet enn de i /usr/lib/systemd/network. Det finnes tre typer konfigurasjonsfiler: .link, .netdev og .network filene. For detaljert beskrivelser og eksempelinnhold i disse konfigurasjonsfilene, se systemd.link(5), systemd.netdev(5), og systemd.network(5) manualsider.

9.2.1.1. Navngivning av nettverksenheter

Udev tildeler normalt nettverkskortgrensesnittnavn basert på fysiske systemegenskaper som enp2s1. Hvis du ikke er sikker på hva grensesnittnavnet ditt er, kan du alltid kjøre ip link etter at du har startet opp systemet.

[Notat]

Notat

Grensesnittnavnene avhenger av implementeringen og konfigurasjon av udev nissen som kjører på systemet. Udev nissen for LFS (systemd-udevd, installert i Seksjon 8.76, «Systemd-256.5») vil ikke kjøre med mindre LFS systemet er startet opp. Så det er upålitelig å bestemme grensesnittnavnet som brukes i LFS systemet ved å kjøre disse kommandoene på vertens distribusjon, selv om du er i chroot miljøet.

For de fleste systemer er det kun ett nettverksgrensesnitt for hver type tilkobling. For eksempel det klassiske grensesnittnavnet på en kablet tilkobling er eth0. En trådløs tilkobling vil vanligvis ha navnet wifi0 eller wlan0.

Hvis du foretrekker å bruke de klassiske eller tilpassede nettverksgrensesnittnavnene, det er tre alternative måter å gjøre det på:

  • Masker udev .link filen for standardregler:

    ln -s /dev/null /etc/systemd/network/99-default.link
  • Lag et manuelt navneskjema, for eksempel ved å gi navn til grensesnitt med noe som internet0, dmz0, eller lan0. For å gjøre det, lag .link filer i /etc/systemd/network/ som velger et eksplisitt navn eller et bedre navneskjema for nettverksgrensesnittene dine. For eksempel:

    cat > /etc/systemd/network/10-ether0.link << "EOF"
    [Match]
    # Change the MAC address as appropriate for your network device
    MACAddress=12:34:45:78:90:AB
    
    [Link]
    Name=ether0
    EOF

    Se systemd.link(5) for mer informasjon.

  • I /boot/grub/grub.cfg, send alternativet net.ifnames=0 på kjernekommandolinjen.

9.2.1.2. Statisk IP konfigurasjon

Kommandoen nedenfor oppretter en grunnleggende konfigurasjonsfil for et Statisk IP oppsett (bruker både systemd-networkd og systemd-resolved):

cat > /etc/systemd/network/10-eth-static.network << "EOF"
[Match]
Name=<network-device-name>

[Network]
Address=192.168.0.2/24
Gateway=192.168.0.1
DNS=192.168.0.1
Domains=<Your Domain Name>
EOF

Flere DNS oppføringer kan legges til hvis du har mer enn en DNS server. Ikke inkluder DNS- eller Domainsoppføringer hvis du har tenkt å bruke den statiske filen /etc/resolv.conf file.

9.2.1.3. DHCP konfigurasjon

Kommandoen nedenfor oppretter en grunnleggende konfigurasjonsfil for et IPv4 DHCP oppsett:

cat > /etc/systemd/network/10-eth-dhcp.network << "EOF"
[Match]
Name=<network-device-name>

[Network]
DHCP=ipv4

[DHCPv4]
UseDomains=true
EOF

9.2.2. Opprette filen /etc/resolv.conf

Hvis systemet skal kobles til Internett, vil det trenge noen form for Domain Name Service (DNS) navneløsning for å løse Internett domenenavn til IP adresser, og omvendt. Dette kan best oppnås ved å plassere IP adressen til DNS serveren, tilgjengelig fra Internett-leverandøren eller nettverksadministratoren til /etc/resolv.conf.

9.2.2.1. systemd-resolved konfigurasjon

[Notat]

Notat

Hvis du bruker metoder som er inkompatible med systemd-resolved til å konfigurere nettverksgrensesnittene dine (f.eks.: ppp, etc.), eller hvis du bruker en type lokal løsning (f.eks. bind, dnsmasq, ubundet, etc.), eller annen programvare som genererer en /etc/resolv.conf (eks: et resolvconf program annet enn det levert av systemd), systemd-resolved service bør ikke brukes.

For å deaktivere systemd-resolved, utfør følgende kommando:

systemctl disable systemd-resolved

Når du bruker systemd-resolved for DNS konfigurasjon, oppretter den filen /run/systemd/resolve/stub-resolv.conf. Og hvis /etc/resolv.conf ikke finnes, blir den opprettet av systemd-resolved som en symbolkobling til /run/systemd/resolve/stub-resolv.conf. Så det er unødvendig å lage en /etc/resolv.conf manuelt.

9.2.2.2. Statisk resolv.conf konfigurasjon

Hvis en statisk /etc/resolv.conf er ønsket, opprett den ved å kjøre følgende kommando:

cat > /etc/resolv.conf << "EOF"
# Begin /etc/resolv.conf

domain <Your Domain Name>
nameserver <IP address of your primary nameserver>
nameserver <IP address of your secondary nameserver>

# End /etc/resolv.conf
EOF

domain erklæringen kan utelates eller erstattet med en search erklæring. Se mansiden for resolv.conf for flere detaljer.

Erstatt <IP address of the nameserver> med IP adressen til DNS serveren som passer best for oppsettet ditt. Det vil ofte være mer enn en oppføring (krever sekundær server for reservefunksjon). Hvis du bare trenger eller ønsker en DNS-server, fjern den andre nameserver linjen fra filen. IP adressen kan også være en ruter på det lokale nettverket. Et annet alternativ er å bruke Googles offentlige DNS tjeneste ved å bruke IP adressene nedenfor som navneservere.

[Notat]

Notat

Google sine offentlige DNS adresser er 8.8.8.8 og 8.8.4.4 for IPv4, og 2001:4860:4860::8888 og 2001:4860:4860::8844 for IPv6.

9.2.3. Konfigurerer systemvertsnavnet

Under oppstartsprosessen vil filen /etc/hostname brukes til å etablere systemets vertsnavn.

Opprett /etc/hostname filen og skriv inn et vertsnavn ved å kjøre:

echo "<lfs>" > /etc/hostname

<lfs> må erstattes med navnet til datamaskinen. Ikke skriv inn det fullt kvalifiserte domenenavnet (FQDN) her. Den informasjonen skal i /etc/hosts filen.

9.2.4. Tilpasse /etc/hosts filen

Bestem deg for et fullt kvalifisert domenenavn (FQDN) og mulige aliaser til bruk i /etc/hosts filen. Hvis du bruker statisk IP adresse, må du også bestemme deg for en IP adresse. Syntaksen for en vertsfiloppføring er:

IP_address myhost.example.org aliases

Med mindre datamaskinen skal være synlig for Internett (dvs. det er et registrert domene og en gyldig blokk med tildelte IP adresser—de fleste brukere har ikke dette), sørg for at IP adressen er i den private nettverkets IP adresseområde. Gyldige områder er:

Private Network Address Range      Normal Prefix
10.0.0.1 - 10.255.255.254           8
172.x.0.1 - 172.x.255.254           16
192.168.y.1 - 192.168.y.254         24

x kan være et hvilket som helst tall i området 16-31. y kan være et hvilket som helst tall i område 0-255.

En gyldig privat IP adresse kan være 192.168.1.1.

Hvis datamaskinen skal være synlig for Internett, en gyldig FQDN kan være selve domenenavnet, eller en streng som er resultatet av å sette sammen et prefiks (ofte vertsnavnet) og domenenavnet med «.» karakter. Og du må kontakte domeneleverandøren for å knytte FQDN til din offentlige IP-adresse.

Selv om datamaskinen ikke er synlig for Internett, er en FQDN fortsatt nødvendig for at visse programmer, for eksempel MTA-er, skal fungere ordentlig. En spesiell FQDN, localhost.localdomain, kan bli brukt til dette formålet.

Opprett /etc/hosts filen ved å bruke følgende kommando:

cat > /etc/hosts << "EOF"
# Begin /etc/hosts

<192.168.0.2> <FQDN> [alias1] [alias2] ...
::1       ip6-localhost ip6-loopback
ff02::1   ip6-allnodes
ff02::2   ip6-allrouters

# End /etc/hosts
EOF

<192.168.0.2> og <FQDN> verdier må bli endret for spesifikke bruksområder eller krav (hvis tildelt en IP adresse av en nettverks-/systemadministrator og maskinen kobles til et eksisterende nettverk). De valgfrie aliasnavnene kan utelates, og <192.168.0.2>linjen kan utelates hvis du bruker en tilkobling konfigurert med DHCP eller IPv6 autokonfigurasjon, eller bruker localhost.localdomain som FQDN.

/etc/hostname inneholder ikke oppføringer for localhost, localhost.localdomain, eller vertsnavnet (uten domene) fordi de håndteres av myhostname NSS modul, les mansiden nss-myhostname(8) for detaljer.

::1 oppføringen er IPv6 motstykket til 127.0.0.1 og representerer IPv6 loopback grensesnittet.