Netplan is een netwerkconfiguratiehulpmiddel dat is ontworpen om de netwerkconfiguratie van Linux-systemen te vereenvoudigen. Het biedt een eenvoudige en krachtige manier om netwerkinterfaces te beheren met behulp van YAML-configuratiebestanden.
Om netplan te configureren, bewerk je de bestanden in /etc/netplan/ met de extensie .yaml (bijv. /etc/netplan/config.yaml) en voert je vervolgens sudo netplan apply uit. Met deze opdracht wordt de configuratie toegepast op het systeem.
Configuraties die naar schijf is geschreven onder /etc/netplan/ blijft bestaan bij opnieuw opstarten.
Beschikbare Netplan commando's
netplan apply
: past de wijzigingen in de Netplan-configuratie toe zonder de netwerkverbindingen te onderbreken.netplan generate
: genereert de configuratiebestanden voor de huidige Netplan-configuratie.netplan try
: past de wijzigingen in de Netplan-configuratie toe en herstelt de vorige configuratie automatisch als er een fout optreedt.netplan --debug generate
: genereert de configuratiebestanden met extra foutopsporingsinformatie.netplan --debug apply
: past de wijzigingen in de Netplan-configuratie toe met extra foutopsporingsinformatie.netplan --debug try
: past de wijzigingen in de Netplan-configuratie toe en herstelt de vorige configuratie automatisch als er een fout optreedt, met extra foutopsporingsinformatie.
Het is ook mogelijk om een YAML-bestand rechtstreeks te valideren zonder de wijzigingen toe te passen met het commando netplan --debug check
. Hiermee wordt gecontroleerd of de syntax van de Netplan-configuratie geldig is en of er fouten zijn.
Voorbeeld van statisch IPV4- en IPV6-adres
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: no
dhcp6: no
accept-ra: no
addresses:
- 192.168.150.10/24
- fd12:3456:789a:1::10/64
routes:
- to: default
via: 192.168.150.1
- to: fd12:3456:789a:1::1/128
scope: link
- to: ::/0
via: fd12:3456:789a:1::1
on-link: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.4.4
- 2606:4700:4700::1111
- 2001:4860:4860::8888
Deze netplan configuratie stelt de netwerkinstellingen in voor het Ethernet-apparaat ens3
. Laten we de verschillende onderdelen van deze configuratie eens bekijken:
network:
: Dit is de hoofdsectie van het bestand waarin de versie van de netplan-configuratie wordt gespecificeerd en de renderer wordt gedefinieerd.version: 2
: Hier wordt de versie van de netplan-configuratie gespecificeerd. In dit geval is het versie 2.renderer: networkd
: Hiermee wordt de renderer gespecificeerd die moet worden gebruikt. In dit geval wordt 'networkd' gebruikt, de standaard renderer in Ubuntu.ethernets:
: Dit is de sectie waarin de netwerkinterface(s) worden gedefinieerd die geconfigureerd moeten worden. In dit geval is er slechts één netwerkinterface gedefinieerd, namelijkens3
.ens3:
: Hier wordt de naam van de netwerkinterface gespecificeerd die geconfigureerd moet worden.dhcp4: true
: Dit geeft aan dat de netwerkinterface een IPv4-adres moet verkrijgen via DHCP.dhcp6: false
: Dit geeft aan dat de netwerkinterface geen IPv6-adres hoeft te verkrijgen via DHCP.accept-ra: false
: Dit geeft aan dat de netwerkinterface geen Router Advertisement (RA) berichten moet accepteren.addresses:
: Dit is de sectie waarin de IP-adressen van de netwerkinterface worden gedefinieerd. In dit geval is er slechts één IPv6-adres gedefinieerd met een /64-prefix.routes:
: Dit is de sectie waarin de netwerkroutes worden gedefinieerd. In dit geval zijn er drie routes gedefinieerd: een route naar het link-local adres van de router, een standaardroute en een route voor het on-link verkeer.nameservers:
: Dit is de sectie waarin de DNS-servers worden gedefinieerd die moeten worden gebruikt door de netwerkinterface. In dit geval zijn er twee IPv6-adressen en twee IPv4-adressen van DNS-servers gespecificeerd.
Deze configuratie zorgt ervoor dat de Ethernet-adapter ens3 een statisch IPv4- en IPv6-adres heeft.
Configuratie voor IPV4-adres via DHCP verkrijgen en een statisch IPV6-adres
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: true
dhcp6: false
accept-ra: false
addresses:
- fd12:3456:789a:1::10/64
routes:
- to: fd12:3456:789a:1::1/128
scope: link
- to: ::/0
via: fd12:3456:789a:1::1
on-link: true
nameservers:
addresses:
- 2606:4700:4700::1111
- 2001:4860:4860::8888
Deze netplan configuratie stelt de netwerkinstellingen in voor het Ethernet-apparaat ens3
. Laten we de verschillende onderdelen van deze configuratie eens bekijken:
network
: Dit geeft aan dat we netwerkconfiguratie aan het definiëren zijn.version: 2
: Dit geeft aan dat we gebruik maken van versie 2 van het netwerkconfiguratie-schema.renderer: networkd
: Dit geeft aan dat wesystemd-networkd
willen gebruiken als renderer om de netwerkinstellingen toe te passen.ethernets
: Dit geeft aan dat we een Ethernet-adapter configureren en de naam van de adapter die we configureren isens3
.dhcp4: true
: Hiermee wordt DHCP ingeschakeld voor IPv4-configuratie.dhcp6: false
: Hiermee wordt DHCP uitgeschakeld voor IPv6-configuratie.accept-ra: false
: Hiermee wordt het accepteren van routeraankondigingen voor IPv6-configuratie uitgeschakeld.addresses
: Hiermee stellen we het statische IPv6-adres infd12:3456:789a:1::10/64
in.routes
: Hiermee stellen we de routes in. De eerste route (to: fd12:3456:789a:1::1/128
) is een link-local route en de tweede (to: ::/0
) is een default route. Beide routes maken gebruik van het IPv6-adres van de gateway,fd12:3456:789a:1::1
.nameservers
: Hiermee worden de DNS-nameservers geconfigureerd voor de netwerkinterface. In dit geval worden er twee IPv6-nameservers en twee IPv4-nameservers geconfigureerd.
Deze configuratie zorgt ervoor dat de Ethernet-adapter ens3
een statisch IPv6-adres heeft en dat er DHCP wordt gebruikt voor de IPv4-configuratie. Routeraankondigingen worden niet geaccepteerd en er worden vier DNS-nameservers geconfigureerd.
IP configuratie via DHCP verkrijgen
network:
version: 2
renderer: networkd
ethernets:
ens3:
dhcp4: yes
dhcp6: yes
accept-ra: yes
Deze Netplan configuratie zorgt dat DHCP wordt gebruikt voor de IPv4- en IPV6-configuratie.