Solution 1 :
Je crois que j'ai trouvé moi-même une réponse à ce problème.
Après avoir bricolé pendant un certain temps, j'ai décidé de reproduire le problème dans une installation propre.
Le ip_gre
module n'est pas inséré par défaut dans le noyau après l'installation de Debian. ip tunnel show
n'affiche aucun tunnel. Après avoir inséré le ip_gre
module, mais sans créer de tunnel, gre0
apparaît et est ineffaçable et inchangeable comme prévu. Ainsi gre0
semble être un tunnel factice créé par défaut par le ip_gre
module.
La partie frustrante est que cette "fonctionnalité" est totalement non documentée, et est même inattendue, car il pourrait être naturel d'essayer de créer un gre0
tunnel en tant que premier (et unique) tunnel GRE dans un système.
Solution 2 :
Le gre0
L'interface de tunnel est nommée interface de secours et a une signification particulière. Il est créé par ip_gre
module du noyau à l'initialisation du module. Vous ne pouvez pas désactiver cette fonctionnalité.
Lorsque l'hôte reçoit des paquets gre pour lesquels l'interface de tunnel appropriée n'est pas trouvée, cette interface de secours sera utilisée. Malheureusement, c'est vraiment une fonctionnalité non documentée. Ce n'est décrit que dans le code source.
La même logique est utilisée pour les autres types de tunneling.
Vous ne pouvez donc pas le supprimer complètement sans perdre d'autres tunnels gre. Mais vous pouvez le renommer avec la commande ip link set dev gre0 name gre_fallback
. Et puis vous pouvez créer l'autre tunnel gre avec gre0
nom.