Estoy configurando un túnel GRE en Linux 2.6.26 y me he enfrentado a un problema muy extraño para el que no pude encontrar ninguna solución.
He creado un túnel GRE llamado gre0
, pero no importa lo que haga, simplemente no puedo eliminar este túnel. El comando ip tunnel del gre0
falla con la respuesta ioctl: Operation not permitted
. Cualquier intento de cambiar las direcciones del túnel también falla.
Los siguientes comandos ilustran el problema:
# 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
Puedo crear, cambiar y eliminar otros túneles sin ningún problema, pero gre0
simplemente permanece allí y no desaparece, incluso si reinicio o quito las interfaces.
Si elimino el ip_gre
módulo, el túnel desaparece. Tan pronto como inserte el módulo nuevamente, gre0
vuelve a aparecer y el problema continúa.
Tengo dos preguntas:
- ¿Qué puedo hacer para deshacerme de este molesto túnel? Sospecho que esto podría ser un kernel o un error de módulo.
- ¿Dónde
gre0
se almacenan tales datos persistentes (en este caso, la información para , pero esto se aplica a cualquier otra configuración que yo pueda desconocer)?
Si necesita otra información, hágamelo saber.
Muchas gracias por cualquier ayuda.
Creo que me he encontrado una respuesta a este problema.
Después de jugar un rato, decidí reproducir el problema en una instalación limpia.
El
ip_gre
módulo no se inserta por defecto en el núcleo después de instalar Debian.ip tunnel show
No muestra ningún túnel. Después de insertar elip_gre
módulo, pero sin crear ningún túnel,gre0
aparece y es indeleble e inmutable como se esperaba. Por lo tanto,gre0
parece ser un túnel ficticio creado por defecto por elip_gre
módulo.La parte frustrante es que esta 'característica' está totalmente indocumentada, e incluso es inesperada, ya que podría ser natural intentar crear un
gre0
túnel como el primer (y único) túnel GRE en un sistema.fuente
tunl0
, es en suipip
lugar.Debe verificar que el módulo gre se haya eliminado por completo. correr
para verificar si el módulo está en la lista. Si es así, corre
para eliminarlos del núcleo.
fuente