Как правильно настроить использование DNS в Ubuntu? Проигнорированы авторитетные ответы без флага RA

У меня есть последняя чистая Ubuntu 14.04.1, 64-разрядная от официального сайта, установленного в Virtualbox. Я соединяюсь с сетью VPN с помощью vpnc, который устанавливает 2 сервера DNS с помощью DHCP:

user@virtual:~$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.88.94.1
nameserver 8.8.8.8
nameserver 10.40.0.1

Где 10.88.94.1 и 8.8.8.8 возвращаются vpn dhcp и 10.40.0.1 возвращается LAN dhcp. Первый сервер DNS, возвращенный vpn dhcp, настроен как авторитетный, нерекурсивный сервер имен для некоторых внутренних имен.

Проблема - Ubuntu так или иначе игнорирует авторитетный флаг, и отбросьте допустимый ответ, потому что это нерекурсивно:

user@virtual:~$ nslookup
> video.something.com
;; Got recursion not available from 10.88.94.1, trying next server
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   video.something.com
Address: 180.112.94.1

Поскольку tcpdump ясно показывает, что ответ с первого сервера DNS имеет 'авторитетный' набор флага, но так или иначе он проигнорирован ('*' во втором ответе, для "авторитетного", '-' для "нерекурсивного"):

13:23:44.505098 IP 10.40.130.209.44159 > 10.88.94.1.domain: 63790+ A? video.something.com. (32)
13:23:44.506285 IP 10.88.94.1.domain > 10.40.130.209.44159: 63790*- 1/0/0 A 10.88.94.12 (48)
13:23:44.506390 IP 10.40.130.209.45437 > 8.8.8.8.domain: 63790+ A? video.something.com. (32)
13:23:44.608414 IP 8.8.8.8.domain > 10.40.130.209.45437: 63790 1/0/0 A 180.112.94.1 (48)

Те же работы установки как ожидалось (первый результат DNS используется), и в Windows и в OSX. Но не на Ubuntu. Это - что-то, что я могу зафиксировать в Ubuntu для авторитетных ответов, которые будут обработаны crrectly независимо от "нерекурсивного" флага, или это полностью повреждается и где ничто, что я могу сделать?

5
задан 19 September 2014 в 12:28
2 ответа

Тип резервного поведения, которого вы, кажется, ожидаете, не является частью того, как должен работать DNS. Со вторым сервером имен в resolv.conf следует связываться только в том случае, если первый не отвечает или возникает какая-то сетевая ошибка.

Microsoft, очевидно, сделала свои собственные вещи, и это, безусловно, полезно для того, кем вы являетесь пытаюсь сделать, но на него не следует полагаться при настройке VPN. У Microsoft также есть идея использования разного разрешения имен для разных сетевых интерфейсов.

Если вы не можете повлиять на конфигурацию VPN, лучшим вариантом для Linux может быть настройка собственного сервера имен, который решает, куда перенаправлять запросы по домену. .

4
ответ дан 3 December 2019 в 01:44

Чтобы рекурсия DNS работала для сервера bind9 Ubuntu, убедитесь, что следующие строки находятся в /etc/bind/ named.conf.options на сервере DNS:

    recursion yes;
    allow-recursion { any; };

С при этом вы утверждаете, что у вас нет доступа к DNS-серверам. В таком случае, рассматривали ли вы возможность изменения порядка ваших DNS-серверов? Например, если вы возьмете последнюю запись DNS ...

nameserver 10.40.0.1

и поместите ее в файл по адресу /etc/resolvconf/resolv.conf.d/head, выполните команду resolvconf -u , запись будет автоматически добавлена ​​в начало /etc/resolv.conf. Это делает 10.40.0.1 первым используемым DNS-сервером, а затем проверяет записи VPN после этого (при условии, что 10.40.0.1 допускает рекурсию DNS).

0
ответ дан 3 December 2019 в 01:44

Теги

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