$ 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
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.10is het adres van deze computer./24is 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.
| Prefix | Masker | Bruikbare hosts |
|---|---|---|
/8 | 255.0.0.0 | 16.777.214 |
/16 | 255.255.0.0 | 65.534 |
/24 | 255.255.255.0 | 254 |
/25 | 255.255.255.128 | 126 |
/26 | 255.255.255.192 | 62 |
/30 | 255.255.255.252 | 2 |
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.
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.
- Haal de nullen aan het begin van elke groep weg:
0db8wordtdb8. - 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.
| Adres | Betekenis |
|---|---|
::1 | De computer zelf (loopback) |
fe80::/10 | Link-local. Elke netwerkkaart heeft er een. Werkt alleen op het lokale netwerk. |
2000::/3 | Globale adressen, gebruikt op internet |
fd00::/8 | Unique 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.
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 metip 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.
| Poort | Dienst |
|---|---|
| 22/tcp | SSH |
| 53/udp en tcp | DNS |
| 80/tcp, 443/tcp | HTTP, HTTPS |
| 123/udp | NTP (tijd) |
| 2049/tcp | NFS |
Het bestand /etc/services noemt de bekende poortnummers en hun namen.
grep -w 22 /etc/services
ssh 22/tcp
ssh 22/udpOp 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.
Je adressen en netwerkkaarten bekijken
Gebruik ip om naar het netwerk te kijken. Het toont de echte instellingen die de kernel nu gebruikt.
- Toon alle adressen.
ip ais kort voorip address show. - Toon maar één kaart en alleen IPv4.
ip -4 addr show dev enp1s0 - Toon de kaarten (links), hun MAC-adres en status.
-svoegt tellers toe voor fouten en verloren pakketten.
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.
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 100De 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 1000Test dan de weg, stap voor stap:
- Kun je de gateway bereiken?
pinghem 3 keer.ping -c 3 192.168.122.1 - Kun je een adres op internet bereiken?
ping -c 3 8.8.8.8 - Waar stopt de weg?
tracepathtoont 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.
Controleren of een poort of dienst antwoordt
ss toont welke poorten op dit systeem luisteren en welke verbindingen open zijn.
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.comControleer het
Draait de dienst, en luistert hij op het juiste adres en de juiste poort?
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.
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 permissionsEen 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.
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.
- Zoek de naam van het profiel en het apparaat.
nmcli connection show NAME UUID TYPE DEVICE enp1s0 3f0c3a8e-6c35-4c5a-9a0e-7f1a2b3c4d5e ethernet enp1s0 - Stel een vast adres, de gateway en een DNS-server in.
ipv4.method manualzet 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 - Activeer het profiel opnieuw, zodat de wijziging nu wordt gebruikt.
nmcli connection up enp1s0
Controleer het
Het adres, de route en DNS moeten kloppen.
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 enp1s0Onthoud
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.
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.
- Voeg een tweede IPv4-adres toe aan dezelfde kaart.
nmcli con mod enp1s0 +ipv4.addresses 192.168.122.110/24 - 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 - Activeer de wijzigingen.
nmcli con up enp1s0
Zo haal je één adres weer weg:
nmcli con mod enp1s0 -ipv4.addresses 192.168.122.110/24Onthoud
+ voegt toe, - haalt weg, zonder teken vervang je alle waarden.
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.
- Maak het profiel.
con-nameis de naam van het profiel,ifnameis 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 - Schakel naar het nieuwe profiel, en terug.
- 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.
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.
- Start het als root.
- 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.
- 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.
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[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:
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.
De hostnaam wijzigen
hostnamectl wijzigt de naam van het systeem nu en na een herstart. Het schrijft de naam in /etc/hostname.
- Toon de huidige naam.
- Stel de nieuwe naam in. Gebruik de volledige naam (FQDN).
hostnamectl set-hostname server1.example.com - 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.
DNS en /etc/hosts instellen
Linux kijkt eerst in /etc/hosts en vraagt daarna de DNS-servers. De volgorde staat in /etc/nsswitch.conf.
- Zet een naam in
/etc/hostsvoor een computer die geen DNS-naam heeft. Vorm: adres, volledige naam, korte namen./etc/hosts127.0.0.1 localhost localhost.localdomain ::1 localhost localhost.localdomain 192.168.122.20 server2.example.com server2 - Stel de DNS-servers in het profiel in. NetworkManager schrijft dan
/etc/resolv.confvoor je. Bewerk dat bestand niet met de hand: je wijziging is bij de volgende update weg. - 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.
hosts: files dns myhostnamedig, 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.
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.
- Zorg dat NetworkManager nu draait en bij het opstarten start.
systemctl enable --now NetworkManager - Zorg dat het profiel vanzelf start.
nmcli con mod enp1s0 connection.autoconnect yes - Start, stop en controleer een netwerkdienst en laat hem bij het opstarten starten.
Controleer het
Na een herstart moeten het profiel en de dienst actief zijn.
Onthoud
enable = starten bij het opstarten. --now = ook meteen starten.
Onthoud de hoofdpunten
De belangrijkste feiten van dit hoofdstuk, kort.
- Een IPv4-adres heeft 4 getallen; de prefix (/24) zegt welk deel het netwerk is. IPv6-adressen hebben 128 bits, geschreven in hex.
ip atoont adressen,ip routede routes,ss -tulpnde luisterende poorten.- NetworkManager bewaart instellingen in verbindingsprofielen; wijzig ze met
nmcliofnmtui. Wijzigingen metipzijn weg na een herstart. - Vast IPv4:
nmcli con mod NAAM ipv4.method manual ipv4.addresses IP/PREFIX ipv4.gateway GW ipv4.dns DNS, daarnanmcli con up NAAM. - RHEL 10 bewaart profielen als keyfiles in
/etc/NetworkManager/system-connections/. hostnamectl set-hostname NAAMzet de hostnaam blijvend.- Naamresolutie gebruikt eerst
/etc/hosts, dan DNS (zie/etc/nsswitch.conf); test metgetent hosts NAAM. - Root (of een gebruiker die polkit toestaat) mag het netwerk wijzigen.
Leer de belangrijke termen
De woorden van dit hoofdstuk in eenvoudig Nederlands.
| Term | Betekenis |
|---|---|
| IP-adres | Het adres van een netwerkkaart in een netwerk. |
| Prefix / netmasker | Welk deel van het adres het netwerk is (/24 = 255.255.255.0). |
| Gateway | De router die verkeer naar andere netwerken stuurt. |
| DNS | De dienst die namen in IP-adressen omzet. |
| MAC-adres | Het hardware-adres van een netwerkkaart. |
| Poort | Een nummer voor één dienst op een host (22 = SSH, 80 = HTTP). |
| NetworkManager | De dienst die het netwerk op RHEL beheert. |
| Verbindingsprofiel | Een opgeslagen set netwerkinstellingen voor een apparaat. |
| Apparaat (device) | Een netwerkkaart of andere netwerkinterface, zoals enp1s0. |
| Hostnaam | De naam van het systeem. |
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.