• LINUX > gérer le réseau ethernet avec NetworkManager (nmcli)

      Installation

      apt install network-manager

       

      Pour éviter les conflits éventuels :

      apt remove connman dhcpcd5 wicd resolvconf

       

      Loopback est gérée par ifupdown, il faut donc écrire dans /etc/NetworkManager/NetworkManager.conf :

      sudo vi /etc/NetworkManager/NetworkManager.conf
      [ifupdown]
      managed=false

       

      De même, le fichier /etc/network/interfaces ne doit contenir que les lignes suivantes :

      sudo vi /etc/network/interfaces
      auto lo
      iface lo inet loopback

       

      Enfin, pour que l’interface soit prise en compte par NM ;

      systemctl disable --now systemd-networkd
      systemctl start systemd-networkd

      Afficher les connexions et les interfaces

      Liste des connexions

      nmcli
      eth_1: connecté to enp3s0
      	"Realtek RTL8111 PCI Express Gigabit Ethernet Controller (Onboard Ethernet)"
      	ethernet (r8169), xx:xx:xx:xx:xx:xx, hw, mtu 1500
      	ip4 default
      	inet4 192.168.1.10/24
      
      DNS configuration:
      	servers: 1.1.1.1 1.0.0.1
      	interface: enp3s0

       

      nmcli c   --->  c = connection
      NAME   UUID                                  TYPE      DEVICE
      eth_1  2864a7ef-2c77-42ba-8875-6effe1b58a4a  ethernet  enp3s0

      Propriétés détaillées d’un profil

      nmcli c show eth_1
      connection.id:                          eth_1
      connection.uuid:                        2245a7ef-2ce7-43ba-8875
      connection.interface-name:              enp3s0
      ...
      IP4.ADRESSE[1]:                         192.168.1.10/24
      IP4.DNS[1]:                             1.1.1.1
      IP4.DNS[2]:                             1.0.0.1

      Liste des interfaces

      nmcli d
      PÉRIPHÉRIQUE  TYPE      ÉTAT      CONNEXION
      enp3s0        ethernet  connecté  eth_1
      lo            loopback  non-géré  --

       

      d = device

      Aide

      nmcli help

      Aide sur une sous-commande, Ici general

      nmcli general help
      Utilisation : nmcli general { COMMAND | help }
      COMMAND := { status | hostname | permissions | logging }
        status
        hostname [<hostname>]
        permissions
        logging [level <log level>] [domains <log domains>]

      Arrêter / démarrer une interface / connexion

      Interface

      nmcli d connect enp3s0
      nmcli d disconnect enp3s0

      Connexion

      nmcli c up eth_1
      nmcli c down eth_1

      Gérer une connexion (profil)

      Ajouter un connexion (profil)

      Pour créer un profil nommé ma_connexion associé à l’interface interface_1 :

      nmcli c add type bridge con-name ma_connexion ifname interface_1

      Avant d’ajouter une interface à un bridge, il faut arrêter cette interface de peur qu’elle se retrouve associée à plusieurs profils. Puis, on ajoute l’interface enp3s0 à ce bridge :

      nmcli c add type bridge-slave con-name enp3s0 ifname enp3s0 master virbr1

      modifier une connexion (profil)

      nmcli c modify eth_1 ipv4.addresses 192.168.1.10/24

      Accès au LAN / internet à des machines virtuelles

      Créer un bridge partagé, nommé lxcbr0, sur l’hôte, qui aura comme adresse ip : 192.168.2.1, sur le réseau 192.168.2.0/24 :

      nmcli c add type bridge con-name lxcbr0 ifname virbr0 ipv4.method shared ipv4.addresses 192.168.2.1/24

       

      Crée un nouveau profil de type bridge nommé lxcbr0 associé à l’interface virbr0.
      L’interface virbr0 n’existe pas physiquement, elle n’est créée que pour l’occasion et est donc une interface virtuelle.

       

      En pratique, on essayera de donner le même nom au profil et à son interface réseau.

      ipv4.method et ipv4.addresses sont optionnelles.

      ipv4.method shared signifie que le NAT va être activé pour les invités connectés au bridge.

       

      On peut le vérifier en interrogeant le pare-feu.

      sudo iptables -t nat -L
      Chain POSTROUTING (policy ACCEPT)
      target     prot opt source               destination
      MASQUERADE  all  --  192.168.2.0/24      !192.168.2.0/24

       

      De plus, la directive ipv4.method shared active aussi le routage ipv4 :

      cat /proc/sys/net/ipv4/ip_forward
      1

      Elle lance également dnsmasq pour fournir du service dhcp et dns aux invités.

      Enfin, si on n’utilise pas la directive ipv4.addresses, NM va utiliser le réseau 10.42.x.0/24 par défaut.

      Assigner une interface à un vlan

      Pour ajouter l’interface ens3 au vlan 1 :

      nmcli c add type vlan con-name vlan1 id 1 dev ens3

       

      La commande précédente a créé un nouveau profil de type vlan, nommé vlan1 (con-name) et utilisant le vlan id 1 :

      nmcli c
      NOM    UUID                                  TYPE            PÉRIPHÉRIQUE
      ens3   ceaf1df2-113c-46d2-b8b4-e7aa0a2d6b5f  802-3-ethernet  ens3
      vlan1  6c2063ea-d3e6-442b-a7c6-5e515c000fd7  vlan            ens3.1

       

      De plus, une interface virtuelle nommée ens3.1 a été créée pour l’occasion :

      nmcli d
      PÉRIPHÉRIQUE  TYPE      ÉTAT      CONNEXION
      ens3          ethernet  connecté  ens3
      ens3.1        vlan      connecté  vlan1

      Lien externe : Réseau local virtuel

      Obtenir un IP fixe et garder l’itinérance

      NM définit une IP fixe avec /etc/NetworkManager/system-connections sous le nom donné à cette connexion :

      [802-3-ethernet]
      duplex=full
      mac-address=B4:99:BA:58:A4:76
      cloned-mac-address=00:17:3F:DD:5D:50
      
      [connection]
      id=Bind9 DNS residence Igloolik
      uuid=e9e3650d-37d4-4cf6-ade4-438e248446dd
      type=802-3-ethernet
      
      [ipv4]
      method=manual
      dns=1.1.1.1;1.0.0.1;
      addresses1=192.168.1.10;24;192.168.1.254;

       

      sudo nmcli d set enp8s0 managed yes

       

      sudo systemctl restart NetworkManager

      Erreurs

      D’abord, être sûr que l’adaptateur de connexions est activé dans virtual box, puis vérifier si l’interface est activée dans le système :

      sudo nmcli d

       

      > Si déconnecté, alors sudo nmtui

      > Éditer une connexion, sélectionner une interface, puis choisir l’option "Automatically connect", puis OK.

      > Peut-être faire sudo reboot now, puis, une fois redémarré, ping www.google.com

       

      Voili, voilou !

      Problèmes fréquents

      Si le réseau dit Network Unmanaged :

      sudo vi /etc/NetworkManager/nm-system-settings.conf
      remplacer "managed=false" par "managed=true"

       

      sudo killall nm-system-settings

      NM notifie que le réseau a été détecté et tente de se connecter.

       

      Wifi Désactivé après passage à linux mint 20

      Désactivez la gestion de l’alimentation:

      sudo sed -i 's/3/2/' /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf

      Reboot

       

      NOTE = Voir à désactiver le secure-boot.

      renommer une connexion

      renommer "Connexion filaire 1" en "eth1"

      nmcli c modify "Connexion filaire 1" connection.id eth1 con-name eth1

       

      Recharger la config de NM :

      sudo nmcli c reload
      sudo nmcli c up eth_1
      nmcli c show eth_1 # pour vérifier les modifications

       

      Modifier une connexion existante

      sudo nmcli c modify nom ipv4.addresses 192.168.1.10/24 ipv4.gateway 192.168.1.254 ipv4.dns 1.1.1.1 ipv4.method manual

       

      Redémarrer la connexion :

      sudo nmcli c down nom && sudo nmcli c up nom

       

      Créer une nouvelle connexion

      sudo nmcli c add type ethernet con-name ma_connexion ifname enp2s0 ip4 192.168.1.10/24 gw4 192.168.1.254

       

 

Aucun commentaire

 

Laissez un commentaire