Linux getaddrinfo не работает с доменами.local
Я подключен через PPTP VPN к другой сети, в основном к сети Windows. Работает Ubuntu 16.04.1, только что установлен.
Большинство вещей, к которым я хотел бы подключиться, находятся в домене.local. Я обнаружил, что любое приложение, которое выполняет getaddrinfo на этапе подключения к домену.local, не будет работать:
Реммина, например, выдает эту ошибку:
tcp_connect: getaddrinfo (имя или служба неизвестна) Ошибка: согласование безопасности протокола или сбой соединения
Я настроил одну рабочую станцию в DNS на доменах.local и.com, и они оба разрешают нормально:
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
Я могу подключиться нормально к имени.com, нет ошибки getaddrinfo. Я не могу подключиться к.local, он показывает ошибку getaddrinfo.
В старые времена на SLES, как я помню, мы обновляли /etc/host.conf, чтобы иметь строку с надписью 'mdns off', чтобы заставить работать разрешение.local. man host.conf больше не показывает это как допустимый параметр.
Есть ли способ исправить ситуацию, чтобы вызов getaddrinfo мог правильно разрешить имя.local?
Спасибо.
С уважением, Рич
1 ответ
Больше погуглил и я нашел ответ. В моем случае я не хочу mdns, поэтому я обновил /etc/nsswitch.conf следующим образом:
root@henry:/etc# diff nsswitch.conf.orig nsswitch.conf
12c12
< hosts: files mdns4_minimal [NOTFOUND=return] dns
---
> hosts: files dns