Настройте DNS-сервер так, чтобы он возвращал один и тот же IP-адрес для всех доменов.

11

Я хотел бы настроить сервер имен, который будет возвращать один и тот же IP-адрес (запись «A») для любого произвольного имени хоста. Например:

  • example.com
  • subdomain.example.com
  • someotherdomain.com
  • anyotherdomain.co.uk

должны все вернуть один и тот же IP-адрес. Есть ли способ сделать это с BIND? Или есть альтернатива BIND, которая может сделать это?

balexand
источник

Ответы:

20

С BIND вам нужна поддельная корневая зона, чтобы сделать это. В named.conf, положить следующее:

zone "." {
    type master;
    file "/etc/bind/db.fakeroot";
};

Затем в этом db.fakerootфайле вам понадобится что-то вроде следующего:

@ IN SOA ns.domain.com. hostmaster.domain.com. ( 1 3h 1h 1w 1d )
  IN NS <ip>
* IN A <ip>

При такой конфигурации BIND будет возвращать один и тот же IP-адрес для всех Aзапросов.

Оливер
источник
Работает нормально, но основной домен не разрешается? Есть идеи? Например: testdomain.com
opc0de
Это работает чертовски хорошо. Единственная проблема заключается в том, что запросы записей NS для домена могут взорваться, а именно в том, что он обслуживает записи NS для .зоны, которая не будет отвечать на запросы NS любого домена. (Но в остальном это работает, чтобы послужить правильной записи)
Томас Уорд
любой способ для Microsoft DNS-сервер?
DeadManN
8

Согласно справочной странице dnsmasq

address=/#/1.2.3.4

должен сделать свое дело.

Джеральд Комбс
источник
Спасибо! Это было так просто. Dnsmasq определенно проще настроить, чем BIND.
balexand
Знаете ли вы, есть ли способ использовать подстановочный знак с записями MX в dnsmasq?
balexand
Похоже mx-hostи mx-targetбуду делать это.
Джеральд Комбс
1
Ты знаешь как? Использование групповых символов с mx-hostи mx-targetне задокументировано на странице руководства, и я не могу заставить его работать. Я попытался использовать аналогичные обозначения для addressопции ( #знак). Я смог заставить подстановочные знаки работать с обоими Aи MXиспользовать BIND по совету Оливера, но я бы предпочел использовать dnsmasq. Спасибо!
balexand
dnsmasq - это скорее рекурсивный сервер имен, чем авторитетный (его можно использовать и так, но явно не в качестве основной цели)
Патрик Мевзек,
1

Вы можете сделать сопоставление по шаблону в привязке.

*.example.com.        IN      A       192.0.2.45

Это должно быть определено в названном вами файле конфигурации для домена. Просто будьте осторожны, если вам нужно определить другие Aзаписи для домена.

Франсуа Вольмаранс
источник
3
Какую часть "всех доменов" вы пропустили?
ceejayoz
1

Вы также можете использовать инструмент подделок . Использование очень просто - он будет привязан к сообщению 53 UDP и служить тот же IP - адрес для всех запросов A . Вы предоставляете IP-адрес в качестве параметра командной строки. Безусловно самое простое решение. Требуется Python для запуска.

Конрад Гаевский
источник