2017-11-30 28 views
0

나는 호스트 이름을 ping을 시도하고있다 "윈 - 2k12r2-ADDC을. 阿伯 测 阿伯 测 ad.hai.com를"리눅스 클라이언트에서.호스트 이름 해상도는 UTF-8 문자를 포함하는 호스트 이름에 대해 "알 수없는 호스트"오류와 함께 실패

나는 DNS 요청이 utf-8 형식 으로 전송되는 호스트 이름으로 연결되어 있고 올바른 IP 주소로 DNS 서버로부터 응답을받습니다.

하지만 핑 (ping) 다음과 같은 오류와 함께 실패합니다 핑 :. 알 수없는 호스트 윈 - 2k12r2-ADDC 阿伯 测 阿伯 测 ad.hai.com

나는/etc/hosts 파일에 항목을 추가하는 경우 잘 작동합니다.
작동하면/etc/hosts에 다음 항목이 있습니다. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++
127.0.0.1의 로컬 호스트 AVA-DEV
:: 1 localhost를
10.141.33.93 윈 - 2k12r2-ADDC. 阿伯 测 阿伯 测 ad.hai.com
+++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++


/etc/nsswitch.conf 파일에는 호스트에 대해 다음 항목이 있습니다.
++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++
호스트 : 파일의 DNS
+++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++

나는 다소 용의자한다 getaddrinfo() 우리가 즉 주소를 확인하려고 할 때 호출이 실패 유니 코드 문자가 포함 된 호스트 이름 에 대해 DNS 응답을 올바르게 처리 할 수 ​​없습니다.

누군가가 전에이 문제에 직면 했습니까? 또는 Linux 클라이언트에서 유니 코드 호스트 이름을 해결하려는 사람이 있습니까?

이유 전 (getaddrinfo를 의심 m)은 다음 이유로 인해이다. 핑 (ping)에서 별도로
는, 메신저 같은 호스트에 다음 LDAP 명령을 시도하고 그것은 아래에 언급 된 오류
실패 ++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++ 의 ldapsearch -d 255 -x -h win2k2r2-addc. %의 B5의 % 8B % E9 %의 98 %의 BF의 %의 E4의 %의 BC % AF % E6 % B5 % 8Bad.hai.com)
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection 012,380,073,162, ldap_connect_to_host : TCP의 윈 - 2k12r2-ADDC 阿伯 测 阿伯 测 ad.hai.com:389
ldap_connect_to_host :. 실패한다 getaddrinfo : 이름이나 서비스 알려져 있지
ldap_err2string
ldap_sasl_bind (SIMPLE) : 연결할 수 없습니다 LDAP 서버 (-1)
++++++++++++++++++++++++++++++++++++++++++ 두 시나리오 (핑/LDAP)에서 ++++++++++++++++++++++++++++

, 내가 DNS 쿼리 요청에가는 참조 DNS 서버 및 DNS 서버의 올바른 응답을 다시 Linux 클라이언트로 보냅니다. 다음

윈 2k12r2-ADDC DNS 쿼리 전송 호스트의 값이다. \ 351 230 \ 277 \ 344 \ 274 \ 257 \ 346 \ 265 \ 213 \ 351 \ 277 \ 230 \ \ 344 \ 274 \ 257 \ 346 \ 265 \ 213ad.hai.com : 유형 A, 클래스 IN

+0

내부 UTF-8이 아닌 IDNA 형식으로 제공됩니다. – tripleee

+0

두 창 (작동하는 곳)과 리눅스에서 패킷 추적을 확인했습니다. 유선에서 utf-8 형식을 사용하여 DNS 쿼리가 전송됩니다. – Vignesh

+0

흠, 우분투 도커에 호스트 이름을 붙여 넣기조차 할 수 없습니다. (아마 내 오류입니다. Mac에서 일반 Bash 명령 행에 붙여 넣으면 문제가 해결되지만 해결되지 않습니다.) – tripleee

답변

0

DNS 시스템에서 UTF-8 또는 유니 코드를 사용하려고하는 것처럼 보입니다. 그런 식으로. ascii가 필요합니다 (RFC 5890, 5891, 5892, 5893 - 대부분 5891을 참조하십시오). utf-8 문자를 이스케이프해도 punycode ("xn--"접두사)라는 필수 ASCII 인코딩으로 변환되지 않습니다. 대신의 퓨니을 가지고 당신의 IDN의 버전을 사용할 UTF-8 :

핑 win-2k12r2-addc.xn--ad-tl3ca3569aba8944eca.hai.com 나는 일이 될 기대

+0

나는 또한 그것을 시도했다. 그러나 그것은 해결되지 않습니다. – Vignesh

+0

mxtoolbox.com을 사용하면 hai.com 이름 서버에 문제가있는 것 같습니다. 일단 실제로 작동하면 "win-2k12r2-addc.xn--ad-tl3ca3569aba8944eca.hai.com"에 대한 cname 또는 "a"레코드가 있는지 확인하십시오. - 유니 코드/utf8을 DNS 레코드. –