VPN 클라이언트를 제거하고 재부팅한 뒤 브라우저가 아무것도 로드하지 못하는 것을 발견하는 일은 Ubuntu에서 흔한 순서입니다. 터널은 사라졌지만 트래픽을 그쪽으로 보내던 정책은 남아 있으며, Ubuntu에서는 이런 잔여물이 패키지가 아니라 NetworkManager에 사는 경우가 많습니다. 실행 중에 만들어진 연결 프로필과 더미 인터페이스는 어떤 패키지에도 속하지 않으므로 패키지를 지워도 사라지지 않습니다.

터널은 사라졌지만 정책은 그대로

킬 스위치는 터널 없이는 네트워크를 쓸 수 없게 만드는 방식으로 동작합니다. 그 상태가 활성인 동안 클라이언트를 제거하면 그것을 해제할 주체가 남지 않습니다. 결과는 고장 난 네트워크 어댑터와 똑같아 보이며, 보통 경로를 붙잡고 있는 프로필이 원인입니다.

재설치가 가끔 연결을 되살리는 이유는 자기 정책을 되돌리는 방법을 아는 프로세스를 다시 만들기 때문입니다. 스위치가 활성인 상태에서 제거된 클라이언트는 아무도 정리할 수 없는 상태를 남겼습니다.

패키지가 한 번도 소유하지 않은 객체를 읽습니다

변경하기 전에 상태를 읽습니다. 장치, 활성 연결, 두 라우팅 테이블을 나열한 뒤 연결됨으로 보고하는 더미 장치나 그것을 가리키는 기본 경로를 찾습니다. IPv4와 IPv6는 따로 실패하므로 이름 해석이 깨진 주소에 ping이 통하면 죽은 경로와 다른 객체를 가리킵니다. 기본 경로를 붙잡은 더미 장치 하나로 전체 중단이 설명됩니다.

nmcli device status
nmcli connection show --active
ip -4 route
ip -6 route

찾은 내용을 적어 두십시오. 수정은특정 객체 하나를 삭제하는것이지 모든 것을 초기화하는 것이 아닙니다. 그보다 넓은 조치는 두 번째 중단을 부르며, 이것이 수리와 추측의 차이입니다.

장치가 연결된 채 라우팅 테이블이 비어 있다면 다른 결함이며, 남은 프로필이 아니라 DHCP를 가리킵니다. 무엇이든 편집하기 전에 임대를 읽으십시오.

프로필을 지우고, 키 파일은 지우지 마십시오

키 파일을 지우는 대신 NetworkManager를 통해 프로필을 삭제하십시오. 파일을 지우면 프로필이 다음 재시작까지 메모리에서 활성으로 남아 올바른 수리가 불안정해 보입니다. 그런 다음 서비스를 재시작하고 장치 목록을 다시 읽으십시오. 삭제를 실제로 만드는 것은 재시작입니다.

sudo nmcli connection delete pvpn-killswitch
sudo systemctl restart NetworkManager

더미 링크가 남아 있으면 그 링크도 제거한 뒤 주소와 이름을 따로 시험하십시오. 이름만 실패하면 DNS를 가리키고, 주소가 실패하면 경로나 방화벽을 가리킵니다.

반복되기 전에 부팅 시점 후크를 확인하십시오

일부 잔여물은 부팅할 때마다 스스로를 다시 설치합니다. 손으로 쓴 유닛이나 방화벽 규칙을 추가하는 if-up 스크립트는 패키지가 사라진 뒤에도 그 일을 계속하므로 중단이 되돌아오고 이전 수리는 운처럼 보입니다. 다시 재부팅하기 전에 유닛 파일과 네트워크 후크를 찾아보십시오. 대개 유닛 이름이 단서입니다.

systemctl list-unit-files | grep -i vpn
grep -rl -i vpn /etc/systemd/system /etc/network/if-up.d

특정 파일을 제거하거나 마스킹한 뒤 한 번 재부팅하고 터널 없는 상태가 원하는 상태인지 확인하십시오. 그 마지막 재부팅이 시험이며, 다음 부팅까지만 버티는 수정은 수정이 아닙니다. 그 뒤에는 메모를 기계와 함께 보관하십시오.nmcli 참조는 위에서 사용한 장치와 연결 명령을 다룹니다.

관련 글