Я подключаюсь через 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?
Спасибо.
С уважением, Рич
Еще раз погуглил, и я нашел ответ. В моем случае мне не нужен mdns, поэтому я обновил /etc/nsswitch.conf следующим образом:
root@henry:/etc# diff nsswitch.conf.orig nsswitch.conf
12c12
< hosts: files mdns4_minimal [NOTFOUND=return] dns
---
> hosts: files dns