Paramétrage réseau

Obtenir des informations sur le réseau de la machine

Pour afficher les adresses IP et MAC des cartes réseaux :

ip a

Pour afficher les serveurs DNS utilisé :

cat /run/systemd/resolve/resolv.conf

Pour obtenir des informations avancé sur les cartes réseaux :

sudo lshw -class network

Configuration IP et interfaces sur Ubuntu (⩾20.04)

Ubuntu à partir de Ubuntu 20.04 (environ) utilise Netplan pour la configuration IP. Netplan s'appuie sur des fichiers YAML situé dans /etc/netplan/.

Pour appliquer les modification du fichier, exécuter :

$ sudo netplan apply

Usage courant

Exemple de fichier pour une configuration via DHCPv4 :

network:
  ethernets:
    enp3s0:
      dhcp4: true
  version: 2

Exemple de fichier pour une configuration IPv4 statique :

network:
  version: 2
  ethernets:
    eth0:
      addresses:
        - 10.10.10.2/24
      routes:
        - to: default
          via: 10.10.10.1
      nameservers:
        search: [mydomain, otherdomain]
        addresses: [10.10.10.1, 1.1.1.1]

Exemple de fichier pour une configuration IPv4 via DHCP et IPv6 statique :

network:
  ethernets:
    ens18:
      dhcp4: true
      dhcp6: false
      addresses:
        - 2a01:9093:fd2e:5a0e:7714:59ce:0f8a:4/64
      #gateway6: fe80::7e2b:1302:814a:ea68    # Obsolete
      routes:
        - to: "::/0"    # defaut ipv6
          via: "fe80::7e2b:1302:814a:ea68"
          on-link: true

  version: 2

on-link: true indique que la passerelle spécifiée (via) est directement accessible sur le lien local (le réseau local). Cela signifie que l'interface réseau n'a pas besoin de savoir exactement où se trouve la passerelle par l'intermédiaire d'une autre route.

Usage avancé

LACP

Exemple de fichier pour lier deux interfaces via LACP :

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
    eno2:
      dhcp4: no
  bonds:
    bond0:
      interfaces: [eno1, eno2]
      addresses: [192.168.2.2/24]
      # gateway4: 192.186.2.1    # Obsolete
      routes:
        - to: "0.0.0.0/0"  # Route par défaut pour tout le trafic IPv4
          via: 192.168.2.1
      parameters:
        mode: 802.3ad
        transmit-hash-policy: layer3+4
        mii-monitor-interval: 1
      nameservers:
        addresses:
          - "8.8.8.8"
          - "9.9.9.9"

Paramètres du bond :

VLAN

Prérequis

Pour pouvoir utiliser les tags vlan et configurer nos cartes réseau pour les utiliser avec Netplan, il faut d’abord s'assurer que le module VLAN (8021q) est chargé dans le noyau Linux.

Pour vérifier si le module VLAN (8021q) est chargé sur un système Linux, utilisez la commande `lsmod` pour lister les modules du noyau chargés. Ouvrez un terminal et exécutez :

$ lsmod | grep 8021q

Si le module VLAN est chargé, vous verrez "8021q" dans le résultat. Sinon, cela signifie que le module n'est pas chargé.

Si le module n'est pas chargé, vous pouvez le faire manuellement avec la commande `modprobe` :

$ sudo modprobe 8021q

Après cela, vérifiez à nouveau son statut avec `lsmod | grep 8021q`. Si le module est chargé, il apparaîtra dans la liste.

Pour que le module VLAN (8021q) soit chargé automatiquement au démarrage, ajoutez-le au fichier `/etc/modules` :

$ echo '8021q' | sudo tee -a /etc/modules

Cela garantira que le module est chargé à chaque démarrage du système.

Exemples de configurations

Exemple de fichier pour configurer une interface physique et une interface VLAN :

network:
  version: 2
  renderer: networkd
  ethernets:
    ens18:
      dhcp4: no
      addresses:
        - 192.168.1.40/24
      routes:
        - to: default
          via: 192.168.1.101
      nameservers:
          addresses: [8.8.8.8, 8.8.4.4]

  vlans:
    vlan10:
      id: 10
      link: ens18
      addresses: [192.168.10.2/24]

DNS

Sous Linux Mint

Pour vider le cache DNS

resolvectl flush-caches

Pour consulter l'état du cache :

resolvectl statistics

Pare-Feu

Configuration d'un pare-feu sous Linux.

Configurer un Pare Feu à distance (via SSH par exemple) peut empêcher la connexion. Il est important de configurer les règles afin de ne pas se bloquer soi même.

UFW

UFW pour Uncomplicated Firewall est préinstallé sur Ubuntu mais peut être installé avec APT si besoin et sur d'autres distros.

Commandes utiles

Activer ou désactiver UFW :

sudo ufw enable

Vérifier l'état et les règles de UFW :

sudo ufw status
sudo ufw status verbose

Vérifier les règles existantes quand le pare feu n'est pas actif (pratique pour vérifier si on pourra encore accéder au serveur en SSH après activation) :

sudo ufw show added

Ajouter des règles

UFW permet d'ajouter des règles efficacement via une syntaxe simplifié. Par exemple, UFW admet par défaut qu'on créer une règle pour le trafique entrant.

Règles simples

Ajouter une règle simple :

sudo ufw allow [port/protocole]
sudo ufw allow 22/tcp

sudo ufw deny 56/tcp

Sans précision du protocole, la règle s'appliquera à TCP et UDP.

Règles plus complexes

Ajouter une règle sur une plage de ports :

sudo ufw allow/deny [Port_début:Port_fin]/protocole

Ajouter une règle associé à une adresse IP de machine ou de réseau :

sudo ufw deny from 192.168.1.2
sudo ufw deny from 192.168.1.0/24

Ajouter une règle liée à une adresse IP et un port :

sudo ufw allow from [ADRESSE_IP] to any port [PORT]
sudo ufw allow from [ADRESSE_IP] to any port [PORT] proto tcp

Ici, "any" fait référence à "n'importe quelle adresse IP de CETTE machine"

Ajouter une règle à une position précise :

sudo ufw insert 2 deny proto udp to any port 514 from 1.2.3.4

Supprimer des règles

Pour supprimer des règles il faut d'abord les afficher avec une numérotation puis supprimer la règle via son numéro :

sudo ufw status numbered

sudo ufw delete 4

Sources