« Linux : Netplan » : différence entre les versions
(Page créée avec « Vous pouvez trouver les nouveaux fichiers de configuration sur /etc/netplan/*.yaml. Ubuntu Server génère un fichier de configuration NetPlan pour System-Networkd nommé 01-netcfg.yaml, tandis que Ubuntu Desktop génère un fichier de configuration NetPlan pour Network-Manager nommé 01-network-manager-all.yaml. Si vous avez plusieurs interfaces, utilisez 02-network-manager-all.yaml pour la deuxième interface. NetPlan applique la configuration dans l’ordre... ») |
Aucun résumé des modifications |
||
(9 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
Vous pouvez trouver les nouveaux fichiers de configuration sur /etc/netplan/*.yaml. | == Fonctionnement == | ||
Vous pouvez trouver les nouveaux fichiers de configuration sur <code>/etc/netplan/*.yaml</code>. | |||
Ubuntu Server génère un fichier de configuration NetPlan pour System-Networkd nommé 01-netcfg.yaml, tandis que Ubuntu Desktop génère un fichier de configuration NetPlan pour Network-Manager nommé 01-network-manager-all.yaml. | Ubuntu Server génère un fichier de configuration NetPlan pour System-Networkd nommé <code>01-netcfg.yaml</code>, tandis que Ubuntu Desktop génère un fichier de configuration NetPlan pour Network-Manager nommé <code>01-network-manager-all.yaml</code>. | ||
Si vous avez plusieurs interfaces, utilisez 02-network-manager-all.yaml pour la deuxième interface. NetPlan applique la configuration dans l’ordre numérique. Cela signifie que le fichier 01 sera appliqué avant le fichier 02. | Si vous avez plusieurs interfaces, utilisez <code>02-network-manager-all.yaml</code> pour la deuxième interface. NetPlan applique la configuration dans l’ordre numérique. Cela signifie que le fichier 01 sera appliqué avant le fichier 02. | ||
== Netplan CLI == | == Netplan CLI == | ||
* generate | * generate | ||
** Genere les fichiers de configuration nécessaires à partir des fichiers <code>/etc/netplan/*.yaml</code> | ** Genere les fichiers de configuration nécessaires à partir des fichiers <code>/etc/netplan/*.yaml</code> | ||
Ligne 78 : | Ligne 78 : | ||
== Configuration d’une interface en client DHCP == | == Configuration d’une interface en client DHCP == | ||
* /etc/netplan/networking.yaml | * <code>/etc/netplan/networking.yaml</code> | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
network: | network: | ||
Ligne 172 : | Ligne 172 : | ||
mode: active-backup | mode: active-backup | ||
... | ... | ||
</syntaxhighlight><syntaxhighlight lang="bash"> | |||
network: | |||
bonds: | |||
bond0: | |||
addresses: | |||
- 192.168.1.10/24 | |||
accept-ra: false | |||
gateway4: 192.168.1.1 | |||
interfaces: | |||
- eno1 | |||
- eno2 | |||
nameservers: | |||
addresses: | |||
- 192.168.1.1 | |||
- 192.168.1.2 | |||
parameters: | |||
lacp-rate: fast | |||
mode: 802.3ad | |||
transmit-hash-policy: encap3+4 | |||
ethernets: | |||
eno1: {} | |||
eno2: {} | |||
version: 2 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Ligne 283 : | Ligne 306 : | ||
https://netplan.readthedocs.io/en/stable/netplan-tutorial/# | https://netplan.readthedocs.io/en/stable/netplan-tutorial/# | ||
[[Catégorie:Linux]] | [[Catégorie:Linux]] | ||
[[Catégorie:Reseau]] | [[Catégorie:Reseau]] | ||
[[Catégorie:Commandes]] | [[Catégorie:Commandes]] | ||
<html> | |||
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script> | |||
<script> | |||
kofiWidgetOverlay.draw('yakakliker', { | |||
'type': 'floating-chat', | |||
'floating-chat.donateButton.text': 'Café', | |||
'floating-chat.donateButton.background-color': '#00b9fe', | |||
'floating-chat.donateButton.text-color': '#fff' | |||
}); | |||
</script> | |||
</html> | |||
<html> | |||
<a href="https://www.compteurdevisite.com" title="compteur web gratuit sans pub"><img src="https://counter6.optistats.ovh/private/compteurdevisite.php?c=b4epghealnwlf7wuq7gn3ygll9aywrfx" border="0" title="compteur web gratuit sans pub" alt="compteur web gratuit sans pub"></a> | |||
</html> |
Dernière version du 17 février 2025 à 17:55
Fonctionnement
Vous pouvez trouver les nouveaux fichiers de configuration sur /etc/netplan/*.yaml
.
Ubuntu Server génère un fichier de configuration NetPlan pour System-Networkd nommé 01-netcfg.yaml
, tandis que Ubuntu Desktop génère un fichier de configuration NetPlan pour Network-Manager nommé 01-network-manager-all.yaml
.
Si vous avez plusieurs interfaces, utilisez 02-network-manager-all.yaml
pour la deuxième interface. NetPlan applique la configuration dans l’ordre numérique. Cela signifie que le fichier 01 sera appliqué avant le fichier 02.
Netplan CLI
- generate
- Genere les fichiers de configuration nécessaires à partir des fichiers
/etc/netplan/*.yaml
- Genere les fichiers de configuration nécessaires à partir des fichiers
- apply
- Applique la configuration Netplan au système
- try
- Applique de façon temporaire la configuration Netplan au système avec un retour automatique à l'ancienne configuration
- get
- Permet d'obtenir la configuration d'un élément spécifique comme
"ethernets.eth0.addresses"
, ou"all"
- Permet d'obtenir la configuration d'un élément spécifique comme
- set
- Permet d'ajouter des paramètres
key=value
comme"ethernets.eth0.dhcp4=true"
- Permet d'ajouter des paramètres
- info
- Affiche les infos disponibles
- ip
- Affiche les informations IP du système
- rebind
- Relie les fonctions virtuelles SR-IOV de fonctions physiques données à leur pilote
- status
- Afficher l'état des interfaces réseaux du système
YAML Configuration
Structure du fichier de configuration YAML
network:
version: NUMBER
renderer: STRING
bonds: MAPPING
bridges: MAPPING
dummy-devices: MAPPING
ethernets: MAPPING
modems: MAPPING
tunnels: MAPPING
virtual-ethernets: MAPPING
vlans: MAPPING
vrfs: MAPPING
wifis: MAPPING
nm-devices: MAPPING
Commande : netplan status
root@snipeit:/# netplan status
Online state: online
DNS Addresses: 127.0.0.53 (stub)
DNS Search: .
● 1: lo ethernet UNKNOWN/UP (unmanaged)
MAC Address: 00:00:00:00:00:00
Addresses: 127.0.0.1/8
::1/128
● 2: ens18 ethernet UP (networkd: ens18)
MAC Address: bc:24:11:59:3d:38 (Red Hat, Inc.)
Addresses: 172.20.14.86/30 (dhcp)
fe80::be24:11ff:fe59:3d38/64 (link)
DNS Addresses: 172.20.14.85
Routes: default via 172.20.14.85 from 172.20.14.86 metric 100 (dhcp)
172.20.14.84/30 from 172.20.14.86 metric 100 (link)
172.20.14.85 from 172.20.14.86 metric 100 (dhcp, link)
fe80::/64 metric 256
● 3: ztchwy tunnel/tun UNKNOWN/UP (unmanaged)
MAC Address: 36:9a:3d:12:48:3b
Addresses: 192.168.237.245/24
fe80::349a:3dff:fe12:483b/64 (link)
Routes: 192.168.237.0/24 from 192.168.237.245 (link)
fe80::/64 metric 256
Configuration d’une interface en client DHCP
/etc/netplan/networking.yaml
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s3:
dhcp4: true
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
ens18:
dhcp4: true
version: 2
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
all:
dhcp4: true
dhcp6: true
match:
name: en*
renderer: networkd
version: 2
Configuration statique d’une interface
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s3:
dhcp4: false
addresses:
- 10.0.0.10/24
routes:
- to: default
via: 10.0.0.1
nameservers:
addresses:
- 1.1.1.1
search:
- "linux.local"
Exemple de configuration de type "bridge"
network:
bridges:
br0:
interfaces:
- enp5s0
- enp5s1
dhcp4: true
...
network:
ethernets:
eth0:
dhcp4: false
eth1:
dhcp4: false
bridges:
br0:
interfaces: [eth0, eth1]
parameters:
port-priority:
eth0: 10
eth1: 20
Exemple de configuration de type "bond"
network:
bonds:
bond0:
interfaces:
- enp5s0
- enp5s1
- enp5s2
parameters:
mode: active-backup
...
network:
bonds:
bond0:
addresses:
- 192.168.1.10/24
accept-ra: false
gateway4: 192.168.1.1
interfaces:
- eno1
- eno2
nameservers:
addresses:
- 192.168.1.1
- 192.168.1.2
parameters:
lacp-rate: fast
mode: 802.3ad
transmit-hash-policy: encap3+4
ethernets:
eno1: {}
eno2: {}
version: 2
Exemple de configuration de type "tunnels"
network:
tunnels:
wg0:
mode: wireguard
key: /path/to/private.key
mark: 42
port: 5182
peers:
- keys:
public: rlbInAj0qV69CysWPQY7KEBnKxpYCpaWqOs/dLevdWc=
allowed-ips: [0.0.0.0/0, "2001:fe:ad:de:ad:be:ef:1/24"]
keepalive: 23
endpoint: 1.2.3.4:5
- keys:
public: M9nt4YujIOmNrRmpIRTmYSfMdrpvE7u6WkG8FY8WjG4=
shared: /some/shared.key
allowed-ips: [10.10.10.20/24]
keepalive: 22
endpoint: 5.4.3.2:1
Exemple de configuration de type "vlans"
network:
vlans:
vlan123:
id: 123
link: enp5s0
dhcp4: yes
network:
ethernets:
eno1: {...}
vlans:
en-intra:
id: 1
link: eno1
dhcp4: yes
en-vpn:
id: 2
link: eno1
addresses: [...]
Générer les fichiers de backend
- Une fois Netplan installé et votre fichier ou vos fichiers YAML créés. Il faut commencer (la première fois) par demander à Netplan de générer ses fichiers de backend:
sudo netplan generate
- Appliquer la configuration
Vous pouvez choisir de travailler de deux manières: soit vous appliquer les réglages de manière inconditionnelle, soit vous demandez à Netplan d’appliquer la configuration et d’attendre une confirmation pendant 120 secondes, après quoi il revient à la configuration précédente.
sudo netplan apply
sudo netplan try
Création d'une interface réseau en DHCP avec Netplan
- Pour une configuration simple, utiliser la commande
netplan set
.
Dans l'exemple un fichier YAML appelé second-interface.yaml contenant la configuration nécessaire pour activer la deuxième interface.
netplan set --origin-hint second-interface ethernets.enp6s0.dhcp4=true
Liste des fichiers dans le dossier /etc/netplan
ls /etc/netplan
50-cloud-init.yaml
second-interface.yaml
- Contenu du fichier
_**second-interface.yaml**_
cat /etc/netplan/second-interface.yaml
network:
version: 2
ethernets:
enp6s0:
dhcp4: true
- Vérifiez la configuration complète à l'aide de
netplan get
netplan get
Vous devriez obtenir un résultat ressemblant à ceci :
network:
version: 2
ethernets:
enp5s0:
dhcp4: true
enp6s0:
dhcp4: true
- Appliquation de la configuration avec
netplan apply
netplan apply
Liens
https://ubuntu.com/blog/ubuntu-bionic-netplan
https://www.malekal.com/comment-configurer-le-reseau-ubuntu-netplan/
https://netplan.readthedocs.io/en/stable/netplan-tutorial/#