У меня есть устройство, которое уже отображается на domain.tld
. Теперь я хочу создать подстановочный знак для всех поддоменов *.domain.tld
, чтобы они были сопоставлены с ip из domain.tld
.
Как это сделать с помощью dnsmasq
?
Поддомены подстановочных знаков с dnsmasq
Ответ 1
В файле dnsmasq.conf
добавьте строку
address=/.domain.tld/192.168.0.1
Но используйте IP-адрес, который вы действительно хотите, в качестве конечного бита
Ответ 2
Хотя принятый ответ, возможно, решил проблему автора, он вводит в заблуждение, поскольку предполагает, что ведущая точка будет соответствовать только субдоменам, что неверно.
dnsmasq игнорирует любые ведущие точки, так что
address=/domain.tld/192.168.0.1
эквивалентно
address=/.domain.tld/192.168.0.1
или даже
address=/......domain.tld/192.168.0.1
На данный момент (dnsmasq v2.76), к сожалению, нет способа указать некоторые вещи (server
, address
, ipset
) для
- только одно доменное имя, то есть доменное имя без его поддоменов
- только для поддоменов доменного имени
Единственное, что вы можете сделать, это указать что-то для имени домена и всего его поддомена и переопределить его для определенных поддоменов, например.
address=/domain.tld/192.168.0.1
address=/sub.domain.tld/10.10.0.1
Этот случай с единственным доменным именем может быть рассмотрен с различными параметрами, такими как host-record
, srv-record
, что может быть достаточно в некоторых случаях, но, конечно, не во всех. Например, это не сработает, если вам действительно нужно использовать параметр server
или ipset
только для одного имени домена.