Можно ли настроить DNSMasq так, чтобы он возвращал фиксированный IP-адрес только для запроса для этого точного домена, а не для его поддоменов? То есть я хочу, чтобы он возвращал фиксированный IP-адрес при разрешении example.com
, но нет a.example.com
, b.example.com
, и т.д.
host-record=example.com,1.2.3.4
В страница руководства dnsmasq говорит:
--host-record = <имя> [, <имя> ....] [<IPv4-адрес>], [<IPv6-адрес>]
Добавьте в DNS записи A, AAAA и PTR. Это добавляет одно или несколько имен к DNS со связанными записями IPv4 (A) и IPv6 (AAAA). Имя может появиться более чем в одном хост-запись и, следовательно, получить более одного адреса. Только первый адрес создает запись PTR, связывающую адрес с именем. Это то же правило, что и при чтении hosts-файлов. хост-запись параметры считаются считанными перед хост-файлами, поэтому появившееся там имя запрещает создание PTR-записи, если оно также присутствует в хост-файле. В отличие от файлов-хостов, имена не раскрываются, даже если действует расширение-хосты. Короткие и длинные имена могут появляться в одном и том же хост-запись, например. --host-record = ноутбук, laptop.thekelleys.org, 192.168.0.1,1234 :: 100
Как твой файл конфигурации? dnsmasq разрешит только поддомены, если ваша запись начинается с точки .
Пример: address=/.subdomain.pc01.domain.com/192.168.1.2
Если у вас это так:
address=/subdomain.pc01.domain.com/192.168.1.2
это также решит asd.subdomain.pc01.domain.com
:
$ host asd.subdomain.pc01.domain.com
asd.subdomain.pc01.domain.com has address 192.168.1.2
Просто добавьте запись для этого конкретного домена в файл hosts на сервере, на котором работает DNSMasq.
Из страница руководства dnsmasq (для --server, но также применяется к --address):
Более конкретные домены имеют приоритет над менее специфическими доменами, поэтому: --server = / google.com / 1.2.3.4 --server = / www.google.com / 2.3.4.5 отправит запросы для * .google.com на 1.2. 3.4, кроме * www.google.com, который перейдет в 2.3.4.5.
Таким образом, единственное решение, которое я вижу, - это добавить отдельные записи для каждого из необходимых поддоменов. Очевидно, не идеально, но это лучшее, что dnsmasq может предоставить на данный момент (что я могу найти).