Ich konfiguriere einen GRE-Tunnel in Linux 2.6.26 und habe ein sehr seltsames Problem festgestellt, für das ich keine Lösung finden konnte.
Ich habe einen GRE-Tunnel mit dem Namen erstellt gre0
, aber egal, was ich mache, ich kann diesen Tunnel einfach nicht löschen. Der Befehl ip tunnel del gre0
schlägt mit der Antwort fehl ioctl: Operation not permitted
. Jeder Versuch, die Adressen des Tunnels zu ändern, schlägt ebenfalls fehl.
Die folgenden Befehle veranschaulichen das Problem:
# ip tunnel del gre0
ioctl: Operation not permitted
# ip tunnel change gre0
# ip tunnel change gre0 remote <some address> local <some address>
ioctl: No such file or directory
Ich kann problemlos andere Tunnel erstellen, ändern und löschen, bleibe aber gre0
dabei und gehe nicht verloren, auch wenn ich neu starte oder die Schnittstellen herunterfahre.
Wenn ich das ip_gre
Modul entferne , verschwindet der Tunnel. Sobald ich das Modul wieder einsetze, gre0
erscheint es wieder und das Problem geht weiter.
Ich habe zwei Fragen:
- Was kann ich tun, um diesen lästigen Tunnel loszuwerden? Ich vermute, dass dies ein Kernel- oder ein Modulfehler sein könnte.
- Wo werden solche persistenten Daten (in diesem Fall die Informationen für
gre0
, dies gilt jedoch für jedes andere Setup, von dem ich möglicherweise überhaupt nichts weiß) gespeichert?
Wenn weitere Informationen benötigt werden, lassen Sie es mich bitte wissen.
Vielen Dank für jede Hilfe.
Ich glaube, ich habe eine Antwort auf dieses Problem gefunden.
Nachdem ich eine Weile gebastelt hatte, beschloss ich, das Problem in einer sauberen Installation zu reproduzieren.
Das
ip_gre
Modul wird nach der Installation von Debian nicht standardmäßig in den Kernel eingefügt.ip tunnel show
zeigt keinen Tunnel an. Nach dem Einsetzen desip_gre
Moduls, ohne jedoch einen Tunnel zu erstellen, wirdgre0
angezeigt und ist erwartungsgemäß nicht löschbar und unveränderbar. Esgre0
scheint sich also um einen Dummy-Tunnel zu handeln, der standardmäßig vomip_gre
Modul erstellt wird.Der frustrierende Teil ist, dass dieses „Feature“ völlig undokumentiert und sogar unerwartet ist, da es natürlich sein könnte, einen
gre0
Tunnel als ersten (und einzigen) GRE-Tunnel in einem System zu erstellen .quelle
tunl0
, es istipip
statt.Sie müssen sicherstellen, dass das gre-Modul vollständig entfernt wurde. Lauf
um zu überprüfen, ob das Modul in der Liste enthalten ist. Wenn ja, lauf
um sie aus dem Kernel zu entfernen.
quelle