Outils pour utilisateurs

Outils du site


all:bibles:linux:reseau:02-configuration

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
all:bibles:linux:reseau:02-configuration [2024/12/04 10:12] – [Network Manager] omeylhocall:bibles:linux:reseau:02-configuration [2025/02/19 10:30] (Version actuelle) – [IP statique] omeylhoc
Ligne 1: Ligne 1:
 +====== Configuration IP ======
 +
 +----
 +
 +===== netplan (à partir d'Ubuntu 18.04) =====
 +
 +<note important>La syntaxe des fichiers de configuration est au format yaml et donc l'indentation des lignes est importante.</note>
 +
 +<note>Le nom du fichier sous /etc/netplan dépend du type d'installation et du gestionnaire réseau :\\
 +« Serveur » avec systemd-networkd     : 01-netcfg.yaml\\
 +« Cloud Image » avec systemd-networkd : 50-cloud-init.yaml\\
 +« Desktop » avec NetworkManager       : 01-network-manager-all.yaml
 +</note>
 +
 +==== DHCP ====
 +
 +<color #00a2e8><fs small>**/etc/netplan/01-netcfg.yaml**</fs></color>
 +<code yaml>
 +network:
 +    ethernets:
 +        ens160:
 +            dhcp4: true
 +    version: 2
 +</code>
 +
 +==== DHCP avec bonding ====
 +
 +<color #00a2e8><fs small>**/etc/netplan/01-netcfg.yaml**</fs></color>
 +
 +<code yaml>
 +bonds:
 +    bond0:
 +        dhcp4: yes
 +        interfaces:
 +            - enp3s0
 +            - enp4s0
 +        parameters:
 +            mode: active-backup
 +            primary: enp3s0
 +</code>
 +
 +<note>Les différents modes possibles sont :  balance-rr, active-backup, balance-xor, broadcast, 802.3ad, balance-tlb, balance-alb.\\
 +Voir cette [[https://help.ubuntu.com/community/UbuntuBonding?&_ga=2.231777375.1369656617.1539611592-962216848.1539611592#Descriptions_of_bonding_modes|page]] pour plus d'infos.</note>
 +
 +=== Basculement bond0 sur eth1 ===
 +
 +<code bash>
 +sudo apt-get install ifenslave
 +ifenslave -c bond0 eth1
 +</code>
 +
 +==== IP statique ====
 +
 +<color #00a2e8><fs small>**/etc/netplan/01-netcfg.yaml**</fs></color>
 +<code yaml>
 +network:
 +    ethernets:
 +        ens160:
 +            dhcp4: false
 +            addresses:
 +            - 10.35.130.71/26
 +            routes:
 +            - to: default
 +              via: 10.35.130.126
 +            nameservers:
 +                addresses:
 +                - 8.8.8.8
 +                - 8.8.4.4
 +                search: []
 +    version: 2
 +</code>
 +
 +==== IP statique avec VLAN ====
 +
 +<color #00a2e8><fs small>**/etc/netplan/01-netcfg.yaml**</fs></color>
 +
 +<code yaml>
 +network:
 +    version: 2
 +    ethernets:
 +        ens3:
 +            addresses: 
 +                - 192.168.122.201/24
 +            routes:
 +            - to: default
 +              via: 192.168.122.1
 +            nameservers:
 +                addresses: [192.168.122.1]
 +        ens8: {}
 +
 +    vlans:
 +        vlan.101:
 +            id: 101
 +            link: ens8
 +            addresses: [192.168.101.1/24]
 +        vlan.102:
 +            id: 102
 +            link: ens8
 +            addresses: [192.168.102.1/24]
 +</code>
 +
 +==== Network Manager ====
 +
 +<color #00a2e8><fs small>**/etc/netplan/01-network-manager-all.yaml**</fs></color>
 +
 +<code yaml>
 +network:
 +  version: 2
 +  renderer: NetworkManager
 +</code>
 +
 +=== Désactivation ===
 +
 +Editer le fichier **/etc/NetworkManager/NetworkManager.conf** et changer managed=false par managed=true dans la section ifupdown :
 +
 +<code>
 +[main]
 +plugins=ifupdown,keyfile
 +
 +[ifupdown]
 +managed=true
 +
 +[device]
 +wifi.scan-rand-mac-address=no
 +</code>
 +
 +==== Prise en compte ====
 +
 +<code bash>
 +sudo netplan try    # test une nouvelle configuration pour un temps donné
 +sudo netplan apply  # prise en compte nouvelle configuration
 +</code>
 +
 +----
 +
 +[[all:bibles:linux:reseau:02-configuration|Haut de page]]
 +
 +===== Avant Ubuntu 18.04 =====
 +
 +==== Configuration manuelle ====
 +
 +<code bash>
 +sudo ifconfig eth0 10.0.0.100 netmask 255.255.255.0
 +sudo route add default gw 10.0.0.1 eth0
 +</code>
 +
 +Modifier le fichier **/etc/resolv.conf** pour la résolution DNS.
 +
 +Pour effacer la conf :
 +
 +<code bash>
 +ip addr flush eth0
 +</code>
 +
 +==== IP statique ====
 +
 +<color #00a2e8><fs small>**/etc/network/interfaces**</fs></color>
 +
 +<code>
 +auto lo
 +iface lo inet loopback
 +
 +auto enp1s0
 +iface enp1s0 inet static
 +   address 10.1.90.227
 +   netmask 255.255.255.128
 +   network 10.1.90.128
 +   broadcast 10.1.90.255
 +   gateway 10.1.90.254
 +   dns-search pproject.altran.com
 +   dns-nameservers 10.1.2.11 10.1.2.12
 +</code>
 +
 +<note tip>Pour un démarrage plus rapide sans attendre le réseau préférer **allow-hotplug enp1s0** à la place de **auto enp1s0**</note>
 +
 +==== DHCP ====
 +  
 +<color #00a2e8><fs small>**/etc/network/interfaces**</fs></color>
 +
 +<code>
 +auto lo
 +iface lo inet loopback
 +
 +auto enp1s0
 +iface enp1s0 inet dhcp
 +</code>
 +
 +==== Network Manager ====
 +
 +<note tip>Lorsque la configuration est faite par l'interface graphique les fichiers mis à jour par le NetworkManager ne sont pas les mêmes. Ne pas essayer de mettre à jour le fichier /etc/network/interface.</note>
 +
 +<color #00a2e8><fs small>**/etc/NetworkManager/system-connections/Connexion filaire 1**</fs></color>
 +
 +<code>
 +[802-3-ethernet]
 +duplex=full
 +mac-address=00:0C:29:AB:87:3C
 +
 +[connection]
 +id=Wired connection 4
 +uuid=99f48bd3-f1fd-43e5-8dce-6e8f020d8560
 +type=802-3-ethernet
 +timestamp=1531129513
 +
 +[ipv6]
 +method=auto
 +
 +[ipv4]
 +method=manual
 +dns=10.1.2.11;10.1.2.12;
 +address1=10.1.242.67/27,10.1.242.94
 +</code>
 +
 +----
 +
 +[[all:bibles:linux:reseau:02-configuration|Haut de page]]
 +
 +===== DHCP Client Daemon (Debian) =====
 +
 +  * [[https://www.jesus-forain.fr/blog/configuration-de-dhcpcd-52.html]]
 +  * [[https://sizious.com/fr/2015/08/28/configurer-une-ip-fixe-sur-le-raspberry-pi-avec-raspbian-20150505/]]
 +  * [[https://ressourcesinformatiques.com/article.php?article=312]]
 +
 +----
 +
 +[[all:bibles:linux:reseau:02-configuration|Haut de page]]
 +
 +===== IPV6 =====
 +
 +==== Désactivation IPV6 ====
 +
 +=== Temporairement ===
 +
 +<code bash>
 +sysctl -w net.ipv6.conf.all.disable_ipv6=1
 +sysctl -w net.ipv6.conf.default.disable_ipv6=1
 +sysctl -w net.ipv6.conf.lo.disable_ipv6=1
 +</code>
 +
 +=== Persistant ===
 +
 +  * Ajouter les lignes suivantes à la fin du fichier <color #00a2e8>/etc/sysctl.conf</color>
 +
 +<code bash>
 +net.ipv6.conf.all.disable_ipv6=1
 +net.ipv6.conf.default.disable_ipv6=1
 +net.ipv6.conf.lo.disable_ipv6 = 1
 +</code>
 +
 +<note important>Semble ne plus fonctionner sur Ubuntu 20.04. Voir méthode Grub.</note>
 +
 +  * Redémarrer la machine
 +  * Vérifier l'absence de inet6 sur les interfaces réseaux
 +  * En cas de problème vérifier les valeurs en mémoire :
 +
 +<code bash>
 +cat /proc/sys/net/ipv6/conf/all/disable_ipv6
 +cat /proc/sys/net/ipv6/conf/default/disable_ipv6
 +cat /proc/sys/net/ipv6/conf/lo/disable_ipv6
 +</code>
 +
 +=== Persistant via Grub ===
 +
 +  * Editer le fichier <color #00a2e8>/etc/default/grub</color> pour ajouter l'option **ipv6.disable=1** au paramètre **GRUB_CMDLINE_LINUX_DEFAULT**
 +
 +<code bash>
 +GRUB_DEFAULT=0
 +GRUB_TIMEOUT_STYLE=hidden
 +GRUB_TIMEOUT=0
 +GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
 +GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
 +GRUB_CMDLINE_LINUX=""
 +</code>
 +
 +  * Regénérer la configuration Grub.
 +
 +<code bash>
 +sudo update-grub
 +</code>
 +
 +  * Redémarrer la machine.
 +
 +----
 +
 +[[all:bibles:linux:reseau:02-configuration|Haut de page]]
 +
 +===== Commandes usuelles =====
 +
 +==== Interroger ses adresses IP ====
 +
 +<code bash>
 +hostname -i
 +</code>
 +
 +==== Prise en compte modifications ====
 +
 +=== A partir d'Ubuntu 18.04 ===
 +
 +<code bash>
 +sudo netplan apply
 +</code>
 +
 +<note tip>Possibilité d'avoir plus d'informations en ajoutant l'option debug :\\ sudo netplan %%--%%debug apply</note>
 +
 +=== A partir d'Ubuntu 16.04 ===
 +
 +<code bash>
 +sudo systemctl restart networking
 +</code>
 +
 +=== Avant Ubuntu 16.04 ===
 +
 +<code bash>
 +sudo service networking restart
 +</code>
 +
 +=== Network manager ===
 +
 +<code bash>
 +sudo systemctl restart NetworkManager
 +</code>
 +
 +==== Renouvellement adresse IP en DHCP ====
 +
 +<code>
 +dhclient –r eth1  ⇒ force le client à libérer l'adresse IP
 +dhclient –d eth1  ⇒ Récupérer une adresse IP auprès du serveur DHCP
 +</code>
 +
 +==== Remplacement commandes réseau ====
 +
 +| arp  | ip neigh  |
 +| ifconfig  | ip addr  |
 +| iptunnel  | ip tunnel  |
 +| iwconfig  | iw  |
 +| nameif  | ip link  |
 +| netstat  | ip route  |
 +| :::  | ss  |
 +| route  | ip route  |
 +
 +==== Commandes IP V6 ====
 +
 +| ping6  |
 +| nslookup -type aaaa domain.fr  |
 +| netstat -A inet6 -nr  |
 +| service ip6tables stop  |
 +
 +----
 +
 +[[all:bibles:linux:reseau:02-configuration|Haut de page]]
 +
 +===== Wifi =====
 +
 +==== Configuration manuelle ====
 +
 +=== Liste les réseaux sans fil sur l’interface wlan0 ===
 +
 +<code bash>
 +sudo iwlist wlan0 scan | egrep 'Cell |Encryption|Quality|Last beacon|ESSID'
 +</code>
 +
 +=== Liste les réseau sans fil avec la puissance du signal sur l’interface wlan0 ===
 +
 +<code bash>
 +sudo iw dev wlan0 scan | egrep "signal|SSID"
 +</code>
 +  
 +=== Configure l’interface wlan0 pour se connecter sur le réseau dont le ssid est SSID ===
 +
 +<code bash>
 +sudo iwconfig wlan0 essid <SSID>
 +</code>
 +
 +=== Obtient une adresse via DHCP sur l’interface wlan0 ===
 +
 +<code bash>
 +udhcpc –i wlan0
 +</code>
 +
 +==== Configuration via fichiers ====
 +
 +  * Créer ou éditer le fichier <color #00a2e8>/etc/wpa_supplicant/wpa_supplicant.conf</color>
 +
 +<code>
 +ctrl_interface=/var/run/wpa_supplicant
 +update_config=1
 +
 +network={
 +    ssid="Network_SSID"
 +    psk="CLEF_DU_RESEAU"
 +    key_mgmt=WPA-PSK
 +}
 +</code>
 +
 +  * Possibilité de masquer la clef en la remplaçant par le résultat généré par la commande
 +
 +<code bash>
 +wpa_passphrase "Network_SSID" "CLEF_DU_RESEAU"
 +</code>
 +
 +  * Modifier les droits d'accès du fichier
 +
 +<code bash>
 +sudo chmod 0600 /etc/wpa_supplicant/wpa_supplicant.conf
 +</code>
 +
 +  * Créer un fichier de configuration sous <color #00a2e8>/etc/network/interfaces.d</color>
 +
 +=== DHCP ===
 +
 +<code>
 +auto wlan0
 +allow-hotplug wlan0
 +iface wlan0 inet dhcp
 +  wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
 +</code>
 +
 +=== IP statique ===
 +
 +<code>
 +auto wlan0
 +allow-hotplug wlan0
 +iface wlan0 inet static
 +  address <@IP>
 +  netmask <netmask>
 +  gateway <@IP gateway>
 +  dns-nameservers <@IP DNS>
 +  wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
 +</code>
 +
 +  * Arrêter les services
 +
 +<code bash>
 +sudo systemctl stop NetworkManager
 +sudo systemctl stop wpa_supplicant
 +sudo systemctl stop networking
 +</code>
 +
 +  * Redémarrer les services en respectant l'ordre
 +
 +<code bash>
 +sudo systemctl start networking
 +sudo systemctl start wpa_supplicant
 +sudo systemctl start NetworkManager
 +</code>
 +
 +==== Optimisation ====
 +
 +Afin d'optimiser le Wifi il convient d'utiliser un canal qui n'est pas (ou peu) utilisé par le voisinage.
 +Pour rechercher le meilleur canal on peut utiliser le logiciel [[https://doc.ubuntu-fr.org/inssider|LinSSID]].
 +
 +=== Installation ===
 +
 +<code bash>
 +sudo apt-get install linssid
 +</code>
 +
 +=== Utilisation ===
 +
 +Lancer l'application par le menu ou en ligne de commande **linssid**.
 +
 +----
 +
 +[[all:bibles:linux:reseau:02-configuration|Haut de page]]
 +
 +===== Autres fichiers de configuration =====
 +
 +==== /etc/hostname ====
 +
 +Nom de la machine que l'on retrouve avec la commande :
 +
 +<code bash>
 +uname -n
 +</code>
 +  
 +=== Changement du hostname ===
 +
 +<code bash>
 +hostnamectl set-hostname <nouveau nom>
 +</code>
 +
 +La modification peut être réalisé manuellement par :
 +
 +  * Mise à jour du fichier <color #00a2e8>/etc/hostname</color>
 +  * Mise à jour du fichier <color #00a2e8>/etc/hosts</color>
 +  * Redémarrage de la machine
 +
 +==== /etc/ethers ====
 +
 +Fichier dans lequel on peut renseigner une liste d'adresse MAC pour des serveurs distants.
 +
 +==== /etc/host ====
 +
 +Liste des hosts pour résolution DNS.
 +
 +==== /etc/resolv.conf ====
 +
 +Nom du serveur DNS et du nom de domaine par défaut.
 +
 +<note important>La modification de ce fichier n'est plus persistante car il est reconstruit automatiquement. Il est tout de même possible de le modifier temporairement.</note>
 +
 +==== /etc/sysctl.conf ====
 +
 +Quelques paramètres de configuration.
 +
 +=== Activation IP forwarding ===
 +
 +net.ipv4.ip_forward = 1 
 +
 +<code bash>
 +sudo sysctl -w net.ipv4.ip_forward=1
 +</code>
 +
 +=== Protection contre les attaques ===
 +
 +net/ipv4/icmp_echo_ignore_broadcasts = 1\\
 +net/ipv4/icmp_ignore_bogus_error_responses = 1\\
 +net/ipv4/conf/all/accept_redirects = 0\\
 +net/ipv4/conf/all/send_redirects = 0\\
 +net/ipv4/conf/all/accept_source_route = 0
 +
 +<note tip>Les valeurs courantes peuvent être interrogées et modifiées dans\\ /proc/sys/net/ipv4/...  </note>
 +
 +==== /etc/dhcp/dhclient.conf ====
 +
 +Fichier de configuration du client DNS. Pour choisir son serveur DNS ajouter la ligne suivante en séparant les adresses par une virgule :
 +
 +<code>
 +supersede domain-name-servers @IP1,@IP2;
 +</code>
 +
 +----
 +
 +[[all:bibles:linux:reseau:02-configuration|Haut de page]]
 +
 +===== Redhat/CentOS =====
 +
 +==== Configuration adresse IP ====
 +
 +=== adresse IP fixe ===
 +
 +<color #00a2e8>/etc/sysconfig/network-scripts/ifcfg-ensxxx</color>
 +
 +<code>
 +TYPE="Ethernet"
 +PROXY_METHOD="none"
 +BROWSER_ONLY="no"
 +BOOTPROTO="none"
 +DEFROUTE="yes"
 +IPV4_FAILURE_FATAL="no"
 +IPV6INIT="no"
 +NAME="ens160"
 +DEVICE="ens160"
 +ONBOOT="yes"
 +PREFIX=27
 +IPADDR=10.1.242.87
 +GATEWAY=10.1.242.94
 +HWADDR="00:0c:29:a1:d9:7f"
 +DNS1=10.1.2.11
 +DNS2=10.1.2.12
 +</code>
 +
 +=== DHCP ===
 +
 +<color #00a2e8>/etc/sysconfig/network-scripts/ifcfg-ensxxx</color>
 +
 +<code>
 +DEVICE="eth0"
 +BOOTPROTO="dhcp"
 +HWADDR="00:24:7E:10:96:B2"
 +NM_CONTROLLED="yes"
 +ONBOOT="yes"
 +TYPE="Ethernet"
 +</code>
 +
 +==== Prise en compte des modifications ====
 +
 +<code bash>
 +systemctl restart network
 +</code>
 +
 +----
 +
 +===== Dépannage =====
 +
 +==== Changement Hostname après reboot ====
 +
 +=== Problème ===
 +
 +Après avoir changé le hostname la valeur revient à sa valeur précédente après redémarrage.
 +
 +=== Solution 1 ===
 +
 +  * Désinstaller cloud-init définitivement
 +
 +<code bash>
 +sudo apt purge cloud-init cloud-initramfs-copymods cloud-initramfs-dyn-netconf
 +</code>
 +
 +=== Solution 2 ===
 +
 +  * Effacer la conf cloud-init
 +
 +<code bash>
 +sudo cloud-init clean
 +</code>
 +
 +  * Réinitialiser la conf cloud-init à partir de l'existant
 +
 +<code bash>
 +sudo cloud-init init
 +</code>
 +
 +[[https://askubuntu.com/questions/1028633/host-name-reverts-to-old-name-after-reboot-in-18-04-lts|Source]]
 +
 +----
 +
 +[[all:bibles:linux:reseau:02-configuration|Haut de page]]