Проблема DNS (не удается найти хост) исправлена с помощью адреса host -a - что это значит?
У меня была проблема, которую я не могу объяснить своим ограниченным пониманием того, "как все работает". Я подключаюсь к различным серверам (я буду использовать svn.mycompany.com
как пример) для работы. Мы используем openvpn
создать безопасное соединение вообще с этими серверами. Компания имеет OpenDNS, настроенный для обеспечения обычного разрешения для серверов, и результирующие адреса, конечно, работают только через установленный VPN-туннель.
Ну а после некоторой безобидной перенастройки некоторых серверов (не сделанной мной, и, видимо, работающей для всех остальных), я заметил следующую картину. У меня есть VPN-туннель, и я пытаюсь svn
команда:
svn update
Я сразу получаю сообщение об ошибке, что хост svn.mycompany.com
не может быть решена. Если я тогда сделаю host
уважать:
host -a svn.mycompany.com
который отвечает с правильным IP-адресом. Если я тогда попробую svn
команда, это работает, и svn
продолжает работать некоторое время. Однако после некоторого не измеряемого периода времени он снова перестает работать, и цикл повторяется.
То же самое относится и к другим серверам на другой стороне туннеля. Я видел, как это происходило в разных сетях (например, у меня дома, в кафе и т. Д.).
Я не ищу общее решение. Мой реальный вопрос, как это просто работает host -a
может хотя бы временно "исправить" ситуацию, когда домен не разрешается? Есть ли host
сделать что-то особенное, чтобы обойти локальный кеш? (Если это так, я все еще в замешательстве, потому что адреса серверов не меняются или меняются редко.)
редактировать - ОК, больше информации. Включив ведение журнала для systemd-resolved
Я смог использовать journalctl
отслеживать, что делает моя локальная машина с поиском DNS. То, что я увидел, кажется интересным, но я все еще не знаю достаточно, чтобы понять, что это значит: запросы поиска DNS типа запроса ANY
кажется, переполняют размер пакета UDP, поэтому systemd-resolved
возвращается к выполнению запроса TCP. Для нормальногоANY
поиск по этим foo.mycompany.com
имена, я не получаю переполнение пакета, но он продолжает делать NODATA
запись локального кэша.
Когда ANY
запросы вынуждают откат TCP, systemd-resolved
получает полезный результат и делает положительную запись в кеш.
Для меня это означает, что с ответами UDP происходит что-то странное, но я не знаю, что это означает о первопричине.