Estou configurando um túnel GRE no Linux 2.6.26 e estou enfrentando um problema muito estranho para o qual não encontrei nenhuma solução.
Eu criei um túnel GRE chamado gre0
, mas não importa o que eu faça, simplesmente não consigo excluir este túnel. O comando ip tunnel del gre0
falha com a resposta ioctl: Operation not permitted
. Qualquer tentativa de alterar os endereços do túnel também falha.
Os seguintes comandos ilustram o 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
Posso criar, alterar e excluir outros túneis sem nenhum problema, mas gre0
fico lá e não desaparece, mesmo que eu reinicie ou desative as interfaces.
Se eu remover o ip_gre
módulo, o túnel desaparece. Assim que eu insiro o módulo novamente, gre0
reaparece e o problema continua.
Eu tenho duas perguntas:
- O que posso fazer para me livrar desse túnel traquina? Eu suspeito que isso possa ser um bug do kernel ou do módulo.
- Onde esses dados persistentes (neste caso, as informações de
gre0
, mas isso se aplicam a qualquer outra configuração que eu desconheço) são armazenados?
Se qualquer outra informação for necessária, entre em contato.
Muito obrigado por qualquer ajuda.
Acredito que encontrei uma resposta para esse problema.
Depois de mexer um pouco, decidi reproduzir o problema em uma instalação limpa.
O
ip_gre
módulo não é inserido por padrão no kernel após a instalação do Debian.ip tunnel show
não exibe nenhum túnel. Depois de inserir oip_gre
módulo, mas sem criar nenhum túnel,gre0
aparece e é inviável e imutável conforme o esperado. Portanto,gre0
parece ser um túnel fictício criado por padrão peloip_gre
módulo.A parte frustrante é que esse 'recurso' é totalmente indocumentado e até inesperado, pois pode ser natural tentar criar um
gre0
túnel como o primeiro (e único) túnel GRE em um sistema.fonte
tunl0
contrário, éipip
.Você precisa verificar se o módulo gre foi completamente removido. Corre
para verificar se o módulo está na lista. Se for, execute
para removê-los do kernel.
fonte