Linux

無法刪除 GRE 隧道

  • July 18, 2019

我正在 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再次出現並且問題繼續存在。

我有兩個問題:

  1. 我能做些什麼來擺脫這個討厭的隧道?我懷疑這可能是核心或模組錯誤。
  2. 這樣的持久數據(在這種情況下是 的資訊gre0,但這適用於我什至可能不知道的任何其他設置)儲存在哪裡?

如果需要任何其他資訊,請告訴我。

非常感謝您的幫助。

gre0Tunnel 介面被命名為fallback 介面,具有特殊的含義。它是由ip_gre核心模組在模組初始化時創建的。您不能禁用此功能。

當主機收到未找到合適隧道介面的 gre 數據包時,將使用此回退介面。不幸的是,它確實是未記錄的功能。僅在原始碼中對此進行了描述。

相同的邏輯用於其他類型的隧道。

因此,您無法在不失去其他 gre 隧道的情況下完全刪除它。但是你可以用 command 重命名它ip link set dev gre0 name gre_fallback。然後您可以創建另一個gre0名稱為 gre 的隧道。

引用自:https://serverfault.com/questions/247767