Debian 10을 실행하는 내 홈 서버는 Wireguard를 통해 Mulvad VPN에 연결할 때 인터넷 연결이 끊어지는 경우가 있습니다.
할 수 있지만 ping 8.8.8.8
돌아올 때 ping google.com -4
나는:ping google.com
PING google.com(fra16s42-in-x0e.1e100.net (2a00:1450:4001:809::200e)) 56 data bytes
ping: sendmsg: Operation not permitted
From dynamic-2a01-0c23-60be-c200-12c3-7bff-fe9e-4379.c23.pool.telefonica.de (2a01:c23:60be:c200:12c3:7bff:fe9e:4379): icmp_seq=1 Destination unreachable: Port unreachable
이전에는 IPv6를 기본값으로 설정한 적이 없었으며 이것이 여러 문제의 근본 원인일 수 있다고 생각합니다.
dig google.com
IPv4로 돌아가기
;; ANSWER SECTION:
google.com. 222 IN A 172.217.18.110
일반적으로 Mullvads DNS 서버는 IPv6만 반환하므로 ping이 IPv6을 사용한다고 가정하지만, dig에서는 이를 보여주어야 합니다. 그렇죠? 왜 이런 일이 발생합니까?
답변1
기본적으로 (IPv4 주소) 레코드 dig
만 A
쿼리됩니다. AAAA
명령에 (IPv6 주소 레코드 유형)을 추가해 보십시오 .
$ dig google.com AAAA
[...]
;; ANSWER SECTION:
google.com. 106 IN AAAA 2607:f8b0:400a:806::200e
[...]
또는 다음을 사용하여 host
둘 다(및 MX
레코드)를 쿼리합니다.
$ host google.com
google.com has address 142.251.33.110
google.com has IPv6 address 2607:f8b0:400a:80b::200e
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
ping
IPv4보다 IPv6가 선호되는 이유는 다음과 같습니다 .iputils 버전의 ping에 대한 소스 코드getaddrinfo()
, 반환된 첫 번째 관련 주소를 선택하는 것 같습니다 . ~에 따르면매뉴얼 페이지getaddrinfo()
:
연결된 목록이 여러 개 있는 데에는 여러 가지 이유가 있습니다.
addrinfo
다음을 포함한 구조: 네트워크 호스트는 멀티홈이고 여러 프로토콜(예: 및AF_INET
) 을 통해 액세스할 수 있습니다. 또는AF_INET6
여러 소켓 유형(예: 하나의 주소와 다른 주소)에서SOCK_STREAM
동일한 서비스를 얻을 수 있습니다.SOCK_DGRAM
일반적으로 애플리케이션은 반환된 순서대로 주소를 사용하려고 시도해야 합니다. 사용되는 순서 지정 기능은getaddrinfo()
RFC 3484에 정의되어 있으며 편집을 통해 특정 시스템에 맞게 순서를 조정할 수 있습니다./etc/gai.conf
(glibc 2.5부터 사용 가능).
RFC 3484다음으로 대체되었습니다.RFC 6724/etc/gai.conf
, 그러나 그 중 어떤 것(또는 정책을 재정의하는 데 사용할 수 있는 파일)에 대해서는 잘 모릅니다.
IPv6 연결에 문제가 있는 경우 다른 프로그램 ping
도 명령을 따르고 getaddrinfo()
IPv6를 사용하려고 시도하여 문제가 발생할 수 있습니다. 일부 프로그램(특히 브라우저)은 다음을 구현합니다."행복한 눈알"접근 방식(기본적으로 두 가지 버전을 시도하고 성공한 첫 번째 버전을 사용). 그러나 다른 프로그램은 그다지 똑똑하지 않을 수 있습니다.