Linux getaddrinfo не работает с доменами .local

Я подключен через PPTP VPN к другой сети, в основном к сети Windows. Запуск Ubuntu 16.04.1, только что установленный.

Большинство вещей, к которым я хотел бы подключиться, находятся в домене .local. Я обнаружил, что любое приложение, которое выполняет getaddrinfo во время фазы подключения к домену .local, завершится ошибкой:

Remmina, например, выдает эту ошибку:

tcp_connect: Ошибка: согласование безопасности протокола или сбой соединения

Я установил одну рабочую станцию ​​в 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'. местное разрешение на работу. man host.conf больше не показывает это как допустимый вариант.

Есть ли способ исправить ситуацию, чтобы вызов getaddrinfo мог правильно разрешить имя .local?

Спасибо.

С уважением, Rich

1
задан 15 December 2016 в 19:51
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
1
ответ дан 3 December 2019 в 23:37

Теги

Похожие вопросы