Table des matières

Configuration IP


netplan (à partir d'Ubuntu 18.04)

La syntaxe des fichiers de configuration est au format yaml et donc l'indentation des lignes est importante.
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

DHCP

<fs small>/etc/netplan/01-netcfg.yaml</fs>

network:
    ethernets:
        ens160:
            dhcp4: true
    version: 2

DHCP avec bonding

<fs small>/etc/netplan/01-netcfg.yaml</fs>

bonds:
    bond0:
        dhcp4: yes
        interfaces:
            - enp3s0
            - enp4s0
        parameters:
            mode: active-backup
            primary: enp3s0
Les différents modes possibles sont : balance-rr, active-backup, balance-xor, broadcast, 802.3ad, balance-tlb, balance-alb.
Voir cette page pour plus d'infos.

Basculement bond0 sur eth1

sudo apt-get install ifenslave
ifenslave -c bond0 eth1

IP statique

<fs small>/etc/netplan/01-netcfg.yaml</fs>

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

IP statique avec VLAN

<fs small>/etc/netplan/01-netcfg.yaml</fs>

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]

Network Manager

<fs small>/etc/netplan/01-network-manager-all.yaml</fs>

network:
  version: 2
  renderer: NetworkManager

Désactivation

Editer le fichier /etc/NetworkManager/NetworkManager.conf et changer managed=false par managed=true dans la section ifupdown :

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true

[device]
wifi.scan-rand-mac-address=no

Prise en compte

sudo netplan try    # test une nouvelle configuration pour un temps donné
sudo netplan apply  # prise en compte nouvelle configuration

Haut de page

Avant Ubuntu 18.04

Configuration manuelle

sudo ifconfig eth0 10.0.0.100 netmask 255.255.255.0
sudo route add default gw 10.0.0.1 eth0

Modifier le fichier /etc/resolv.conf pour la résolution DNS.

Pour effacer la conf :

ip addr flush eth0

IP statique

<fs small>/etc/network/interfaces</fs>

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
Pour un démarrage plus rapide sans attendre le réseau préférer allow-hotplug enp1s0 à la place de auto enp1s0

DHCP

<fs small>/etc/network/interfaces</fs>

auto lo
iface lo inet loopback

auto enp1s0
iface enp1s0 inet dhcp

Network Manager

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.

<fs small>/etc/NetworkManager/system-connections/Connexion filaire 1</fs>

[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

Haut de page

DHCP Client Daemon (Debian)


Haut de page

IPV6

Désactivation IPV6

Temporairement

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

Persistant

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6 = 1
Semble ne plus fonctionner sur Ubuntu 20.04. Voir méthode Grub.
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

Persistant via Grub

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=""
sudo update-grub

Haut de page

Commandes usuelles

Interroger ses adresses IP

hostname -i

Prise en compte modifications

A partir d'Ubuntu 18.04

sudo netplan apply
Possibilité d'avoir plus d'informations en ajoutant l'option debug :
sudo netplan --debug apply

A partir d'Ubuntu 16.04

sudo systemctl restart networking

Avant Ubuntu 16.04

sudo service networking restart

Network manager

sudo systemctl restart NetworkManager

Renouvellement adresse IP en DHCP

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

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

Haut de page

Wifi

Configuration manuelle

Liste les réseaux sans fil sur l’interface wlan0

sudo iwlist wlan0 scan | egrep 'Cell |Encryption|Quality|Last beacon|ESSID'

Liste les réseau sans fil avec la puissance du signal sur l’interface wlan0

sudo iw dev wlan0 scan | egrep "signal|SSID"

Configure l’interface wlan0 pour se connecter sur le réseau dont le ssid est SSID

sudo iwconfig wlan0 essid <SSID>

Obtient une adresse via DHCP sur l’interface wlan0

udhcpc –i wlan0

Configuration via fichiers

ctrl_interface=/var/run/wpa_supplicant
update_config=1

network={
    ssid="Network_SSID"
    psk="CLEF_DU_RESEAU"
    key_mgmt=WPA-PSK
}
wpa_passphrase "Network_SSID" "CLEF_DU_RESEAU"
sudo chmod 0600 /etc/wpa_supplicant/wpa_supplicant.conf

DHCP

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
  wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

IP statique

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
sudo systemctl stop NetworkManager
sudo systemctl stop wpa_supplicant
sudo systemctl stop networking
sudo systemctl start networking
sudo systemctl start wpa_supplicant
sudo systemctl start NetworkManager

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 LinSSID.

Installation

sudo apt-get install linssid

Utilisation

Lancer l'application par le menu ou en ligne de commande linssid.


Haut de page

Autres fichiers de configuration

/etc/hostname

Nom de la machine que l'on retrouve avec la commande :

uname -n

Changement du hostname

hostnamectl set-hostname <nouveau nom>

La modification peut être réalisé manuellement par :

/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.

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.

/etc/sysctl.conf

Quelques paramètres de configuration.

Activation IP forwarding

net.ipv4.ip_forward = 1

sudo sysctl -w net.ipv4.ip_forward=1

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

Les valeurs courantes peuvent être interrogées et modifiées dans
/proc/sys/net/ipv4/…

/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 :

supersede domain-name-servers @IP1,@IP2;

Haut de page

Redhat/CentOS

Configuration adresse IP

adresse IP fixe

/etc/sysconfig/network-scripts/ifcfg-ensxxx

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

DHCP

/etc/sysconfig/network-scripts/ifcfg-ensxxx

DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:24:7E:10:96:B2"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"

Prise en compte des modifications

systemctl restart network

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

sudo apt purge cloud-init cloud-initramfs-copymods cloud-initramfs-dyn-netconf

Solution 2

sudo cloud-init clean
sudo cloud-init init

Source


Haut de page