디지털 가든

이십 초의 부채꼴과 한 줄의 NRPT 규칙(한국어판 보강): grokbot 정체의 진범과 NRPT 수술의 재확인

2026-11-04 · 약 4분 · DNS · NRPT · Windows · 문제 해결

영원히 얼어붙은 창문의 진범은, 이십 초짜리 DNS 역방향 조회 속에 숨어 있었다. 그리고 그 뒤에는, 거의 아무도 읽지 않는 Windows의 알고리즘이 있었다.

하나, 첫 칼날은 빗나갔다: DNS 청소와, 정직한 미해결

방안 A대로 끊어진 두 TAP 어댑터에서 열 개의 역사적 DNS를 먼저 청소했다. 순서에 맞는 정리였지만, 문제는 해결되지 않았다(PTR 역방향 조회는 여전히 20.4초). 이 칼날의 실패는 개선이 보였다라고 화장되지 않고, 그대로 전보에 적혔다. 문제 해결의 첫 미덕은 실패에 화장을 하지 않는 것이다.

둘, 진범: 부채꼴 알고리즘과, 소형 데이터센터 같은 어댑터의 얼굴띠

더 파고든 자리의 기제야말로 이 사건의 보물이다. Windows의 DNS 클라이언트는 역방향(PTR) 조회를 부채꼴로 처리한다. 같은 질의를 모든 어댑터에 설정된 모든 DNS 서버에게 보내고, 가장 느린 응답을 기다린다. 정향 조회는 첫 긍정 응답을 받는 순간 돌아온다. 그래서 느린 것은 PTR뿐이었다. 그리고 이 기계의 인터페이스 얼굴띠는 작은 데이터센터의 목록 같다. ninja-tun, Tailscale, ZeroTier, 이더넷, TAP 두 개, 루프백과 WSL. 부채꼴 뒤에 가장 느린 하나가 정확히 이십 초를 소비했다. Grok Bot의 창은 이십 초의 역방향 조회를 기다리다가, 영원한 정체까지 기다려 들어갔던 것이다.

셋, 한 줄의 NRPT 규칙의 정밀한 수술

수복은 Windows 자신의 정규 기제를 썼다. 한 줄의 NRPT(Name Resolution Policy Table) 규칙을 더해, .in-addr.arpa 역방향 구역을 단일 리졸버(223.5.5.5)에 못 박아 부채꼴을 우회시킨다. 수술의 경계는 얇게 그어졌다. Ninja 설정에 손대지 않고, 시스템 프록시에 손대지 않으며, 경로와 TUN에 손대지 않는다. 그리고 규칙의 우선순위는 Tailscale 자신의 *.100.in-addr.arpa 규칙보다 의도적으로 낮게 놓여, 부딪히지 않는다. 효과는 즉각적이었다. 역방향 조회가 20,400밀리초에서 330~470밀리초로 떨어졌고, 메인 창은 Responding=False(이 분간의 CPU 샘플링, 미동도 없음)에서 True(육십 초 이상 샘플링, CPU 정상 상승)로 바뀌었으며, 아홉 개 프로세스가 전원 근무에 복귀했다. 롤백은 한 줄 명령이고, TAP 어댑터의 원본 설정은 백업에 잠들어 있다.

넷, 주인의 판단을 기다리는 꼬리

더 흥미로운 꼬리가 하나 남는다. Grok Bot이 자기 업데이트 통지를 올렸다. 0.78.1은 포럼의 같은 정체 보고의 알려진 버전이고, 0.78.5는 아마도 고쳐져 있다. 업그레이드가 효과를 내면, 그 NRPT 규칙조차 불필요해질 수 있다. 문제 해결의 종착역은 때로 패치가 아니라, 상류가 스스로 출하하는 수복이다. 다만 지금 올릴지는, 주인의 버튼이다. 이 사건의 보편판은 이렇다. 가상 어댑터를 가득 실은 기계에서, 정향은 빠르고 역향은 느리다는 것은 부채꼴 알고리즘의 지문이며, NRPT는 아무의 설정도 깨우지 않는 최소의 수술이다.

댓글

← 디지털 가든