Могу ли я настроить dnsmasq для использования / etc / hosts для разрешения цели CNAME?
Есть ли способ настроить dnsmasq так, чтобы при получении записи CNAME, если цель находилась в / etc / hosts, она переопределяла все, что публичный DNS-сервер говорил об этой цели, и вместо этого использовала / etc / hosts?
Это вопрос, но если вы заинтересованы в полной информации и подробностях, читайте дальше.
подробности
У меня есть доменное имя, давайте его назовем example.com
. Я установил домен для моей домашней сети philadelphia.example.com
, и, таким образом, хосты внутри могут быть host1.philadelphia.example.com
и host2.philadelphia.example.com
. Я настроил разделенный DNS, чтобы эти имена работали как за NAT, так и в общедоступном Интернете.
Для удобства я хочу получить доступ к некоторым из них как к простым host1.example.com
и т. Д. (Без названия города). Я создал общедоступные записи CNAME для них. Это отлично работает через Интернет, но не за моим маршрутизатором.
Мой маршрутизатор (EdgeRouter Lite, для записи) использует dnsmasq в качестве своего DNS-сервера. Он автоматически добавляет записи для host1
и host1.philadelphia.example.com
в / и т.д. / хостов, когда он выдает аренду DCHP, но не host1.example.com
так как example.com
это не его область. Соответственно, когда он получает запрос host1.example.com
, он перенаправляет его в общедоступный DNS.
Публичный DNS-сервер находит следующие записи и возвращает их:
host1.example.com. 3600 IN CNAME host1.philadelphia.example.com. host1.philadelphia.example.com. 3600 IN A <Router's external IP>
На самом деле я не уверен, что общедоступный DNS-сервер отправляет запись A автоматически или dnsmasq выдает второй запрос. В любом случае dnsmasq берет слово общедоступного DNS-сервера и старательно возвращает общедоступный IP-адрес моего маршрутизатора исходному клиенту за маршрутизатором, а не host1
частному IP-адресу из / etc / hosts.
В качестве дополнительного теста я попытался создать запись CNAME для privatehost.example.com
->, privatehost.philadelphia.example.com
не создавая для нее публичную запись A, но у моего маршрутизатора есть запись для privatehost.philadelphia.example.com
/ etc / hosts. В этом случае общедоступный DNS-сервер отвечает записью CNAME, а затем NXDOMAIN, когда он не может найти что-либо для privatehost.philadelphia.example.com
. Даже до сих пор, Dnsmasq берет слово сервера и возвращает NXDOMAIN к клиенту, даже если он действительно есть запись privatehost.philadelphia.example.com
.
Есть ли способ сказать dnsmasq, чтобы он снова попробовал свои собственные / etc / hosts после загрузки CNAME, даже если он должен был перейти к общедоступному DNS, чтобы получить его?
0 ответов на вопрос
Похожие вопросы
-
2
Windows 7 Home Premium запоминает пароли общего доступа к сети?
-
5
Поделитесь XP сетевым подключением без перезагрузки?
-
1
Переключить настройки DNS для каждого пользователя Windows?
-
-
5
Как мне сказать Windows использовать 802.11 вместо 3G?
-
4
Есть ли способ поделиться сканером многофункционального принтера?
-
3
Есть ли способ соединить два компьютера через USB?
-
3
Как сохранить несколько подключений к интернету?
-
4
iPod-Touch для воспроизведения фильмов с ПК на PS3?
-
2
Mac не присоединится к рабочей группе Windows
-
1
Как я могу повысить безопасность своего портала?