Table des matières
Configuration IP
netplan (à partir d'Ubuntu 18.04)
« 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
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
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
DHCP
<fs small>/etc/network/interfaces</fs>
auto lo iface lo inet loopback auto enp1s0 iface enp1s0 inet dhcp
Network Manager
<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
DHCP Client Daemon (Debian)
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
- Ajouter les lignes suivantes à la fin du fichier /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6 = 1
- 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 :
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
- Editer le fichier /etc/default/grub pour ajouter l'option ipv6.disable=1 au paramètre GRUB_CMDLINE_LINUX_DEFAULT
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=""
- Regénérer la configuration Grub.
sudo update-grub
- Redémarrer la machine.
Commandes usuelles
Interroger ses adresses IP
hostname -i
Prise en compte modifications
A partir d'Ubuntu 18.04
sudo netplan apply
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
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
- Créer ou éditer le fichier /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
update_config=1
network={
ssid="Network_SSID"
psk="CLEF_DU_RESEAU"
key_mgmt=WPA-PSK
}
- Possibilité de masquer la clef en la remplaçant par le résultat généré par la commande
wpa_passphrase "Network_SSID" "CLEF_DU_RESEAU"
- Modifier les droits d'accès du fichier
sudo chmod 0600 /etc/wpa_supplicant/wpa_supplicant.conf
- Créer un fichier de configuration sous /etc/network/interfaces.d
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
- Arrêter les services
sudo systemctl stop NetworkManager sudo systemctl stop wpa_supplicant sudo systemctl stop networking
- Redémarrer les services en respectant l'ordre
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
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 :
- Mise à jour du fichier /etc/hostname
- Mise à jour du fichier /etc/hosts
- 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.
/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
/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;
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
- Désinstaller cloud-init définitivement
sudo apt purge cloud-init cloud-initramfs-copymods cloud-initramfs-dyn-netconf
Solution 2
- Effacer la conf cloud-init
sudo cloud-init clean
- Réinitialiser la conf cloud-init à partir de l'existant
sudo cloud-init init
