Comment vérifier si IPv6 est activé sur Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si IPv6 est activé et configuré sur votre système Linux. Vous explorerez différentes méthodes pour vérifier l'état et les paramètres d'IPv6.

Plus précisément, vous utiliserez la commande ip addr pour inspecter les adresses IPv6 configurées, examinerez le répertoire /proc/sys/net/ipv6 pour vérifier l'état d'IPv6 du noyau (kernel), et utiliserez la commande sysctl pour afficher les paramètres réseau IPv6 détaillés. Ces étapes vous permettront de comprendre de manière complète la configuration d'IPv6 de votre système.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/RemoteAccessandNetworkingGroup -.-> linux/ifconfig("Network Configuring") linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") subgraph Lab Skills linux/ls -.-> lab-558791{{"Comment vérifier si IPv6 est activé sur Linux"}} linux/cat -.-> lab-558791{{"Comment vérifier si IPv6 est activé sur Linux"}} linux/ifconfig -.-> lab-558791{{"Comment vérifier si IPv6 est activé sur Linux"}} linux/netstat -.-> lab-558791{{"Comment vérifier si IPv6 est activé sur Linux"}} linux/ip -.-> lab-558791{{"Comment vérifier si IPv6 est activé sur Linux"}} end

Vérifier les adresses IPv6 avec ip addr

Dans cette étape, vous apprendrez à vérifier les adresses IPv6 configurées sur votre système en utilisant la commande ip addr. IPv6 est la dernière version du protocole Internet, conçu pour remplacer IPv4. Il offre un espace d'adressage beaucoup plus vaste, entre autres améliorations.

La commande ip est un outil puissant sous Linux pour gérer les interfaces réseau, le routage et les tunnels. La sous-commande addr est utilisée pour afficher et manipuler les adresses réseau.

Ouvrez le terminal si vous ne l'avez pas déjà fait. Vous pouvez le faire en cliquant sur l'icône Xfce Terminal sur le côté gauche du bureau.

Maintenant, tapez la commande suivante et appuyez sur Entrée :

ip addr

Cette commande affichera des informations détaillées sur toutes les interfaces réseau de votre système, y compris les adresses IPv4 et IPv6.

Recherchez les sections qui commencent par un numéro suivi d'un deux-points et d'un nom d'interface (comme 1: lo: ou 2: eth0:). Dans chaque section, recherchez les lignes qui commencent par inet6. Ces lignes montrent les adresses IPv6 attribuées à cette interface.

Par exemple, vous pourriez voir une sortie similaire à celle-ci (la sortie peut varier en fonction de la configuration de votre système) :

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:2/64 scope link
       valid_lft forever preferred_lft forever

Dans cet exemple :

  • lo est l'interface de bouclage (loopback), généralement utilisée pour la communication au sein de la même machine. Elle a l'adresse IPv6 ::1/128.
  • eth0 est une interface Ethernet standard. Elle a l'adresse IPv6 fe80::42:acff:fe11:2/64.

Les parties /128 et /64 indiquent la longueur du préfixe réseau, similaire au masque de sous-réseau en IPv4.

En utilisant ip addr, vous pouvez rapidement voir quelles interfaces ont des adresses IPv6 configurées et quelles sont ces adresses.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier l'état d'IPv6 dans /proc/sys/net/ipv6

Dans cette étape, vous explorerez le système de fichiers /proc pour vérifier l'état d'IPv6 de votre système. Le système de fichiers /proc est un système de fichiers virtuel qui fournit des informations sur les processus et d'autres informations système. C'est un excellent endroit pour trouver des détails sur le noyau Linux en cours d'exécution.

Plus précisément, nous allons examiner les fichiers dans le répertoire /proc/sys/net/ipv6/. Ces fichiers contiennent des paramètres qui contrôlent le comportement de la pile protocolaire IPv6.

Pour afficher le contenu du répertoire /proc/sys/net/ipv6/, vous pouvez utiliser la commande ls :

ls /proc/sys/net/ipv6/

Vous verrez une liste de fichiers et de répertoires. Chaque fichier représente un paramètre spécifique du noyau IPv6.

anycast_src_interval  bindv6only  conf  flowlabel_reflect  flowlabel_state  icmp  ip6frag_high_thresh  ip6frag_low_thresh  ip6frag_secret_interval  ip6frag_time  neigh  route  tcp_metrics_hash_size  tcp_metrics_info  tcp_metrics_purge_interval  tcp_metrics_reg_interval  tcp_metrics_req_interval  tcp_metrics_slack  tcp_metrics_sync_interval  tcp_metrics_timeout  udp_metrics_hash_size  udp_metrics_info  udp_metrics_purge_interval  udp_metrics_reg_interval  udp_metrics_req_interval  udp_metrics_slack  udp_metrics_sync_interval  udp_metrics_timeout

Un fichier important est disable. Ce fichier indique si IPv6 est désactivé (1) ou activé (0) au niveau du système.

Pour afficher le contenu du fichier disable, vous pouvez utiliser la commande cat :

cat /proc/sys/net/ipv6/disable

La sortie sera soit 0 soit 1.

0
  • Si la sortie est 0, IPv6 est activé.
  • Si la sortie est 1, IPv6 est désactivé.

Un autre fichier utile est conf. C'est un répertoire contenant des fichiers de configuration pour chaque interface réseau et un répertoire default pour les paramètres par défaut.

Regardons le contenu du répertoire conf :

ls /proc/sys/net/ipv6/conf/

Vous verrez des répertoires pour chaque interface (comme all, default, eth0, lo).

all  default  eth0  lo

Vous pouvez ensuite vérifier l'état d'IPv6 pour une interface spécifique, comme eth0, en regardant le fichier disable_ipv6 dans son répertoire :

cat /proc/sys/net/ipv6/conf/eth0/disable_ipv6

Ce fichier contient également 0 (activé) ou 1 (désactivé) pour cette interface spécifique.

0

L'exploration des fichiers dans /proc/sys/net/ipv6/ offre une vue de bas niveau de la configuration IPv6 de votre système.

Cliquez sur Continuer pour passer à l'étape suivante.

Inspecter les paramètres IPv6 avec sysctl net.ipv6

Dans cette étape, vous utiliserez la commande sysctl pour inspecter les paramètres du noyau IPv6. La commande sysctl est utilisée pour modifier les paramètres du noyau à l'exécution. Elle offre un moyen plus convivial pour afficher et modifier les mêmes paramètres que ceux trouvés dans le système de fichiers /proc/sys/ que vous avez exploré à l'étape précédente.

Pour afficher tous les paramètres du noyau liés à IPv6, vous pouvez utiliser sysctl avec le préfixe net.ipv6.

Tapez la commande suivante dans le terminal et appuyez sur Entrée :

sysctl net.ipv6

Cette commande affichera une longue liste de paramètres et de leurs valeurs actuelles. Ces paramètres contrôlent divers aspects du comportement du réseau IPv6, tels que la configuration des adresses, le routage et la sécurité.

net.ipv6.conf.all.accept_dad = 1
net.ipv6.conf.all.accept_ra = 1
net.ipv6.conf.all.accept_redirects = 1
net.ipv6.conf.all.autoconf = 1
net.ipv6.conf.all.dad_transmits = 1
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.all.force_tmo = 0
net.ipv6.conf.all.forwarding = 0
net.ipv6.conf.all.hop_limit = 64
net.ipv6.conf.all.keep_addr_on_down = 0
net.ipv6.conf.all.max_desync_factor = 600
net.ipv6.conf.all.mc_forwarding = 0
net.ipv6.conf.all.mtu = 1280
net.ipv6.conf.all.proxy_ndp = 0
net.ipv6.conf.all.regen_max_retry_delay = 1
net.ipv6.conf.all.regen_retry_delay = 1
net.ipv6.conf.all.router_solicit_delay = 1
net.ipv6.conf.all.router_solicit_interval = 600
net.ipv6.conf.all.router_solicit_max_interval = 1200
net.ipv6.conf.all.router_solicits = -1
net.ipv6.conf.all.rtr_probe_interval = 600
net.ipv6.conf.all.suppress_frag_ndisc = 1
net.ipv6.conf.all.temp_prefer_mpatemp = 1
net.ipv6.conf.all.temp_valid_lifetime = 86400
net.ipv6.conf.all.temp_preferred_lifetime = 14400
net.ipv6.conf.all.use_deprecated = 0
net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.all.optimistic_dad = 0
net.ipv6.conf.all.accept_ra_defrtr = 1
net.ipv6.conf.all.accept_ra_pinfo = 1
net.ipv6.conf.all.accept_ra_rtr_pref = 1
net.ipv6.conf.all.accept_ra_mtu = 1
net.ipv6.conf.all.ignore_routes_with_linkdown = 0
net.ipv6.conf.all.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.all.drop_multicast_in_l2_multicast = 0
net.ipv6.conf.all.keep_addr_on_down = 0
net.ipv6.conf.default.accept_dad = 1
net.ipv6.conf.default.accept_ra = 1
net.ipv6.conf.default.accept_redirects = 1
net.ipv6.conf.default.autoconf = 1
net.ipv6.conf.default.dad_transmits = 1
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.default.force_tmo = 0
net.ipv6.conf.default.forwarding = 0
net.ipv6.conf.default.hop_limit = 64
net.ipv6.conf.default.keep_addr_on_down = 0
net.ipv6.conf.default.max_desync_factor = 600
net.ipv6.conf.default.mc_forwarding = 0
net.ipv6.conf.default.mtu = 1280
net.ipv6.conf.default.proxy_ndp = 0
net.ipv6.conf.default.regen_max_retry_delay = 1
net.ipv6.conf.default.regen_retry_delay = 1
net.ipv6.conf.default.router_solicit_delay = 1
net.ipv6.conf.default.router_solicit_interval = 600
net.ipv6.conf.default.router_solicit_max_interval = 1200
net.ipv6.conf.default.router_solicits = -1
net.ipv6.conf.default.rtr_probe_interval = 600
net.ipv6.conf.default.suppress_frag_ndisc = 1
net.ipv6.conf.default.temp_prefer_mpatemp = 1
net.ipv6.conf.default.temp_valid_lifetime = 86400
net.ipv6.conf.default.temp_preferred_lifetime = 14400
net.ipv6.conf.default.use_deprecated = 0
net.ipv6.conf.default.use_tempaddr = 0
net.ipv6.conf.default.optimistic_dad = 0
net.ipv6.conf.default.accept_ra_defrtr = 1
net.ipv6.conf.default.accept_ra_pinfo = 1
net.ipv6.conf.default.accept_ra_rtr_pref = 1
net.ipv6.conf.default.accept_ra_mtu = 1
net.ipv6.conf.default.ignore_routes_with_linkdown = 0
net.ipv6.conf.default.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.default.drop_multicast_in_l2_multicast = 0
net.ipv6.conf.default.keep_addr_on_down = 0
net.ipv6.conf.eth0.accept_dad = 1
net.ipv6.conf.eth0.accept_ra = 1
net.ipv6.conf.eth0.accept_redirects = 1
net.ipv6.conf.eth0.autoconf = 1
net.ipv6.conf.eth0.dad_transmits = 1
net.ipv6.conf.eth0.disable_ipv6 = 0
net.ipv6.conf.eth0.force_tmo = 0
net.ipv6.conf.eth0.forwarding = 0
net.ipv6.conf.eth0.hop_limit = 64
net.ipv6.conf.eth0.keep_addr_on_down = 0
net.ipv6.conf.eth0.max_desync_factor = 600
net.ipv6.conf.eth0.mc_forwarding = 0
net.ipv6.conf.eth0.mtu = 1280
net.ipv6.conf.eth0.proxy_ndp = 0
net.ipv6.conf.eth0.regen_max_retry_delay = 1
net.ipv6.conf.eth0.regen_retry_delay = 1
net.ipv6.conf.eth0.router_solicit_delay = 1
net.ipv6.conf.eth0.router_solicit_interval = 600
net.ipv6.conf.eth0.router_solicit_max_interval = 1200
net.ipv6.conf.eth0.router_solicits = -1
net.ipv6.conf.eth0.rtr_probe_interval = 600
net.ipv6.conf.eth0.suppress_frag_ndisc = 1
net.ipv6.conf.eth0.temp_prefer_mpatemp = 1
net.ipv6.conf.eth0.temp_valid_lifetime = 86400
net.ipv6.conf.eth0.temp_preferred_lifetime = 14400
net.ipv6.conf.eth0.use_deprecated = 0
net.ipv6.conf.eth0.use_tempaddr = 0
net.ipv6.conf.eth0.optimistic_dad = 0
net.ipv6.conf.eth0.accept_ra_defrtr = 1
net.ipv6.conf.eth0.accept_ra_pinfo = 1
net.ipv6.conf.eth0.accept_ra_rtr_pref = 1
net.ipv6.conf.eth0.accept_ra_mtu = 1
net.ipv6.conf.eth0.ignore_routes_with_linkdown = 0
net.ipv6.conf.eth0.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.eth0.drop_multicast_in_l2_multicast = 0
net.ipv6.conf.eth0.keep_addr_on_down = 0
net.ipv6.conf.lo.accept_dad = 1
net.ipv6.conf.lo.accept_ra = 1
net.ipv6.conf.lo.accept_redirects = 1
net.ipv6.conf.lo.autoconf = 1
net.ipv6.conf.lo.dad_transmits = 1
net.ipv6.conf.lo.disable_ipv6 = 0
net.ipv6.conf.lo.force_tmo = 0
net.ipv6.conf.lo.forwarding = 0
net.ipv6.conf.lo.hop_limit = 64
net.ipv6.conf.lo.keep_addr_on_down = 0
net.ipv6.conf.lo.max_desync_factor = 600
net.ipv6.conf.lo.mc_forwarding = 0
net.ipv6.conf.lo.mtu = 65536
net.ipv6.conf.lo.proxy_ndp = 0
net.ipv6.conf.lo.regen_max_retry_delay = 1
net.ipv6.conf.lo.regen_retry_delay = 1
net.ipv6.conf.lo.router_solicit_delay = 1
net.ipv6.conf.lo.router_solicit_interval = 600
net.ipv6.conf.lo.router_solicit_max_interval = 1200
net.ipv6.conf.lo.router_solicits = -1
net.ipv6.conf.lo.rtr_probe_interval = 600
net.ipv6.conf.lo.suppress_frag_ndisc = 1
net.ipv6.conf.lo.temp_prefer_mpatemp = 1
net.ipv6.conf.lo.temp_valid_lifetime = 86400
net.ipv6.conf.lo.temp_preferred_lifetime = 14400
net.ipv6.conf.lo.use_deprecated = 0
net.ipv6.conf.lo.use_tempaddr = 0
net.ipv6.conf.lo.optimistic_dad = 0
net.ipv6.conf.lo.accept_ra_defrtr = 1
net.ipv6.conf.lo.accept_ra_pinfo = 1
net.ipv6.conf.lo.accept_ra_rtr_pref = 1
net.ipv6.conf.lo.accept_ra_mtu = 1
net.ipv6.conf.lo.ignore_routes_with_linkdown = 0
net.ipv6.conf.lo.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.lo.drop_multicast_in_l2_multicast = 0
net.ipv6.conf.lo.keep_addr_on_down = 0
net.ipv6.flowlabel_reflect = 0
net.ipv6.flowlabel_state = 0
net.ipv6.ip6frag_high_thresh = 4194304
net.ipv6.ip6frag_low_thresh = 3145728
net.ipv6.ip6frag_secret_interval = 0
net.ipv6.ip6frag_time = 60
net.ipv6.tcp_metrics_hash_size = 512
net.ipv6.tcp_metrics_info = 1
net.ipv6.tcp_metrics_purge_interval = 600
net.ipv6.tcp_metrics_reg_interval = 1800
net.ipv6.tcp_metrics_req_interval = 300
net.ipv6.tcp_metrics_slack = 10
net.ipv6.tcp_metrics_sync_interval = 300
net.ipv6.tcp_metrics_timeout = 1800
net.ipv6.udp_metrics_hash_size = 512
net.ipv6.udp_metrics_info = 1
net.ipv6.udp_metrics_purge_interval = 600
net.ipv6.udp_metrics_reg_interval = 1800
net.ipv6.udp_metrics_req_interval = 300
net.ipv6.udp_metrics_slack = 10
net.ipv6.udp_metrics_sync_interval = 300
net.ipv6.udp_metrics_timeout = 1800

Vous pouvez également inspecter un paramètre spécifique. Par exemple, pour vérifier l'état de désactivation d'IPv6 au niveau du système en utilisant sysctl, vous pouvez utiliser :

sysctl net.ipv6.conf.all.disable_ipv6

La sortie affichera le nom du paramètre et sa valeur :

net.ipv6.conf.all.disable_ipv6 = 0

Cela confirme que IPv6 est activé au niveau du système, ce qui correspond à ce que vous avez vu dans le système de fichiers /proc.

La commande sysctl est un moyen pratique d'afficher et de modifier les paramètres du noyau sans interagir directement avec les fichiers dans /proc/sys/.

Cliquez sur Continuer pour terminer ce laboratoire.

Résumé

Dans ce laboratoire, vous avez appris à vérifier si IPv6 est activé sur un système Linux en examinant les configurations réseau. Vous avez commencé par utiliser la commande ip addr pour afficher les détails des interfaces réseau et identifier les adresses IPv6 attribuées. Cette commande fournit une vue complète des adresses IPv4 et IPv6 configurées sur les interfaces réseau du système.

Ensuite, vous avez exploré le répertoire /proc/sys/net/ipv6 pour vérifier l'état d'IPv6 du noyau en inspectant des fichiers spécifiques dans ce système de fichiers virtuel. Enfin, vous avez utilisé la commande sysctl net.ipv6 pour inspecter divers paramètres du noyau liés à IPv6, offrant une vision plus approfondie des paramètres et de la configuration IPv6 du système.