GREトンネルを削除できません


15

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再表示され、問題は継続します。

2つの質問があります。

  1. この厄介なトンネルを取り除くにはどうすればよいですか?これはカーネルまたはモジュールのバグの可能性があります。
  2. そのような永続的なデータ(この場合、の情報ですgre0が、これは私が気づかないかもしれない他のセットアップにも当てはまります)はどこに保存されますか?

他の情報が必要な場合は、お知らせください。

助けてくれてありがとう。

回答:


2

gre0トンネルインターフェイスは、フォールバックインターフェイスとして命名され、特別な意味を持っています。ip_greモジュールの初期化時にカーネルモジュールによって作成されます。この機能を無効にすることはできません。

ホストが適切なトンネルインターフェイスが見つからないgreパケットを受信すると、このフォールバックインターフェイスが使用されます。残念ながら、それは本当に文書化されていない機能です。これはソースコードでのみ説明されています。

他のタイプのトンネリングにも同じロジックが使用されます。

したがって、他のgreトンネルを失わずに完全に削除することはできません。ただし、commandを使用して名前を変更できますip link set dev gre0 name gre_fallback。そして、他のgreトンネルをgre0名前で作成できます。


8年後、正しい答えが表示されます。ありがとう!
アレコフ

23

私は自分がこの問題に対する答えを見つけたと信じています。

しばらくいじった後、クリーンインストールで問題を再現することにしました。

ip_greモジュールは、Debianをインストールした後、カーネルにデフォルトで挿入されていません。ip tunnel showトンネルを表示しません。ip_greモジュールを挿入した後、トンネルを作成しないgre0と、表示され、期待どおりに削除および変更できません。したがってgre0ip_greモジュールによってデフォルトで作成されたダミートンネルのようです。

イライラする部分は、この「機能」が完全に文書化されていないことgre0であり、システムで最初の(そして唯一の)GREトンネルとしてトンネルを作成しようとするのが自然なため、予期しないものです。


7
これは、tunl0およびsit0にも当てはまります。
オリバーツイスト

そして、のためにtunl0、それはありますipip代わりに。
i336_

0

greモジュールが完全に削除されたことを確認する必要があります。走る

sudo lsmod | grep gre

モジュールがリストにあるかどうかを確認します。もしそうなら、実行する

sudo rmmod ip_gre
sudo rmmod gre

それらをカーネルから削除します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.