내 홈 네트워크에서 IPv6가 왜 동작하지 않았나?
(gowtham.dev)- 홈 네트워크에서
ping google.com은 성공했지만ping6 google.com은 실패했고, 원인은 Adguard Home DNS 설정에서 IPv6 DNS 쿼리가 비활성화돼 있었기 때문이었음 - ACT broadband는 과거 IPv6를 지원하지 않았지만 Chennai 사용자에게 점진 배포 중인 것으로 확인됐고, 라우터에서 IPv6를 활성화했을 때는 정상 동작함
- 최근 네트워크 테스트 중 IPv6 문제가 다시 드러났지만, 라우터 관리자 포털에서는 ISP의 IPv6 연결 자체가 확인됐고 macOS와 Raspberry Pi에서도 같은 문제가 재현됨
dig AAAA google.com에서 DNS 결과가 나오지 않아, 문제 범위가 ISP 연결이나 클라이언트 설정이 아니라 AAAA 레코드 질의를 처리하는 DNS 서버 쪽으로 좁혀짐- 지난해 DNS를 Adguard Home으로 옮긴 뒤 생긴 설정 문제였고, IPv6 DNS 쿼리 차단 토글을 해제하자
ping -4와ping -6모두 패킷 손실 0%로 성공함
원인과 해결
- 홈 네트워크에서
ping google.com은 성공했지만ping6 google.com은 실패했고, 최종 원인은 Adguard Home DNS 설정에서 모든 IPv6 DNS 쿼리가 비활성화돼 있던 것이었음 - ACT broadband는 한동안 IPv6를 지원하지 않았지만, 몇 년 전 Chennai 사용자에게 점진 배포 중인 것으로 확인됐고 라우터에서 IPv6를 활성화한 뒤 당시에는 문제없이 동작함
- 최근 책상 환경을 바꾸며 네트워크 연결을 테스트하던 중 IPv6 문제가 다시 드러났고, 라우터 관리자 포털에서는 ISP의 IPv6 연결 자체가 확인됨
- macOS 네트워크 설정에서도 IPv6가 허용돼 있었고, 라우터에 LAN으로 연결된 Raspberry Pi에서도 같은 문제가 재현돼 특정 기기 문제로 보기 어려움
- 직접 IPv6 주소로 테스트하기 위해
dig AAAA google.com을 실행했지만 DNS 결과가 나오지 않았고, Google이 IPv6를 지원하므로 DNS 서버 쪽 문제가 의심됨 - 지난해 DNS를 Adguard Home으로 옮긴 사실을 떠올린 뒤 DNS 서버 설정을 확인했고, IPv6 DNS 쿼리를 막는 작은 토글을 발견함
- 해당 설정을 해제하고 저장한 뒤 IPv4와 IPv6 모두 정상 동작함
확인 과정과 결과
-
증상 확인
- IPv4 이름 해석과 연결은 정상 동작함
- IPv6 이름 해석 또는 연결은 실패함
- 사용한 기본 테스트는 다음과 같음
ping google.com ping6 google.com
-
ISP와 기기 설정 확인
- ISP가 IPv6를 다시 비활성화했을 가능성을 먼저 의심했지만, 라우터 관리자 포털에서 IPv6 연결이 확인됨
- macOS 네트워크 설정에서도 IPv6가 허용돼 있었음
- Raspberry Pi에서도 동일한 문제가 발생해 단일 클라이언트 설정 문제로 보기 어려움
- 자체 DNS 서버를 사용 중이어서 라우터의 IPv6 DNS 서버 주소와 Raspberry Pi의 이더넷 인터페이스 IP 주소도 대조함
-
DNS 문제로 좁혀진 단서
- DHCP의 IPv6 DNS 전달 문제를 배제하려고 IPv6 주소를 직접 확인하려 했고,
dig AAAA google.com에서 결과가 나오지 않음 - 이 단계에서 문제는 ISP 연결이나 클라이언트 IPv6 허용 여부가 아니라, AAAA 레코드 질의를 처리하는 DNS 서버 쪽으로 좁혀짐
- DHCP의 IPv6 DNS 전달 문제를 배제하려고 IPv6 주소를 직접 확인하려 했고,
-
수정 후 검증
- Adguard Home 설정에서 IPv6 DNS 쿼리를 비활성화하는 토글을 해제한 뒤
ping -4와ping -6모두 성공함 - IPv4 테스트는
172.217.24.110으로 5개 패킷 전송, 5개 수신, 패킷 손실 0%였음 - IPv6 테스트는
2404:6800:4007:817::200e로 5개 패킷 전송, 5개 수신, 패킷 손실 0%였음 - IPv6를 활성화하면 지연시간 감소, NAT traversal이 필요 없는 더 나은 P2P 연결, SLAAC 같은 이점이 있음
- Adguard Home 설정에서 IPv6 DNS 쿼리를 비활성화하는 토글을 해제한 뒤
Lobste.rs 의견들
-
이건 끔찍하고 AdGuard Home은 부끄러워해야 함
- 그 설정이 기본값으로 켜져 있지는 않은 것 같음
나도 AdGuard Home을 쓰는데 여기서는 꺼져 있고, 2주도 안 돼 설정/라우터를 교체했기 때문에 내가 건드리지 않았다는 건 꽤 확신함
- 그 설정이 기본값으로 켜져 있지는 않은 것 같음
-
왜 이런 기능이 존재하는지 모르겠음
- DNS 광고 차단 커뮤니티 전반, 특히 AdGuard, Pi-hole 같은 곳들이 역사적으로 IPv6와 듀얼스택 네트워크에 꽤 적대적이었기 때문임
이런 서비스에서 지원 요청이 들어오면 공식 지원 채널이든 포럼, Discord, 서브레딧 같은 프로젝트 커뮤니티든 여전히 첫 권고가 “IPv6를 끄라”는 식임
- DNS 광고 차단 커뮤니티 전반, 특히 AdGuard, Pi-hole 같은 곳들이 역사적으로 IPv6와 듀얼스택 네트워크에 꽤 적대적이었기 때문임
-
IPv6는 설계가 나쁘고 설정 실수가 쉬워서, 가장 뻔한 조언이 끄라는 쪽으로 감
-
방금 반대 문제를 디버깅했는데, 집 네트워크에서 IPv4가 동작하지 않았음
IPv4 연결을 위해 DS-Lite를 쓰는 IPv6 전용 서비스였고, DS-Lite에서는 홈 라우터가 IPv4 패킷을 ISP의 NAT인 AFTR로 터널링함
AFTR의 도메인은 DHCPv6로 제공되며 내 경우something.aftr.kabelbw.de형태였는데, 지금은 denic has some trouble with its DNSSEC configuration 때문에 이 도메인이 해석되지 않음
다행히 어디에서도 IPv6를 끄지 않아서 GitHub를 제외하면 전부 잘 동작함