====== 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 ====
**/etc/netplan/01-netcfg.yaml**
network:
ethernets:
ens160:
dhcp4: true
version: 2
==== DHCP avec bonding ====
**/etc/netplan/01-netcfg.yaml**
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 [[https://help.ubuntu.com/community/UbuntuBonding?&_ga=2.231777375.1369656617.1539611592-962216848.1539611592#Descriptions_of_bonding_modes|page]] pour plus d'infos.
=== Basculement bond0 sur eth1 ===
sudo apt-get install ifenslave
ifenslave -c bond0 eth1
==== IP statique ====
**/etc/netplan/01-netcfg.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
==== IP statique avec VLAN ====
**/etc/netplan/01-netcfg.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]
==== Network Manager ====
**/etc/netplan/01-network-manager-all.yaml**
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
----
[[all:bibles:linux:reseau:02-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 ====
**/etc/network/interfaces**
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 ====
**/etc/network/interfaces**
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.
**/etc/NetworkManager/system-connections/Connexion filaire 1**
[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
----
[[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 ===
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
Semble ne plus fonctionner sur Ubuntu 20.04. Voir méthode Grub.
* 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.
----
[[all:bibles:linux:reseau:02-configuration|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 |
----
[[all:bibles:linux:reseau:02-configuration|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
=== 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
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 [[https://doc.ubuntu-fr.org/inssider|LinSSID]].
=== Installation ===
sudo apt-get install linssid
=== 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 :
uname -n
=== Changement du hostname ===
hostnamectl set-hostname
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.
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;
----
[[all:bibles:linux:reseau:02-configuration|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 ===
* 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
[[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]]