노드 이름과 접속 대상 이름 중 무엇이 실패했는지 확인
IPv6를 켠 뒤 모든 노드가 빨갛게 보여도 IPv6 노드 자체가 고장났다는 뜻은 아닙니다. 서버가 node.example.com으로 설정됐다면 코어는 터널을 만들기 전에 그 이름을 해석해야 합니다. 웹사이트 이름은 현재 DNS와 규칙에 따라 해석됩니다. 첫 경로가 실패하면 모든 서비스가 노드 시간 초과처럼 보이고, 두 번째 경로는 기존 프록시 연결이 살아 있어도 실패할 수 있습니다.
코어 로그에서 서버 이름, lookup, no such host, 시간 초과와 DNS 전송 위치를 찾습니다. 공개할 때 실제 노드 이름과 토큰은 가리되 OpenClash 버전, 펌웨어, 오류 유형과 재현 순서는 남깁니다.
dns.ipv6: false는 Mihomo의 AAAA 응답을 바꾸지만 라우터 IPv6 경로, 업스트림, 노드 부트스트랩 확인을 대신하지 않습니다.비교 가능한 기준과 로그 수집
OpenClash 프로필과 오버라이드를 저장하고 정상·실패 사이에 바뀐 한 항목을 기록합니다. Fake-IP, TUN, SmartDNS와 여러 업스트림을 동시에 바꾸지 마세요. 재시작 직후의 첫 오류 로그를 보관해야 반복 갱신으로 초기화 정보가 사라지지 않습니다.
- WAN과 LAN의 IPv6 주소 및 기본 경로를 확인합니다.
- 라우터에서 노드 이름의 A와 AAAA를 조회합니다.
- 설정한 IPv4·IPv6 DNS에 같은 질의를 따로 보냅니다.
- 코어 시작 전후의 응답을 비교합니다.
- IPv6 DNS 가로채기만 잠시 끄고 변화를 봅니다.
nslookup node.example.com은 기본 관찰에 쓸 수 있지만 BusyBox 버전마다 옵션이 다릅니다. 같은 이름과 같은 업스트림을 변경 전후 비교하는 것이 핵심입니다.
부트스트랩 DNS와 노드 전용 DNS 확인
default-nameserver는 이후 DNS 서비스 이름 등을 해석하는 시작점이며 공식 문서는 IP 형식 서버를 요구합니다. proxy-server-nameserver는 프록시 노드 도메인 전용입니다. 아직 만들어지지 않은 프록시로만 노드 이름을 해석할 수 있다면 순환 의존입니다.
YAMLdns:
enable: true
ipv6: true
default-nameserver: [1.1.1.1, 8.8.8.8]
proxy-server-nameserver:
- https://1.1.1.1/dns-query
nameserver:
- https://dns.google/dns-query
이는 필드 관계 예시일 뿐 해당 서비스가 ISP에서 접근 가능하다는 보장은 아닙니다. 현재 프록시 없이 라우터가 직접 닿는 부트스트랩을 선택하고, 암호화 DNS의 이름도 먼저 해석돼야 함을 고려합니다. LuCI 저장 후 최종 생성 YAML을 확인하세요.
IPv6 업스트림과 가로채기 경로 추적
라우터는 ISP에서 IPv6 DNS를 얻고 LAN 클라이언트는 RA/DHCPv6로 다른 해석기를 받을 수 있습니다. SmartDNS, dnsmasq, OpenClash, Private DNS가 겹치면 IPv4와 다른 길이 생깁니다. 클라이언트, 라우터 포트, 로컬 DNS, 업스트림 순서를 실제로 그려 보세요.
| 계층 | 대표 원인 | 확인 |
|---|---|---|
| IPv6 업스트림 | 경로·방화벽 | 그 서버에 A/AAAA 질의 |
| 노드 이름 | 프록시 순환 의존 | 직접 접근 전용 DNS |
| LAN 앱 | 라우터 DNS 우회 | RA·Private DNS·패킷 |
| Fake-IP | 호스트 질의 가로채기 | 코어 중지·시작 비교 |
한 IPv6 DNS 계층을 끄고 복구되는 것은 진단 결과이지 영구 해답이 아닙니다. 업스트림 불가, 53번 포트 가로채기, 라우터 호스트 해석에 들어간 Fake-IP, 규칙 누락 중 하나로 좁혀 수정합니다.
v0.47.133 보고의 적용 범위
공식 Issue #5251은 OpenClash v0.47.133과 특정 ImmortalWrt 환경에서 라우터 호스트가 공용 IPv6 DNS로 보낸 질의가 가로채져 Fake-IP를 받고, 이어서 노드 도메인 해석이 실패한 사례입니다. 이슈는 종료됐습니다. 이런 경로가 실제로 존재했다는 증거이지만 모든 버전과 펌웨어의 공통 원인은 아닙니다.
버전, 로그나 패킷 경로가 다르면 임시 해결책을 그대로 복사하지 말고 현재 릴리스 정보와 생성된 방화벽 규칙을 확인합니다.
재시작 후 최종 검증
DNS 서비스를 먼저, OpenClash 코어를 다음에 재시작해 오래된 캐시를 배제합니다. 부트스트랩으로 노드 이름 해석, 노드 연결, 정책에 맞는 A/AAAA, LAN 클라이언트 경로, 규칙 모드의 직접·프록시 목적지를 차례로 확인합니다. SmartDNS 같은 고급 계층은 하나씩 복원합니다.
필드는 OpenClash 공식 default.yaml과 Mihomo DNS 문서를 기준으로 하고, Issue #5251은 버전이 제한된 사례로 봅니다.
IPv6를 꺼서 작동하는 상태보다 각 질의 경로를 설명하고 미완성 터널 의존을 없애며 라우터 재부팅 뒤에도 같은 결과를 재현하는 것이 완료 기준입니다.
공식 자료와 버전 범위
- github.com/vernesong/OpenClash/blob/master/luci-app-openclash/root/usr/share/openclash/res/default.yaml
- wiki.metacubex.one/config/dns
- github.com/vernesong/OpenClash/issues/5251
버전 번호, 파일 이름, 화면 문구는 업데이트로 바뀔 수 있습니다. 작업 전에 연결된 공식 문서를 확인하세요.