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나타나고 문제가 계속됩니다.

두 가지 질문이 있습니다.

  1. 이 성가신 터널을 제거하려면 어떻게해야합니까? 이것이 커널이나 모듈 버그 일 수 있습니다.
  2. 그러한 영구 데이터 (이 경우에 대한 정보 gre0이지만 이것이 알지 못하는 다른 설정에 적용되는)는 어디에 저장됩니까?

다른 정보가 필요하면 알려주십시오.

도움을 주셔서 감사합니다.

답변:


2

gre0터널 인터페이스는 대체 인터페이스로 명명하고 특별한 의미를 가지고있다. ip_gre모듈 초기화시 커널 모듈에 의해 생성됩니다 . 이 기능을 비활성화 할 수 없습니다.

호스트가 적절한 터널 인터페이스를 찾을 수없는 gre 패킷을 수신하면이 대체 인터페이스가 사용됩니다. 불행히도 실제로 문서화되지 않은 기능입니다. 소스 코드 에서만 설명됩니다.

다른 유형의 터널링에도 동일한 논리가 사용됩니다.

따라서 다른 gre 터널을 유실하지 않으면 완전히 제거 할 수 없습니다. 그러나 command로 이름을 바꿀 수 있습니다 ip link set dev gre0 name gre_fallback. 그런 다음 gre0이름을 가진 다른 gre 터널을 만들 수 있습니다 .


8 년 후 정답이 나타납니다. 감사!
alecov

23

나는이 문제에 대한 답을 찾았다 고 생각합니다.

잠시 동안 땜질을 한 후 깨끗한 설치에서 문제를 재현하기로했습니다.

ip_gre모듈은 데비안을 설치 한 후 커널에 기본적으로 삽입되지 않았습니다. ip tunnel show터널을 표시하지 않습니다. ip_gre모듈을 삽입 한 후 터널을 만들지 않으면 gre0예상대로 삭제 불가능하고 변경할 수없는 것으로 나타납니다. 따라서 gre0기본적으로 ip_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.