web-dev-qa-db-ja.com

Linuxgetaddrinfoが.localドメインで機能しない

PPTP VPNで別のネットワーク、主にWindowsネットワークに接続しています。新しくインストールしたUbuntu16.04.1を実行しています。

私が接続したいもののほとんどは.localドメインにあります。 .localドメインへの接続フェーズ中にgetaddrinfoを実行するアプリケーションはすべて失敗することがわかりました。

たとえば、Remminaは次のエラーを出します。

tcp_connect:getaddrinfo(名前またはサービスが不明)エラー:プロトコルセキュリティネゴシエーションまたは接続障害

.localドメインと.comドメインの両方のDNSに1つのワークステーションをセットアップしましたが、どちらも正常に解決されます。

rduz@henry:~$ nslookup bidsk0127.redacted.local
Server:     127.0.1.1
Address:    127.0.1.1#53

Name:   bidsk0127.redacted.local
Address: 172.16.5.155

rduz@henry:~$ nslookup bidsk0127.redacted.com
Server:     127.0.1.1
Address:    127.0.1.1#53

Name:   bidsk0127.redacted.com
Address: 172.16.5.155

Getaddrinfoエラーなしで、.com名に正常に接続できます。 .localに接続できません。getaddrinfoエラーが表示されます。

昔、私が覚えているように、SLESでは、/ etc/Host.confを更新して、.local解決を機能させるために「mdnsoff」という行を追加していました。 man Host.confは、それを有効なオプションとして表示しなくなりました。

Getaddrinfo呼び出しが.local名を正しく解決できるように問題を修正する方法はありますか?

ありがとうございました。

よろしく、リッチ

1
Rich Duzenbury

もっとグーグルして、私は答えを見つけました。私の場合、mdnsは必要ないので、/ etc /nsswitch.confを次のように更新しました。

root@henry:/etc# diff nsswitch.conf.orig nsswitch.conf
12c12
< hosts:          files mdns4_minimal [NOTFOUND=return] dns
---
> hosts:          files dns
1
Rich Duzenbury