# Debian 11 sysctl vs ipv6

**URL:** <https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063>\
**Category:** Support Debian\
**Tags:** ipv6\
**Created:** [Août 30, 2022, 11:14 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063 "2022-08-30T11:14:13Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![mccm](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mccm/32/12242_2.png) [@mccm](https://www.debian-fr.org/u/mccm)\
**Post date:** [Août 30, 2022, 11:14 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/1 "2022-08-30T11:14:13Z")

</div>

Bonjour

le but est de désactiver l’ipv6 au boot donc je rajoute cette règle:

```bash
ll /etc/sysctl.d                            
total 12K
-rw-r--r-- 1 root root 146 18 mai 14:11 30-brave.conf
-rw-r--r-- 1 root root 102 30 août 11:39 70-disable-ipv6.conf
lrwxrwxrwx 1 root root 14 20 mars 20:55 99-sysctl.conf -> ../sysctl.conf
-rw-r--r-- 1 root root 639 17 mai 2018 README.sysctl

```

les règles:

```bash
# cat /etc/sysctl.d/70-disable-ipv6.conf
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1

```

puis:

```bash
reboot

```

apres le reboot SURPRISE:

```bash
# ip ad
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
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether bc:ae:c5:be:bf:ac brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
       valid_lft 86369sec preferred_lft 86369sec
    inet6 2a01:cb18:8453:b200:f8af:34d6:66c9:953d/64 scope global temporary dynamic 
       valid_lft 86390sec preferred_lft 590sec
    inet6 2a01:cb18:8453:b200:beae:c5ff:febe:bfac/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86390sec preferred_lft 590sec
    inet6 fe80::beae:c5ff:febe:bfac/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

```

toujours de l’ipV6, petite vérification:

```bash
# cat /etc/sysctl.d/70-disable-ipv6.conf
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
# 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 
1
1
1

```

il faut croire que le `default` ou le `all` ne marchent pas!

```bash
# cat /proc/sys/net/ipv6/conf/enp2s0/disable_ipv6 
0
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6 
1
# cat /proc/sys/net/ipv6/conf/default/disable_ipv6 
1

```

mais le pire c’est que si je fais ça:

```bash
# sysctl -p /etc/sysctl.d/70-disable-ipv6.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
# ip ad
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
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether bc:ae:c5:be:bf:ac brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
       valid_lft 85866sec preferred_lft 85866sec

```

BOOM plus d’ipv6!! je décide de `rebooter`

```bash
# ip ad
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
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether bc:ae:c5:be:bf:ac brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
       valid_lft 86372sec preferred_lft 86372sec
    inet6 2a01:cb18:8453:b200:6207:5aaf:5b13:76a6/64 scope global temporary dynamic 
       valid_lft 86374sec preferred_lft 574sec
    inet6 2a01:cb18:8453:b200:beae:c5ff:febe:bfac/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86374sec preferred_lft 574sec
    inet6 fe80::beae:c5ff:febe:bfac/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

```

l’ipv6 est toujours là donc je rajoute la règle pour l’interface:

```bash
# cat /etc/sysctl.d/70-disable-ipv6.conf
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
net.ipv6.conf.enp2s0.disable_ipv6=1
# reboot 

```

attention les yeux!!

```bash
ip ad                                           
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
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether bc:ae:c5:be:bf:ac brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
       valid_lft 86342sec preferred_lft 86342sec
    inet6 2a01:cb18:8453:b200:109e:280f:fbb3:32b2/64 scope global temporary dynamic 
       valid_lft 86391sec preferred_lft 591sec
    inet6 2a01:cb18:8453:b200:beae:c5ff:febe:bfac/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86391sec preferred_lft 591sec
    inet6 fe80::beae:c5ff:febe:bfac/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

```

encore ipv6 et manuellment:

```bash
# sysctl -p /etc/sysctl.d/70-disable-ipv6.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.enp2s0.disable_ipv6 = 1
# ip ad                                       
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
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether bc:ae:c5:be:bf:ac brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
       valid_lft 86289sec preferred_lft 86289sec

```

Merci pour vos retour

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Août 30, 2022, 11:30 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/2 "2022-08-30T11:30:15Z")

</div>

> [@mccm](#):
>
> le but est de désactiver l’ipv6

Précision: disable\_ipv6=1 ne désactive pas l’IPv6 globalement mais uniquement sur les interfaces spécifiées (`all`=toutes les interfaces existantes, `default`=toute interface créée ultérieurement). Et c’est réversible.

> [@mccm](#):
>
> il faut croire que le `default` ou le `all` ne marchent pas!

Si, mais tu n’es pas forcément le seul à jouer avec les sysctl : apparement le gestionnaire de réseau le fait aussi. Il faut donc désactiver l’IPv6 pour cette interface dans ce dernier. Lequel utilises-tu ?

> [@mccm](#):
>
> l’ipv6 est toujours là donc je rajoute la règle pour l’interface

Inutile puisque tu mets déjà all et default à 1, ce qui couvre toutes les interfaces existantes et à venir (l’interface n’existe pas forcément au moment où le fichier est appliqué).

---

<div class="post-metadata">

**Author:** ![mccm](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mccm/32/12242_2.png) [@mccm](https://www.debian-fr.org/u/mccm)\
**Post date:** [Août 30, 2022, 11:53 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/3 "2022-08-30T11:53:57Z")

</div>

> [@PascalHambourg](#):
>
> Si, mais tu n’es pas forcément le seul à jouer avec les sysctl : apparement le gestionnaire de réseau le fait aussi. Il faut donc désactiver l’IPv6 pour cette interface dans ce dernier. Lequel utilises-tu ?

NetworkManager

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Août 30, 2022, 12:02 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/4 "2022-08-30T12:02:00Z")

</div>

Dans les paramètres de la connexion ethernet, il y a un onglet IPv6 contenant un réglage pour désactiver IPv6.

---

<div class="post-metadata">

**Author:** ![mccm](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mccm/32/12242_2.png) [@mccm](https://www.debian-fr.org/u/mccm)\
**Post date:** [Août 30, 2022, 12:12 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/5 "2022-08-30T12:12:37Z")

</div>

je cherche le bon fichier de conf car j’utilise `ansible`…

---

<div class="post-metadata">

**Author:** ![mccm](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mccm/32/12242_2.png) [@mccm](https://www.debian-fr.org/u/mccm)\
**Post date:** [Août 30, 2022, 12:34 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/6 "2022-08-30T12:34:10Z")

</div>

alors si quelqu’un trouve la config globale pour désactiver l’ipv6 avec NetworkManager…  
je prends 🙂

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Août 30, 2022, 1:06 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/7 "2022-08-30T13:06:04Z")

</div>

Peut-être ne cli avec nmcli comme ça :

> nmcli connection modify _ton interface_ ipv6.method «&nbsp;disabled&nbsp;»

Tu devrais sans doute trouvé quelque chose là-dedans :

> **[GitHub - linux-system-roles/network: An ansible role to configure networking](https://github.com/linux-system-roles/network)**
>
> An ansible role to configure networking

---

<div class="post-metadata">

**Author:** ![mccm](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mccm/32/12242_2.png) [@mccm](https://www.debian-fr.org/u/mccm)\
**Post date:** [Août 30, 2022, 1:11 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/8 "2022-08-30T13:11:10Z")

</div>

> [@Clochette](#):
>
> Tu devrais sans doute trouvé quelque chose là-dedans :

Salut oui effectivement mais de suite un role pour faire cela…  
je pensais plus à une conf comme ça :

```bash
# cat /etc/NetworkManager/conf.d/ipv6.conf 
[connection]
ipv6.method=disabled

```

un truc globale, sans nom d’interface… mais meme ça… ça ne marche pas!

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Août 30, 2022, 2:32 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/9 "2022-08-30T14:32:17Z")

</div>

la désactivation de l’ipv6: Il suffit d’ajouter ce paramètre dans **GRUB\_CMDLINE\_LINUX** dans `/etc/default/grub` et de ne pas oublier de faire `update-grub` et `reboot` ensuite.  
`GRUB_CMDLINE_LINUX="ipv6.disable=1"`

> [@mccm](#):
>
> alors si quelqu’un trouve la config globale pour désactiver l’ipv6 avec NetworkManager…  
> je prends 🙂

Ca ne peux pas etre avec NetworkManager, car lui ne gère que des interfaces. Ce n’est pas lui qui gère réellement la pile réseau du noyau.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Août 30, 2022, 4:07 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/10 "2022-08-30T16:07:44Z")

</div>

> [@mccm](#):
>
> je cherche le bon fichier de conf

La configuration des interfaces gérées par NetworkManager n’est pas dans un fichier de conf au sens strict (qui serait dans /etc), elle doit être quelque part dans /var/lib/NetworkManager mais je ne suis pas sûr que ces fichiers doivent être modifiés autrement que via NetworkManager.

> [@Zargos](#):
>
> ipv6.disable=1

Attention quand même, ce paramètre désactive tous les services IPv6 du noyau et il y a un petit risque qu’une application qui fait appel à ces services ne fonctionne plus (même si elle n’a pas besoin de communiquer en IPv6).

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Août 30, 2022, 4:54 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/11 "2022-08-30T16:54:22Z")

</div>

> [@PascalHambourg](#):
>
> Attention quand même, ce paramètre désactive tous les services IPv6 du noyau et il y a un petit risque qu’une application qui fait appel à ces services ne fonctionne plus (même si elle n’a pas besoin de communiquer en IPv6).

Ca ne m’est jamais arrivé, si une appli ne fonctionne qu’avec l’IPv6 et que tu ne veux pas d’IPv6 alors tu n’as pas besoin de cette applciation

---

<div class="post-metadata">

**Author:** ![mccm](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mccm/32/12242_2.png) [@mccm](https://www.debian-fr.org/u/mccm)\
**Post date:** [Août 30, 2022, 6:26 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/12 "2022-08-30T18:26:40Z")

</div>

> [@Zargos](#):
>
> Ca ne peux pas etre avec NetworkManager, car lui ne gère que des interfaces. Ce n’est pas lui qui gère réellement la pile réseau du noyau.

tu peux dire a NM de ne pas configurer la partie ipv6 et effectivement NM vient configurer la pile IP

> [@PascalHambourg](#):
>
> La configuration des interfaces gérées par NetworkManager n’est pas dans un fichier de conf au sens strict (qui serait dans /etc), elle doit être quelque part dans /var/lib/NetworkManager mais je ne suis pas sûr que ces fichiers doivent être modifiés autrement que via NetworkManager.

les fichiers de conf de tes interfaces sont «&nbsp;aussi&nbsp;» dans:

```bash
/etc/NetworkManager/system-connections/

```

et tu peux les modifier a la main pas de problème!

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Août 30, 2022, 6:42 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/13 "2022-08-30T18:42:26Z")

</div>

> [@mccm](#):
>
> tu peux dire a NM de ne pas configurer la partie ipv6 et effectivement NM vient configurer la pile IP

sauf que l’IPv6 est toujours actif

---

<div class="post-metadata">

**Author:** ![mccm](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mccm/32/12242_2.png) [@mccm](https://www.debian-fr.org/u/mccm)\
**Post date:** [Août 30, 2022, 6:53 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/14 "2022-08-30T18:53:48Z")

</div>

> [@Zargos](#):
>
> sauf que l’IPv6 est toujours actif

dans le kernel oui mais pas sur ton interface

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Août 30, 2022, 6:55 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/15 "2022-08-30T18:55:40Z")

</div>

c’est simple tu fais un netstat -an tu verras si tu as de l’IPv6 de configuré ou pas

mais dans ce cas ce n’est pas de la desactivation.

---

<div class="post-metadata">

**Author:** ![mccm](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mccm/32/12242_2.png) [@mccm](https://www.debian-fr.org/u/mccm)\
**Post date:** [Août 30, 2022, 6:58 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/16 "2022-08-30T18:58:39Z")

</div>

on joue sur les mots là!

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Août 30, 2022, 6:59 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/17 "2022-08-30T18:59:16Z")

</div>

du tout en fait

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Août 31, 2022, 6:10 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/18 "2022-08-31T06:10:53Z")

</div>

> [@Zargos](#):
>
> si une appli ne fonctionne qu’avec l’IPv6 et que tu ne veux pas d’IPv6 alors tu n’as pas besoin de cette applciation

J’avais écrit «&nbsp;même si elle n’a pas besoin de communiquer en IPv6&nbsp;».  
D’autre part, une application peut utiliser une socket IPv6 même pour communiquer en IPv4 grâce aux adresses IPv6 mappées en IPv4. Exemple avec 192.168.0.1 :

```
$ telnet -6 ::ffff:192.168.0.1 21
Trying ::ffff:192.168.0.1...
Connected to ::ffff:192.168.0.1.

```

On peut vérifier avec ss ou netstat que c’est bien une socket IPv6 qui est utilisée :

```
$ ss -n46t
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 [::ffff:192.168.0.252]:46660 [::ffff:192.168.0.1]:21                         

```

J’aurais pu utiliser la notation IPv6 pure ::ffff:c0a8:1, mais c’est moins explicite et le résultat est le même.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Août 31, 2022, 6:12 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/19 "2022-08-31T06:12:46Z")

</div>

Dans tous les cas, pour complétement désactiver ipv6 au boot, c’est la modification du grub, quelque soit le type d’utilisation ipv6.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Août 31, 2022, 10:48 UTC](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063/20 "2022-08-31T10:48:17Z")

</div>

Avec les noyaux actuels de Debian qui intègrent la fonction IPv6 en dur, oui, car le paramètre /sys/module/ipv6/parameters/disable est en lecture seule.

Lorsque la fonction IPv6 est en module comme c’était le cas d’anciennes versions de noyau Debian, une autre possibilité consiste à ne pas charger ce module. Et bien sûr si on compile son propre noyau, on peut désactiver la prise en charge de l’IPv6.

[Page suivante](https://www.debian-fr.org/t/debian-11-sysctl-vs-ipv6/87063.md?page=2)
