Windows 서버는 AAAA
Windows DNS 서버에 IPv6 레코드를 등록 하고 있습니다. 그러나 네트워크에서 IPv6 라우팅을 사용하도록 설정하지 않았기 때문에 종종 정지 동작이 발생합니다.
Microsoft RDP는 최악의 범죄자입니다. AAAA
DNS에 레코드 가있는 서버에 연결 하면 원격 데스크톱 클라이언트는 먼저 IPv6을 시도하고 연결 시간이 초과 될 때까지 IPv4로 대체되지 않습니다. 고급 사용자는 IP 주소에 직접 연결하여이 문제를 해결할 수 있습니다. IPv4 주소를 확인하면 ping -4 hostname.foo
항상 즉시 작동합니다.
이 지연을 피하려면 어떻게해야합니까?
- 클라이언트에서 IPv6을 비활성화 하시겠습니까?
- Microsoft는 IPv6이 Windows 운영 체제의 필수 부분 이라고 말합니다 .
- 클라이언트가 너무 많아서 어디에서나 일관성있게 설정할 수 있습니다.
- 나중에 IPv6을 구현할 때 더 많은 문제가 발생합니다.
- 서버에서 IPv6을 비활성화 하시겠습니까?
- Microsoft는 IPv6이 Windows 운영 체제의 필수 부분 이라고 말합니다 .
- 전체 IPv6 스택을 비활성화하려면 불편한 레지스트리 해킹 이 필요합니다 .
- 이것이 모든 서버에 올바르게 설정되어 있는지 확인하는 것은 불편합니다.
- 나중에 IPv6을 구현할 때 더 많은 문제가 발생합니다.
- 사용자 팩스 DNS 되풀이에 IPv6 레코드를 마스크 하시겠습니까?
- 아니요, 우리는 NLNet Unbound를 사용하고 있으며 이를 지원하지 않습니다 .
- Microsoft DNS 서버에 IPv6 AAAA 레코드를 등록하지 못합니까?
- 나는 그것이 가능하다고 생각하지 않습니다.
이 시점에서 DNS 영역에서 모든 AAAA 레코드를 제거하는 스크립트 작성을 고려하고 있습니다. 더 나은 길을 찾도록 도와주세요.
업데이트 : DNS 확인은 문제 가 되지 않습니다 . @joeqwerty가 그의 답변에서 지적한 것처럼 DNS 레코드는 즉시 반환됩니다. 모두 A
와 AAAA
기록을 즉시 사용할 수 있습니다. 문제는 일부 클라이언트 ( mstsc.exe
)가 우선적으로 IPv6을 통한 연결을 시도하고 IPv4로 대체되는 데 시간이 걸린다는 것입니다.
이것은 라우팅 문제처럼 보입니다. ping
목적지 주소가 unroutable 때문에 명령은 "일반 실패"오류 메시지를 생성합니다.
C:\Windows\system32>ping myhost.mydomain
Pinging myhost.mydomain [2002:1234:1234::1234:1234] with 32 bytes of data:
General failure.
General failure.
General failure.
General failure.
Ping statistics for 2002:1234:1234::1234:1234:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
이 동작의 패킷 캡처를 얻을 수 없습니다. 이 (실패한) ping 명령을 실행해도 Microsoft 네트워크 모니터에서 패킷이 생성되지 않습니다. 마찬가지로, 레코드가 mstsc.exe
있는 호스트와 연결을 시도하면 AAAA
IPv4로 폴백 할 때까지 트래픽이 생성되지 않습니다.
업데이트 : 우리 호스트는 모두 공개적으로 라우팅 가능한 IPv4 주소를 사용하고 있습니다. 이 문제는 6to4 구성이 손상되었을 수 있습니다. 6to4는 공용 IP 주소와 RFC1918 주소가있는 호스트에서 다르게 작동합니다.
업데이트 : 내 네트워크에는 6to4와 분명히 비린내가 있습니다. Windows 클라이언트에서 6to4를 비활성화하면 연결이 즉시 해결됩니다.
netsh int ipv6 6to4 set state disabled
그러나 @joeqwerty가 말했듯이 이것은 문제를 가릴뿐입니다. 여전히 네트워크에서 IPv6 통신이 작동하지 않는 이유를 찾으려고 노력하고 있습니다.