Filters
Zo zoek je
  • Gewone woorden vinden namen, teksten en voorbeelden.
  • "twee woorden" vindt precies die zin.
  • --naam of -x vindt een optie.
  • #woord zoekt alleen in commando's.
  • @grep vindt lessen en labs die grep gebruiken.
  • Filters: cat:network · in:labs · in:notes · level:rhcsa · ch:8 · root:yes. Zet ! voor een woord om het weg te laten. OR tussen woorden betekent één ervan.
  • ↑ ↓ bewegen · Enter openen · Esc sluiten · / zoeken

Hoofdstuk 8Naam in het boek: Configuring Networking

Het netwerk instellen

Na dit hoofdstuk kun je IP-adressen lezen, controleren of het netwerk werkt, een server een vast adres geven met nmcli, de hostnaam wijzigen en naamresolutie instellen. Dit zijn een paar van de meest voorkomende taken op het examen en op het werk.

  • 18 Lessen
  • 18 Commando's
  • 1 Labs

$ als gewone gebruiker# als root (of met sudo)

Examendoelen in dit hoofdstuk

  • Netwerkdiensten starten, stoppen en hun status controleren
  • IPv4- en IPv6-adressen instellen
  • Naamresolutie instellen
  • Netwerkdiensten bij het opstarten laten starten

8.1

Een IPv4-adres en het masker lezen

Een IPv4-adres bestaat uit 4 getallen van 0 tot 255. Het masker (of prefix) vertelt welk deel het netwerk is en welk deel de host.

Een adres zoals 192.168.122.10/24 heeft twee delen:

  • 192.168.122.10 is het adres van deze computer.
  • /24 is de prefix. De eerste 24 bits (de eerste 3 getallen) zijn het netwerk. Het laatste getal is de host.

Je kunt hetzelfde masker op twee manieren schrijven. Linux-tools gebruiken de prefixvorm.

PrefixMaskerBruikbare hosts
/8255.0.0.016.777.214
/16255.255.0.065.534
/24255.255.255.0254
/25255.255.255.128126
/26255.255.255.19262
/30255.255.255.2522

Elk getal is 8 bits. Binair is 255 11111111 en 192 11000000. De prefix telt de 1-bits van het masker vanaf links. Het aantal hosts is 2 tot de macht (32 − prefix), min 2: één adres is voor het netwerk zelf en één is voor broadcast.

Privé-reeksen worden alleen binnen netwerken gebruikt en niet op internet gerouteerd: 10.0.0.0/8, 172.16.0.0/12 en 192.168.0.0/16. Het adres 127.0.0.1 is de computer zelf (loopback).

Onthoud

/24 = 255.255.255.0 = 254 hosts. Elke stap hoger (/25, /26 …) halveert het aantal hosts.

Examentip

Het examen geeft het adres in prefixvorm, zoals 192.168.4.10/24. Typ het in die vorm in nmcli.

Commando's in deze les

8.2

Een IPv6-adres lezen

Een IPv6-adres is 128 bits, geschreven als 8 groepen van 4 hexadecimale tekens. Je mag het korter schrijven.

Voorbeeld: 2001:0db8:0000:0000:0000:0000:0000:0010 wordt 2001:db8::10.

  1. Haal de nullen aan het begin van elke groep weg: 0db8 wordt db8.
  2. Vervang één reeks groepen die helemaal nul zijn door ::. Dat mag maar één keer in een adres.

De meeste netwerken gebruiken een /64-prefix: de eerste 64 bits zijn het netwerk, de laatste 64 bits de host.

AdresBetekenis
::1De computer zelf (loopback)
fe80::/10Link-local. Elke netwerkkaart heeft er een. Werkt alleen op het lokale netwerk.
2000::/3Globale adressen, gebruikt op internet
fd00::/8Unique local-adressen, voor privénetwerken

Onthoud

:: mag maar één keer voorkomen. Een link-local-adres (fe80::) is normaal: het betekent niet dat IPv6 is ingesteld.

8.3

MAC-adressen, protocollen en poorten kennen

Het MAC-adres vindt een netwerkkaart op het lokale netwerk. Het IP-adres vindt een computer over netwerken heen. De poort vindt het programma op die computer.

  • Een MAC-adres is 6 bytes hexadecimaal, zoals 52:54:00:3a:7c:01. De maker van de netwerkkaart stelt het in. Je ziet het met ip link.
  • TCP maakt een verbinding en controleert of alle data aankomt (SSH, web, mail). UDP verstuurt zonder verbinding (DNS-vragen, NTP-tijd).
  • Een poort is een getal van 1 tot 65535. Poorten onder 1024 zijn voor bekende diensten.
PoortDienst
22/tcpSSH
53/udp en tcpDNS
80/tcp, 443/tcpHTTP, HTTPS
123/udpNTP (tijd)
2049/tcpNFS

Het bestand /etc/services noemt de bekende poortnummers en hun namen.

grep -w 22 /etc/services
ssh             22/tcp
ssh             22/udp

Op het werk

Maak bij een beveiligingscontrole eerst een lijst van de poorten die luisteren (volgende lessen). Elke open poort moet een eigenaar en een reden hebben.

8.4

Je adressen en netwerkkaarten bekijken

Gebruik ip om naar het netwerk te kijken. Het toont de echte instellingen die de kernel nu gebruikt.

  1. Toon alle adressen. ip a is kort voor ip address show.
    ip a
    ip -br a
    lo               UNKNOWN        127.0.0.1/8 ::1/128
    enp1s0           UP             192.168.122.10/24 fe80::5054:ff:fe3a:7c01/64
  2. Toon maar één kaart en alleen IPv4.
    ip -4 addr show dev enp1s0
  3. Toon de kaarten (links), hun MAC-adres en status. -s voegt tellers toe voor fouten en verloren pakketten.
    ip link show
    ip -s link show enp1s0

Namen van netwerkkaarten vertellen waar de kaart zit: en = Ethernet, o1 = op het moederbord, s1 = slot, p1s0 = PCI-bus 1, slot 0. Dus eno1, ens160 en enp1s0 zijn allemaal normale namen.

Let op

Wijzigingen met ip addr add of ip link set zijn na een herstart weg. Gebruik nmcli voor instellingen die moeten blijven.

8.5

De route en de standaardgateway controleren

De routeringstabel zegt waar pakketten naartoe gaan. De standaardroute (standaardgateway) wordt gebruikt voor elk adres dat geen betere route heeft.

ip route show
default via 192.168.122.1 dev enp1s0 proto static metric 100
192.168.122.0/24 dev enp1s0 proto kernel scope link src 192.168.122.10 metric 100

De eerste regel is de standaardgateway. De tweede regel zegt: het lokale netwerk bereik je direct via enp1s0.

Zo zie je welke weg het systeem voor één adres gebruikt:

ip route get 8.8.8.8
8.8.8.8 via 192.168.122.1 dev enp1s0 src 192.168.122.10 uid 1000

Test dan de weg, stap voor stap:

  1. Kun je de gateway bereiken? ping hem 3 keer.
    ping -c 3 192.168.122.1
  2. Kun je een adres op internet bereiken?
    ping -c 3 8.8.8.8
  3. Waar stopt de weg? tracepath toont elke router onderweg.
    tracepath -n 8.8.8.8

Onthoud

Ping naar de gateway werkt maar naar internet niet = een probleem achter je gateway. Ping naar internet werkt op nummer maar niet op naam = een DNS-probleem.

8.6

Controleren of een poort of dienst antwoordt

ss toont welke poorten op dit systeem luisteren en welke verbindingen open zijn.

ss -tuln
ss -tulpn

De letters: t = TCP, u = UDP, l = alleen luisterende poorten, n = nummers (geen namen), p = toon het programma. Je hebt root nodig om de programma's van andere gebruikers te zien.

ss -tlpn sport = :22
State  Recv-Q Send-Q Local Address:Port  Peer Address:Port Process
LISTEN 0      128          0.0.0.0:22         0.0.0.0:*     users:(("sshd",pid=1021,fd=3))

Een dienst kan luisteren en toch geblokkeerd worden door de firewall. Controleer dus ook de firewall (hoofdstuk 23) en test vanaf een andere computer.

curl -I http://server1.example.com

Controleer het

Draait de dienst, en luistert hij op het juiste adres en de juiste poort?

systemctl status sshd
ss -tlpn

Op het werk

0.0.0.0:22 betekent "alle IPv4-adressen". 127.0.0.1:5432 betekent "alleen deze computer" — een database die niet van buitenaf bereikbaar hoort te zijn.

8.7

Weten wie het netwerk mag wijzigen

root mag alles wijzigen. Een gewone gebruiker mag het netwerk alleen wijzigen als hij op de lokale console is ingelogd.

NetworkManager vraagt aan PolicyKit wie wat mag doen. Controleer je eigen rechten:

nmcli general permissions

Een gebruiker die met SSH inlogt, krijgt auth of no voor de meeste acties. Gebruik sudo of werk als root om het netwerk via SSH te wijzigen.

Let op

Als je via SSH werkt, kan een verkeerde wijziging je eigen verbinding verbreken. Controleer de nieuwe instellingen twee keer voor nmcli con up. Houd op een virtuele machine de console open.

8.8

Het IPv4-adres wijzigen met nmcli

NetworkManager bewaart de instellingen in een verbindingsprofiel. Wijzig het profiel met nmcli connection modify en activeer het daarna met nmcli connection up.

  1. Zoek de naam van het profiel en het apparaat.
    nmcli connection show
    NAME    UUID                                  TYPE      DEVICE
    enp1s0  3f0c3a8e-6c35-4c5a-9a0e-7f1a2b3c4d5e  ethernet  enp1s0
  2. Stel een vast adres, de gateway en een DNS-server in. ipv4.method manual zet DHCP uit.
    nmcli connection modify enp1s0 ipv4.method manual ipv4.addresses 192.168.122.10/24 \
        ipv4.gateway 192.168.122.1 ipv4.dns 192.168.122.1
  3. Activeer het profiel opnieuw, zodat de wijziging nu wordt gebruikt.
    nmcli connection up enp1s0

Controleer het

Het adres, de route en DNS moeten kloppen.

ip -br a show enp1s0
ip route show default
cat /etc/resolv.conf

Je kunt korte woorden gebruiken: con voor connection, mod voor modify, en ipv4.addresses kun je ook schrijven als ip4. Tabaanvulling werkt voor nmcli: druk twee keer op Tab om de mogelijke volgende woorden te zien.

Zo ga je terug naar DHCP:

nmcli con mod enp1s0 ipv4.method auto ipv4.addresses "" ipv4.gateway "" ipv4.dns ""
nmcli con up enp1s0

Onthoud

eerst modify, dan up. Zonder up wacht de wijziging in het profiel.

Examentip

Herstart aan het einde van het examen en controleer het adres opnieuw. Een instelling die alleen actief is (en niet in het profiel staat), is na een herstart weg.

8.9

Een IPv6-adres of een tweede IP toevoegen

Een profiel kan veel adressen hebben. Een + voor de instelling voegt een waarde toe, een - haalt er een weg.

  1. Voeg een tweede IPv4-adres toe aan dezelfde kaart.
    nmcli con mod enp1s0 +ipv4.addresses 192.168.122.110/24
  2. Voeg een vast IPv6-adres en een gateway toe.
    nmcli con mod enp1s0 ipv6.method manual ipv6.addresses 2001:db8:10::10/64 ipv6.gateway 2001:db8:10::1
  3. Activeer de wijzigingen.
    nmcli con up enp1s0

Controleer het

ip -br a show enp1s0
ping -6 -c 2 2001:db8:10::1

Zo haal je één adres weer weg:

nmcli con mod enp1s0 -ipv4.addresses 192.168.122.110/24

Onthoud

+ voegt toe, - haalt weg, zonder teken vervang je alle waarden.

8.10

Een nieuw verbindingsprofiel maken

Eén apparaat kan veel profielen hebben, maar er is er maar één tegelijk actief. Een nieuw profiel is handig als je tussen instellingen wilt wisselen, of voor een nieuwe netwerkkaart.

  1. Maak het profiel. con-name is de naam van het profiel, ifname is het apparaat.
    nmcli con add con-name lab-static type ethernet ifname enp1s0 \
        ipv4.method manual ipv4.addresses 192.168.122.10/24 ipv4.gateway 192.168.122.1 ipv4.dns 192.168.122.1
  2. Schakel naar het nieuwe profiel, en terug.
    nmcli con up lab-static
    nmcli con up enp1s0
  3. Verwijder een profiel dat je niet nodig hebt.
    nmcli con delete lab-static

Let op

Als twee profielen voor één apparaat allebei autoconnect aan hebben, weet je niet welke na een herstart start. Zet de ongewenste uit: nmcli con mod enp1s0 connection.autoconnect no.

Commando's in deze les

8.11

Het netwerk wijzigen met nmtui (menu's)

nmtui is een tekstmenu voor dezelfde instellingen. Het is makkelijk als je de woorden van nmcli niet meer weet.

  1. Start het als root.
    nmtui
  2. Kies Edit a connection, kies het profiel, zet IPv4 CONFIGURATION van Automatic op Manual en vul het adres met prefix, de gateway en de DNS-server in.
  3. Kies OK, dan Back, dan Activate a connection. Zet het profiel uit en weer aan, zodat de wijziging wordt gebruikt.

Gebruik de pijltjestoetsen en Tab om te bewegen, de spatiebalk om een vakje aan te vinken en Enter om te kiezen.

Examentip

nmtui is snel en veilig voor één adres. Gebruik nmcli als je veel instellingen moet typen of in een script werkt.

Commando's in deze les

8.12

De profielbestanden lezen en bewerken

Elk profiel staat als tekstbestand (keyfile) in /etc/NetworkManager/system-connections/. Je kunt het lezen, en bewerken als je NetworkManager daarna opnieuw laat lezen.

ls /etc/NetworkManager/system-connections/
enp1s0.nmconnection
cat /etc/NetworkManager/system-connections/enp1s0.nmconnection
enp1s0.nmconnection
[connection]
id=enp1s0
type=ethernet
interface-name=enp1s0
 
[ipv4]
method=manual
address1=192.168.122.10/24,192.168.122.1
dns=192.168.122.1;

Laat NetworkManager na een wijziging met de hand de bestanden opnieuw lezen en activeer het profiel:

nmcli con reload
nmcli con up enp1s0

Let op

Het bestand moet van root zijn en modus 600 hebben (-rw-------), anders gebruikt NetworkManager het niet. In RHEL 10 worden de oude ifcfg-bestanden in /etc/sysconfig/network-scripts/ niet meer gebruikt.

8.13

De hostnaam wijzigen

hostnamectl wijzigt de naam van het systeem nu en na een herstart. Het schrijft de naam in /etc/hostname.

  1. Toon de huidige naam.
    hostnamectl
  2. Stel de nieuwe naam in. Gebruik de volledige naam (FQDN).
    hostnamectl set-hostname server1.example.com
  3. Controleer het. Een nieuwe shell toont de nieuwe naam in de prompt.
    hostname
    server1.example.com

nmcli general hostname server1.example.com doet hetzelfde.

Onthoud

hostnamectl set-hostname = nu + na herstart. Het commando hostname alleen wijzigt de naam maar tot de volgende herstart.

8.14

DNS en /etc/hosts instellen

Linux kijkt eerst in /etc/hosts en vraagt daarna de DNS-servers. De volgorde staat in /etc/nsswitch.conf.

  1. Zet een naam in /etc/hosts voor een computer die geen DNS-naam heeft. Vorm: adres, volledige naam, korte namen.
    /etc/hosts
    127.0.0.1       localhost localhost.localdomain
    ::1             localhost localhost.localdomain
    192.168.122.20  server2.example.com server2
  2. Stel de DNS-servers in het profiel in. NetworkManager schrijft dan /etc/resolv.conf voor je. Bewerk dat bestand niet met de hand: je wijziging is bij de volgende update weg.
    nmcli con mod enp1s0 ipv4.dns "192.168.122.1 1.1.1.1" ipv4.dns-search example.com
    nmcli con up enp1s0
  3. Als DHCP ook DNS-servers stuurt en je alleen de jouwe wilt:
    nmcli con mod enp1s0 ipv4.ignore-auto-dns yes

Controleer het

Test de namen. getent volgt dezelfde volgorde als het systeem (hosts-bestand en DNS). dig, host en nslookup vragen alleen DNS.

getent hosts server2
192.168.122.20  server2.example.com server2
dig +short www.redhat.com
nslookup www.redhat.com
/etc/nsswitch.conf (part)
hosts:      files dns myhostname

dig, host en nslookup zitten in het pakket bind-utils.

Onthoud

eerst het hosts-bestand, dan DNS. getent hosts test allebei, dig test alleen DNS.

Op het werk

Als een app een naam niet bereikt maar dig wel werkt, vergelijk dan met getent hosts. Een oude regel in /etc/hosts wint vaak van DNS.

8.15

Netwerkdiensten bij het opstarten starten

Het netwerk zelf start bij het opstarten als NetworkManager aan staat en het profiel autoconnect aan heeft. Andere netwerkdiensten (zoals SSH of een webserver) starten bij het opstarten als je ze met systemd enablet.

  1. Zorg dat NetworkManager nu draait en bij het opstarten start.
    systemctl enable --now NetworkManager
  2. Zorg dat het profiel vanzelf start.
    nmcli con mod enp1s0 connection.autoconnect yes
  3. Start, stop en controleer een netwerkdienst en laat hem bij het opstarten starten.
    systemctl status sshd
    systemctl restart sshd
    systemctl enable --now sshd

Controleer het

Na een herstart moeten het profiel en de dienst actief zijn.

nmcli -f NAME,DEVICE,STATE con show --active
systemctl is-enabled sshd
systemctl is-active sshd

Onthoud

enable = starten bij het opstarten. --now = ook meteen starten.

8.16

Onthoud de hoofdpunten

De belangrijkste feiten van dit hoofdstuk, kort.

8.17

Leer de belangrijke termen

De woorden van dit hoofdstuk in eenvoudig Nederlands.

TermBetekenis
IP-adresHet adres van een netwerkkaart in een netwerk.
Prefix / netmaskerWelk deel van het adres het netwerk is (/24 = 255.255.255.0).
GatewayDe router die verkeer naar andere netwerken stuurt.
DNSDe dienst die namen in IP-adressen omzet.
MAC-adresHet hardware-adres van een netwerkkaart.
PoortEen nummer voor één dienst op een host (22 = SSH, 80 = HTTP).
NetworkManagerDe dienst die het netwerk op RHEL beheert.
VerbindingsprofielEen opgeslagen set netwerkinstellingen voor een apparaat.
Apparaat (device)Een netwerkkaart of andere netwerkinterface, zoals enp1s0.
HostnaamDe naam van het systeem.

8.18

Controleer wat je geleerd hebt

Denk eerst zelf na, open dan het antwoord.

1Hoeveel bruikbare hostadressen heeft een /24-netwerk?

254.

2Welk commando toont alle IP-adressen kort?
3Hoe zie je welke diensten op TCP- en UDP-poorten luisteren?
4Waarom is een wijziging met ip addr add niet goed voor het examen?

Die is weg na een herstart. Gebruik nmcli, dan staat het in het profiel.

5Hoe voeg je een tweede IP-adres aan een profiel toe?
6Hoe wijzig je de hostnaam blijvend?
7Hoe vindt server1 server2 op naam zonder DNS?

Zet een regel voor server2 in /etc/hosts.

8Welk commando test naamresolutie zoals programma's dat doen?

Oefenen

Alle commando's in dit hoofdstuk