— Désactiver l’ipv6 sur Debian (ou linuxmint debian edition lmde) —

S’assurer que l’ipv6 est bien activé (oui vouloir enlever quelque chose qui n’éxiste pas :D) avec ifconfig (en root biensûr)

Devrait vous retourner:

eth1 Link encap:Ethernet HWaddr aa:bb:cc:dd:ee:ff
inet adr:192.168.0.13 Bcast:192.168.0.255 Masque:255.255.255.0
<strong>adr inet6: votre adresse ipv6 ici Scope:Lien</strong>
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:414128 errors:0 dropped:0 overruns:0 frame:0
TX packets:447296 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:205292203 (195.7 MiB) TX bytes:51959161 (49.5 MiB)
Interruption:42 Adresse de base:0x2000

lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
<strong>adr inet6: ::1/128 Scope:Hôte</strong>
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:53 errors:0 dropped:0 overruns:0 frame:0
TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:6954 (6.7 KiB) TX bytes:6954 (6.7 KiB)

On peut donc constater que l’ipv6 est bien actif grâce à adr inet6

Nous pouvons aussi le vérifier en regardant si le fichier if_inet6 éxiste:

cat /proc/net/if_inet6

00000000000000000000000000000001 01 80 10 80 lo
fe80000000000000be5ff4fffee3dfdd 02 40 20 80 eth1

Il éxiste et il y a du contenu…pas de doute l’ipv6 est bien activée sur mon système.

Désactiver l’ipv6.

Édition de:

vim /etc/sysctl.conf

Puis ajouter ceci:

net.ipv6.conf.all.disable_ipv6 = 1

Faire prendre en compte la modification:

sysctl -p /etc/sysctl.conf

On peut maintenant recontrôler via ifconfig:

eth1 Link encap:Ethernet HWaddr bc:5f:f4:e3:df:dd
inet adr:192.168.0.13 Bcast:192.168.0.255 Masque:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:421980 errors:0 dropped:0 overruns:0 frame:0
TX packets:454967 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:209360874 (199.6 MiB) TX bytes:53296589 (50.8 MiB)
Interruption:42 Adresse de base:0x2000

lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:53 errors:0 dropped:0 overruns:0 frame:0
TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
RX bytes:6954 (6.7 KiB) TX bytes:6954 (6.7 KiB)

Impeccable, plus de adr inet6 😉

Info trouvée sur ingesys

— Désactiver l’ipv6 dans bind9 —

Sur mon serveur, je n’arrêtais pas d’avoir des messages d’erreur du genre:

Dans /var/log/system

Feb 8 12:40:12 smileandjoke named[3566]: error (network unreachable) resolving 'adresse.com/A/IN': 2001:41d0:1:XXXX::1#XX

Puis des retours de logwatch:

Unexpected DNS RCODEs:
REFUSED: 1 Time(s)
SERVFAIL: 1 Time(s)

En fouinant un peu, c’est dû justement au fait d’avoir coupé l’ipv6 du serveur, bind cherche malgré tout à résoudre les adresses ipv6.

Il suffit donc de couper aussi l’ipv6 au niveau de bind9 pour éradiquer définitivement ces messages, qui je dois l’avouer, commençait à me faire douter de la sécurité de mon serveur :p

Pour ce faire, il faut éditer:

vim /etc/default/bind9

Perso j’ai commenté les anciens paramètre puis modifié comme ceci:

#####conf par defaut#####
# run resolvconf?
##RESOLVCONF=no
# startup options for the server
##OPTIONS="-u bind"
#####conf pour désactiver ipv6#####
# run resolvconf?
RESOLVCONF=yes
# startup options for the server
OPTIONS="-4 -u bind"

[petite parenthèse]
On pourrait tout aussi bien vouloir l’inverse et de vouloir se servir que de l’ipv6:
# run resolvconf?
RESOLVCONF=yes
# startup options for the server
OPTIONS="-6 -u bind"

[/petite parenthèse]

Il faut ensuite redémarrer bind9

/etc/init.d/bind9 restart

ou

service bind9 restart

Que la force soit avec toi 😉