두 기능은 같은 단어로 설명되지만 하는 일이 다릅니다. 자동 재연결은 터널을 되돌리려 하며, 그 틈에서 요청이 실패하는 동안에도 찰나에 성공할 수 있습니다. 킬 스위치는 그 틈에 트래픽을 어떻게 다룰지 정합니다. 둘을 하나의 설정으로 읽으면 정책이 아니라 아이콘을 믿게 됩니다.

차단과 재연결은 별개의 결정

한 클라이언트는 끊김이 예상치 못했을 때만 차단하고, 이어서 재연결한 뒤 차단을 풉니다. 다른 클라이언트는 누군가 설정을 직접 바꿀 때까지 시스템 수준 차단을 유지하고, 세 번째는 의도적인 연결 해제를 평소 접근으로 되돌릴 허가로 봅니다. 세 가지 서로 다른 동작이며, 공급업체 문서는 여러분의 빌드가 어느 것을 구현하는지 알려 줍니다.

프로필을 가져오는 일은 그 질문을 결정하지 않습니다. 같은 서버 프로필이 반대 차단 동작을 가진 두 클라이언트에 적재되는데, 프로필은 약속이 아니라 설정을 담기 때문입니다. 데스크톱의 확인란이나 비슷한 이름의 모바일 스위치가 서로 다른 규칙을 구현할 수 있는 이유도 여기에 있습니다. 여러분의 플랫폼에서 컨트롤 옆에 붙은 설명을 읽고, 실제로 무엇을 하는지 시험하십시오.

같은 프로필이 두 클라이언트에서 다르게 동작한다

OpenVPN Connect 앱 설정은 클라이언트가 일시 중지나 재연결 상태를 보고하는 동안에만 일반 트래픽을 붙잡아 두는 터널 모드를 설명하며, 이는 모든 플랫폼의 모든 사건에 대한 일반적인 약속보다 좁습니다. 제품 이름이 아니라 나열된 상태를 읽으십시오. 한 클라이언트 빌드용으로 쓰인 설명은 다른 공급업체의 클라이언트에 그대로 옮겨지지 않습니다.

Android는 두 컨트롤에 같은 단어를 붙이는데, 상시 VPN과 VPN 없이 연결 차단하기가 별도로 문서화되어 있기 때문입니다. 비슷한 이름의 확인란을 가진 데스크톱 클라이언트는 둘 중 어느 것보다 좁거나 넓은 동작을 구현할 수 있습니다. 두 설명을 다 읽기 전까지 두 메뉴의 같은 라벨을 우연으로 보십시오. 관리 대상 기기는 세 번째 층을 더하는데, 기기 프로필이 사용자가 보지도 취소하지도 못하는 설정을 강제할 수 있기 때문입니다.

비슷해 보이는 플랫폼 설정은 동등하지 않다

보이는 컨트롤을 실제로 적용되는 정책과 비교하십시오. 관리 대상 기기에서는 보이는 스위치가 회색으로 비활성되어 있거나, 상위 프로필이 반대를 강제하는데도 켜져 있을 수 있습니다. 로컬이 아니라 유효한 정책을 요구하고, 답을 서면으로 받으십시오.

무엇이든 시험하기 전에 각 층이 무엇을 주장하는지 적어 두십시오. 둘은 자주 어긋나고, 시험이 시작되면 그 어긋남을 놓치기 쉽습니다. 시험 중 올바르게 차단하는 기기가 아무도 문서화하지 않은 이유로 차단하고 있을 수도 있습니다.

한 번에 한 사건을 실행하고 코드를 기록하라

한 번에 한 사건만, 무해한 요청으로 시험하고, 모든 시도를 새 요청으로 만드십시오. 이미 캐시에 있을 수 있는 페이지는 쓰지 마십시오. 아래 명령은 터널을 내리고 페이지를 요청하며 인터페이스가 돌아왔는지 보여 줍니다.

ip link set tun0 down
curl -s -o /dev/null -w "%{http_code}\n" --max-time 5 https://example.com
ip -brief address show tun0

표는 각 동작을 중요한 관찰과 남길 가치가 있는 증거에 연결합니다. 제한 시간 안에 실패하는 요청은 차단이 작동했음을 알려 주고, 통과하는 요청은 트래픽이 다른 경로를 찾았음을 알려 줍니다. 그것은 차단 해제가 아니라 제외된 경로일 수 있습니다. 의미 있는 소프트웨어 업데이트나 경로 정책 변경 뒤에는 전체 시험을 다시 하십시오. 둘 다 보이는 설정이 움직이지 않은 채 분기를 바꿀 수 있습니다. 마지막에 원하는 것은 안심시키는 아이콘이 아니라 예측 가능한 실패 동작입니다.

What I doWhat I watchEvidence to keep
Bring the tunnel down by handWhether a fresh request fails at onceThe HTTP code and the client state at that second
Choose Disconnect in the clientWhether ordinary access returns on purposeThe same request succeeding with no tunnel up
Quit the app, then rebootWhether the block outlives the clientA request made from a clean boot
Move from Wi-Fi to cellularWhether DNS and IPv6 follow the policyThe resolver answer, the route table and the code again

예외, 게스트 포털, 그리고 차단이 할 수 없는 일

로컬 네트워크 접근은 흔한 예외이며, 약속의 범위를 바꿉니다. 클라이언트가 나머지 전부를 차단하면서 같은 서브넷의 프린터에는 닿을 수 있는데, 집에서는 합리적이고 게스트 네트워크에서는 의문입니다. 사고가 대신 발견하기 전에 그 예외를 원하는지 정하십시오.

엄격한 차단은 게스트 네트워크 포털 로그인도 번거롭게 만듭니다. 포털이야말로 차단이 막으려는 바로 그 직접 트래픽이기 때문입니다. 네트워크를 승인하는 지원되는 방법을 익히고, 페이지가 열릴 때까지 컨트롤을 끄는 대신 정책을 의도적으로 되돌리십시오. 확인자 응답과 경로 표를 아래처럼 같은 메모에 남기십시오. 킬 스위치가 할 수 없는 일은 서비스를 익명으로 만드는 것입니다. 터널 밖 트래픽을 막는 것은 그 안에서 일어나는 일에 대해 아무것도 말해 주지 않기 때문입니다.

resolvectl query example.com
ss -tunp | grep -v tun0

관련 글