Налаштуйте DNS-сервер для повернення однакового IP-адреси для всіх доменів


11

Я хотів би налаштувати сервер імен, який повертає ту саму IP-адресу (запис "A") для будь-якого довільного імені хоста. Наприклад:

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

всі повинні повернути ту саму IP-адресу. Чи є спосіб зробити це з BIND? Або є альтернатива BIND, яка може це зробити?

Відповіді:


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 жодного заданого домену. (Але в іншому випадку це служить правильному запису A)
Томас Уорд

будь-який спосіб для Microsoft DNS-сервера?
мертвийManN

8

Згідно зі сторінкою dnsmasq man

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 для запуску.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.