伟明部落格

记录一下ip隧道不能删除的问题

--发布于 2022-04-15 10:07:33

今天我在一台启用了ipip模块的机器上查看一下有哪些接口

发现有一个tunl0的接口,想起来,应该是我之前做ipip隧道时留下来的。现在也不用了,心想就把它删掉吧。

[root@iZ57dblkp9dte2Z ~]# ip tunnel del tunl0
delete tunnel "tunl0" failed: Operation not permitted

执行ip tunnel del tunl0这个命令,直接报错了,一直百思不得其解。直到上Google搜索,看到这篇文章Cannot Delete GRE Tunnel,才知道这个tunl0是一个ipip模块的后备接口,有着特殊的用途。ipip模块在初始化的时候就会把这个 tunl0 接口创建出来,其它类型的隧道模块也会采取类似的操作,比如gre模块会自动创建gre0接口,也是不能删的。既然是由模块自动创建出来的,不能直接删除,那唯一的办法就是将这个模块卸载掉咯。

使用rmmod命令删除掉ipip模块

[root@iZ57dblkp9dte2Z ~]# rmmod ipip

再用ifconfig -a看一下,那个tunl0接口不见了

DONE!

其实,对于这一特性,Linux的文档中并没有进行说明,只能通过翻看源码来了解。

参考资料

1、Cannot Delete GRE Tunnel

2、ip隧道源码

--更新于 2023-03-09 10:51:41