브라우징 기록 없이 VPN 안정성을 시험하는 방법
일상적인 브라우징을 시험에 넣는 대신 고정 프로브, 네 가지 표본 사실, 시간 표시가 있는 이벤트 로그로 터널 안정성을 증명하세요.
노트북이 잠들었다 깨어나도 터널이 버티는지, 액세스 포인트 사이를 걸어도, 아니면 한 시간의 통화에도 버티는지 알고 싶지만, 그걸 알아내는 동안 읽은 모든 것의 로그를 누군가에게 넘기고 싶지는 않습니다. 세 가지가 답합니다. 고정 프로브, 일정에 따라 표본을 뽑는 같은 네 가지 사실, 그리고 그것들을 바꾼 이벤트를 적어 두는 것입니다. 그 십 분은 페이지가 로드되지 않는 모습을 반나절 지켜보는 것보다 낫습니다. 결국 남는 로그도 절반을 가리지 않고 티켓에 첨부할 수 있을 만큼 짧습니다.
안정이 무엇을 뜻해야 하는지 정하세요
“VPN이 끊겼다”는 네 가지 다른 고장이 한 단어에 들어간 것입니다. 피어가 핸드셰이크를 잃을 수 있고, 경로가 로컬 게이트웨이로 되돌아갈 수 있고, 이름 해석이 터널을 통해 결코 응답하지 않는 서버로 갈 수 있고, 또는 그 모두가 건강한데도 한 애플리케이션만 계속 실패할 수 있습니다. 무엇이든 수집하기 전에 어느 것이 증상과 맞는지 정하세요. 각각 다른 프로브가 필요하기 때문입니다. 그다음 감당할 수 있는 간격을 고르세요. 삼십 초마다 표본 하나를 십 분 동안 모으면 시험을 업무 부담으로 만들지 않고도 로밍을 잡아냅니다.
부엌으로 걸어갈 때 통화가 멈춘다는 불평이라면, 필요한 속성은 로밍 후 새 요청이 완료되는지 여부입니다. 그것은 한 줄로 확인할 수 있고 브라우징을 전혀 기록하지 않습니다.
해롭지 않은 프로브 하나를 고정하세요
질의해도 되는, 계정과 무관한 목적지를 고르세요. 문서 호스트, 내부 상태 엔드포인트, 또는 터널의 게이트웨이 자체입니다. 동작을 반복 가능하게 만드세요. 예를 들어 curl -s -o /dev/null -w "%{http_code} %{time_total}\n" https://example.com/ 는 시도마다 한 줄을 출력합니다. 그 출력 형식을 실행 내내 고정하세요. 같은 방식으로 두 번 수집한 상태 코드와 소요 시간이라야 두 실행을 비교할 수 있습니다.
실제로 의존하는 사이트는 피하세요. 은행이나 웹메일 페이지는 추적기, 리디렉션, 개인 콘텐츠를 측정에 끌어들이고, 나중에 티켓에 붙일 내용에 세션 식별자를 찍어 넣습니다. 조사 내내 같은 목적지를 쓰고, 간격 옆에 적어 두세요.
네 가지 사실을 표본으로 뽑으세요
피어 상태, 경로, 리졸버, 새 요청 하나가 네 가지 관측이며 각각 값싼 출처가 있습니다. WireGuard 에서는 wg show wg0 latest-handshakes 가 피어의 시간 표시를 주고 ip route get 1.1.1.1 가 커널이 쓸 인터페이스를 보여 줍니다. OpenVPN 에서는 같은 상태가 --status /run/openvpn/status 10 가 쓰는 상태 파일에 있거나 관리 인터페이스의 state 뒤에 있습니다. Windows 클라이언트는 Get-NetAdapter 와 Resolve-DnsName 로 PowerShell 에 머뭅니다.
모든 줄에 시간 표시가 붙도록 한 터미널에서 반복하세요: for i in $(seq 1 20); do date -Is; wg show wg0 latest-handshakes; ip route get 1.1.1.1; sleep 30; done. 그 반복문은 여섯 개 로그 필드 중 셋을 덮습니다. 클라이언트 버전은 맨 위에 한 번 적고, 이벤트 시간 표시는 이벤트가 일어날 때 더합니다.
리졸버는 사람들이 건너뛰는 사실이며 dig +short 는 답만 출력하는 형식이라 그것을 숨깁니다. 서버를 분명히 물으려면 dig example.com | grep SERVER: 를 쓰고, dig 가 설치되지 않은 곳에서는 nslookup example.com 를 쓰세요. 유휴 터널의 오래된 핸드셰이크도 자동으로 결함은 아닙니다. WireGuard 는 지킬 트래픽이 있을 때만 키를 갱신합니다.
유출이 아니라 이벤트를 일으키세요
관심 있는 이벤트 전에 조용한 오 분을 기준선으로 잡으세요. 덮개를 닫는 일이든, 다른 액세스 포인트로 걷는 일이든, 휴대폰 핫스팟으로 바꾸는 일이든 마찬가지입니다. 그것을 일으킨 시각을 적어 두면 양쪽 표본을 나란히 맞출 수 있습니다.
그 시간 표시가 없으면 로그에 빈틈이 생기고, 클라이언트가 닫았는지 네트워크가 닫았는지 아무도 말할 수 없습니다. 이벤트 위치가 다른 두 번의 실행은 그것이 없는 열 번보다 값집니다. 클라이언트 자체의 연결 끊기와 다시 연결 기능을 쓰세요. 킬 스위치를 끄거나 트래픽을 터널 밖으로 밀어 무슨 일이 생기는지 보지 마세요. 관리되는 노트북에서는 정책 위반이고, 자기 기계에서는 시험하려던 바로 그 노출을 만듭니다.
끝낼 수 있을 만큼 작은 로그를 유지하세요
표본마다 여섯 필드: 시간, 클라이언트 버전, 엔드포인트, 액세스 네트워크, 이벤트, 결과. URL, 페이로드, 토큰, 세션 식별자를 담은 것은 빼세요. 로그는 터널에 대한 증거일 뿐입니다. 반복문 옆에 두면 다음 사람이 열의 의미를 묻지 않고 다시 실행할 수 있습니다.
변경 후에는 같은 프로브와 같은 간격으로 시험을 반복하세요. 목적지와 클라이언트 버전을 함께 바꾸면 결과는 둘 중 어느 것에도 속하지 않습니다. 깨끗한 십 분 실행은 그 조건과 그 목적지에 대한 증거이며, 다음 달 호텔 네트워크에 대한 약속이 아닙니다. 스크립트와 로그 서식을 찾을 수 있는 곳에 두세요. WireGuard 의 문서화된 제한 은 끊김을 프로토콜 탓으로 돌리기 전에 읽을 만합니다.