Linux
無法刪除 GRE 隧道
我正在 Linux 2.6.26 中配置 GRE 隧道,但我遇到了一個非常奇怪的問題,我找不到任何解決方案。
我創建了一個名為 的 GRE 隧道
gre0
,但無論我做什麼,我都無法刪除該隧道。該命令ip tunnel del gre0
失敗並返迴響應ioctl: Operation not permitted
。任何更改隧道地址的嘗試也會失敗。以下命令說明了該問題:
# 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
我可以毫無問題地創建、更改和刪除其他隧道,但
gre0
即使我重新啟動或關閉介面,我也會堅持在那裡並且不會消失。如果我移除
ip_gre
模組,隧道就會消失。一旦我再次插入模組,gre0
再次出現並且問題繼續存在。我有兩個問題:
- 我能做些什麼來擺脫這個討厭的隧道?我懷疑這可能是核心或模組錯誤。
- 這樣的持久數據(在這種情況下是 的資訊
gre0
,但這適用於我什至可能不知道的任何其他設置)儲存在哪裡?如果需要任何其他資訊,請告訴我。
非常感謝您的幫助。
gre0
Tunnel 介面被命名為fallback 介面,具有特殊的含義。它是由ip_gre
核心模組在模組初始化時創建的。您不能禁用此功能。當主機收到未找到合適隧道介面的 gre 數據包時,將使用此回退介面。不幸的是,它確實是未記錄的功能。僅在原始碼中對此進行了描述。
相同的邏輯用於其他類型的隧道。
因此,您無法在不失去其他 gre 隧道的情況下完全刪除它。但是你可以用 command 重命名它
ip link set dev gre0 name gre_fallback
。然後您可以創建另一個gre0
名稱為 gre 的隧道。