Gestion du réseau Linux avec Netplan
1. Introduction à Netplan
Netplan est un utilitaire qui permet de configurer facilement le réseau sous Linux.
Concrètement, Netplan permet de créer un description de la configuration du réseau à partir de fichier YAML et de la soumettre au gestionnaire tel que Network Manager (renderer).
Netplan est nativement disponible en Ubuntu Bionic 18.04 et versions supérieures.
2. Commande Neplan
sudo netplan
usage: /usr/sbin/netplan [-h] [--debug] ...
Network configuration in YAML
optional arguments:
-h, --help show this help message and exit
--debug Enable debug messages
Available commands:
help Show this help message
apply Apply current netplan config to running system
generate Generate backend specific configuration files from
/etc/netplan/*.yaml
info Show current netplan version and available features
ip Retrieve IP information from the system
try Try to apply a new netplan config to running system, with
automatic rollback
sudo netplan info
netplan.io:
features:
- auth-phase2
- dhcp-use-domains
- ipv6-mtu
- generated-supplicant
website: https://netplan.io/
netplan ip leases eth0
# This is private data. Do not parse.
ADDRESS=192.168.122.115
NETMASK=255.255.255.0
ROUTER=192.168.122.1
SERVER_ADDRESS=192.168.122.1
NEXT_SERVER=192.168.122.1
BROADCAST=192.168.122.255
T1=1800
T2=3150
LIFETIME=3600
DNS=192.168.122.1
HOSTNAME=focal
CLIENTID=ff3239f9b500020000ab11ef7cdfeb2bba7a9c
La page manuel de Netaplan est particulièrement bien documentée :
man netplan
3. Fichiers de configuration Netplan
cat /etc/netplan/*
# This is the network config written by 'subiquity'
network:
ethernets:
eth0:
dhcp-identifier: mac
dhcp4: true
dhcp-identifier: mac
version: 2
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
3. Commandes Netplan
Netplan utilise un ensemble de sous-commandes pour piloter son comportement :
-
netplan generate
: génère la configuration du réseau pour les moteurs de rendu (renderer). -
netplan apply
: génère la configuration du réseau pour les moteurs de rendu (renderer) et applique toute la configuration, en les redémarrant si nécessaire. -
netplan try
: applique la configuration et attend la confirmation de l’utilisateur.
On retire les fichiers de configuration originaux :
sudo mkdir /etc/backup.netplan
sudo mv /etc/netplan/* /etc/backup.netplan/
On propose cette configuration statique de l’interface “eth0” :
sudo bash -c 'cat << EOF > /etc/netplan/01-eth0.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.122.22/24
gateway4: 192.168.122.1
nameservers:
search: [foo.local, bar.local]
addresses: [8.8.8.8]
EOF'
Et on génère la configuration pour l’appliquer auprès du gestionnaire :
sudo netplan generate
sudo netplan apply
Pour vérification :
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:19:74:17 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.22/24 brd 192.168.122.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe19:7417/64 scope link
valid_lft forever preferred_lft forever