0

Linux クライアントからホスト名「win-2k12r2-addc.阿伯测阿伯测ad.hai.com」に ping を実行しようとしています。

DNS リクエストは、ホスト名が utf-8 形式で送信され、DNS サーバーからも正しい IP アドレスで応答が返されます。

しかし、ping は次のエラーで失敗します: ping: unknown host win-2k12r2-addc.阿伯测阿伯测ad.hai.com

/etc/hosts にエントリを追加すると、正常に
動作します。動作すると、/etc/hosts に次のエントリが作成されます。++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++
127.0.0.1 localhost ava-dev
::1 localhost
10.141.33.93 win-2k12r2-addc.阿伯测阿伯测ad.hai.com
++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++


/etc/nsswitch.conf ファイルには、ホスト用の次のエントリがあります。
++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++
ホスト: ファイル dns
++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++

アドレスを解決しようとすると getaddrInfo() 呼び出しが失敗するのではないかと疑っています。つまり、Unicode 文字を含むホスト名に対する DNS 応答を正しく処理できないということです。

以前にこの問題に直面した人はいますか? または、Linux クライアントから Unicode ホスト名を解決しようとした人はいますか?

getaddrinfo() を疑っている理由は次のとおりです。
pingとは別に、同じホストに対して次のldapコマンドを試行すると、以下のエラーで失敗します
++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++ ldapsearch -d 255 -x -h win-2k12r2 -addc.阿伯测阿伯测ad.hai.com
ldap_create
ldap_url_parse_ext(ldap://win-2k12r2-addc.%E9%98%BF%E4%BC%AF%E6%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
ldap_connect_to_host: TCP win-2k12r2-addc.阿伯测阿伯测ad.hai.com:389
ldap_connect_to_host: getaddrinfo失敗しました: 名前またはサービスが不明
です ldap_err2string
ldap_sasl_bind(SIMPLE): LDAP サーバーに接続できません (-1)
+++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++

両方のシナリオ (ping / ldap) で、DNS クエリ要求が DNS サーバーに送信され、DNS サーバーから Linux クライアントに正しい応答が返されることがわかります。以下は、DNS クエリで送信されたホスト名の値です。

win-2k12r2-addc.\351\230\277\344\274\257\346\265\213\351\230\277\344\274\257\346\265\213ad.hai.com: タイプ A,クラスIN

4

1 に答える 1

0

DNSシステムが本当に気に入らないのに、DNSシステム内でUTF-8またはUnicodeを使用しようとしているようです。ascii が必要です (RFC 5890、5891、5892、5893 を参照してください。ただし、ほとんどは 5891 です)。utf-8 文字をエスケープしても、punycode (「xn--」で始まる) と呼ばれる必要な ASCII エンコーディングに変換されません。UTF-8 の代わりに punycode を持つ IDN のバージョンを使用したい場合:

ping win-2k12r2-addc.xn--ad-tl3ca3569aba8944eca.hai.com

于 2017-12-10T01:59:42.293 に答える