Désactiver IPv6 sur Linux

janvier 19, 2012  |   Blog,Non classé   |     |   Commentaires fermés sur Désactiver IPv6 sur Linux

Par défaut ipv6 est activé sur Linux ce qui peut augmenter la surface d’attaque des serveurs et nuire à la lisibilité de certaines commandes :
randco@RANDCO-S002 ~ $ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:01:c0:06:41:38 brd ff:ff:ff:ff:ff:ff
inet6 fe80::201:c0ff:fe06:4138/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:01:c0:06:41:39 brd ff:ff:ff:ff:ff:ff
inet6 fe80::201:c0ff:fe06:4139/64 scope link
valid_lft forever preferred_lft forever
4: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DORMANT qlen 1000
link/ether 00:0d:f0:8d:4c:93 brd ff:ff:ff:ff:ff:ff
inet6 fe80::20d:f0ff:fe8d:4c93/64 scope link
valid_lft forever preferred_lft forever
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 00:01:c0:06:41:38 brd ff:ff:ff:ff:ff:ff
inet6 fe80::201:c0ff:fe06:4138/64 scope link
valid_lft forever preferred_lft forever
6: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 1c:7e:e5:0f:dc:31 brd ff:ff:ff:ff:ff:ff

La façon la plus simple et la plus efficace (c-à-d quelle que soit la distribution ou les mises à jour réalisées ensuite) consiste à créer le fichier suivant : /etc/modprobe.d/00local

Le contenu de ce fichier sera le suivant :
alias net-pf-10 off
alias ipv6 off

Un reboot est alors nécessaire pour la prise en compte de ces modifications.
Cependant sur les kernels récents, ipv6 est intégré au noyau (et non plus chargé via des modules).
Dans ce cas, il faut utiliser la commande suivante :

echo "1" > /proc/sys/net/ipv6/conf/all/disable_ipv6  

Pour l’automatiser, on peut ajouter la ligne suivante au fichier /etc/sysctl.conf :
net.ipv6.conf.all.disable_ipv6=1

On peut constater la bonne désactivation d’ipv6 :

RANDCO-S002 ~ # ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:01:c0:06:41:38 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:01:c0:06:41:39 brd ff:ff:ff:ff:ff:ff
4: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DORMANT qlen 1000
link/ether 00:0d:f0:8d:4c:93 brd ff:ff:ff:ff:ff:ff
5: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 00:01:c0:06:41:38 brd ff:ff:ff:ff:ff:ff
6: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 1c:7e:e5:0f:dc:31 brd ff:ff:ff:ff:ff:ff

Les commentaires sont fermés.