트래픽을 더 이상 전달하지 않는 피어도 그 때문에 키를 잃지는 않으며, 새 핸드셰이크가 누군가 사용 권한을 갱신했다는 것을 증명하지도 않는다. WireGuard 의 타이머는 키를 새로 유지하고 패킷을 흐르게 하기 위한 것이며, 정해진 시간이 지나면 로그아웃하는 사용자를 모델링하지 않는다. 여기서는 세 가지 질문이 뒤섞이고, 각각은 다른 증거를 가진다. 이 구분이 어떤 도구를 쓸지 결정한다.

세 가지 질문, 하나의 명령 출력

운영자는 피어에 도달할 수 있는지, 활동한 적이 있는지, 아직 허용되는지를 묻는다. 첫째는 프로토콜 상태, 둘째는 트래픽 카운터, 셋째는 권한이다. WireGuard 인터페이스에서 읽을 수 있는 것은 처음 두 개뿐이며, 그것들이 세 가지 모두의 답으로 쓰인다.

QuestionEvidence it needsWhat does not answer it
Is the peer reachable now?A recent handshake and a working return pathAn interface that exists
Has it been active?Transfer counters moving over timeA handshake timestamp alone
Is access still granted?The configuration or controller that authorizes itAny protocol timer

각 행을 세 개의 별도 조사로 읽어야 한다. 처음 두 개는 비용이 적고 인터페이스 자체의 카운터로 답할 수 있다. 셋째는 접근을 부여하는 구성이 필요하고, 그것은 다른 파일이나 다른 시스템에 있다. 잘못된 행을 고르는 것은 프로토콜 타이머에게 정책의 일을 시키는 것이다.

타이머가 실제로 관리하는 것

프로토콜은 핸드셰이크 재시도, 전송 키 회전, 오래된 키로 보호된 패킷의 거부에 대한 상수를 정의한다. 이것들은 트래픽과 상태에 반응하며, 달력이나 17:00 까지 연결해도 된다는 정책에 반응하지 않는다. 그래서 유휴 피어가 몇 시간 동안 비활성으로 보이면서도 권한을 유지할 수 있다.

PersistentKeepalive 는 없는 타임아웃으로 흔히 오해된다. NAT 매핑을 살려 두기 위해 인증된 빈 패킷을 보내며, 값을 영으로 두면 아무것도 취소하지 않은 채 그 패킷이 멈춘다.

피어별 실행 상태를 읽되, 주석이 아니라 공개 키를 사용한다:

wg show wg0 latest-handshakes
wg show wg0 transfer

최근 핸드셰이크는 핸드셰이크 하나가 완료되었음을 말한다.터널 뒤의 사설 서비스에 도달할 수 있다는 뜻은 아니다, 오래된 타임스탬프는 그저 조용한 피어의 것일 수 있다.

유휴 피어가 로그아웃한 피어가 아닌 이유

WireGuard 에는 시작과 끝이 있는 세션 객체가 없다. 피어는 허용된 주소를 가진 공개 키이며, 그 트래픽을 보호하는 핸드셰이크는 필요할 때 교체되고 사용자에게 보이는 로그인은 없다. 최근 트래픽이 없다는 것을 로그아웃으로 보는 것은 모델을 뒤집는 것이다.

진짜 불만이 유휴 상태 후 연결이 실패한다는 것이라면, 원인은 보통 다른 곳, 곧 만료된 NAT 매핑, 잠든 기기, 상태를 버린 방화벽 같은 데에 있다. 반대편에서 트래픽을 보내고 새 흐름을 시작해 시험하고, 무엇이 달라지는지 비교한다.

기한은 권한이 있는 곳에 둔다

접근이 특정 시각에 끝나야 한다면, 기한은 접근을 부여하는 쪽에 속한다. 피어 구성을 발급하는 컨트롤러는 새 구성을 내주기 전에 갱신된 승인을 요구할 수 있으며, 이는 컨트롤러의 속성이지 인터페이스의 숨은 매개변수가 아니다.

수동으로 관리하는 피어의 경우 삭제는 실행 중인 인터페이스와 저장된 구성, 두 곳에 도달해야 한다. 실행 중에만 피어를 삭제하면 재시작이나 조정 루프에 의해 되돌려지고, 만료되었다고 생각한 정체성이 복원된다:

sudo wg set wg0 peer <public-key> remove
sudo wg-quick save wg0

그다음에는 라벨이 아니라 경계를 시험한다. 기한 후에 피어가 거부되는지, 갱신 경로가 동작하는지, 상태가 관리자 재로딩 후에도 남는지 확인한다. 핸드셰이크 경과 시간은 유용한 운영 신호이며 접근 기록은 아니다.

관련 글