Назад | Перейти на главную страницу

Как я могу выборочно переопределить некоторые записи A на сервере Bind DNS?

Я предполагаю, что должен быть разумный способ решить мою проблему, но я пытаюсь получить совет о том, что лучше всего реализовать.

Я недавно перешел в компанию, занимающуюся веб-дизайном, и нам нужно иметь возможность подделывать записи DNS для веб-сайтов, над которыми мы работаем. Однако мы хотим переопределить только определенные записи A, но оставить другие, чтобы сайт работал.

То есть: мы хотим, чтобы "support.abcd.com" разрешался локально, но все остальное переходит на настоящий сайт. Это позволит нам спроектировать / продемонстрировать полностью функционирующий сайт, в котором будут только локальные работы.

У нас есть внутренний DNS-сервер BIND (9.9.5.dfsg-3).

Что мой файл зоны должен искать для "abcd.com" на основе приведенного выше примера?

Изменить: это сработает?

          IN ns1
abcd.com. IN NS ns1
support.abcd.com. IN A 192.168.1.1
faq.abcd.com.     IN A 192.168.1.1
*.abcd.com.       IN NS abcd.com     <- External?

Если все это связано только с переопределением поиска по имени хоста-> ip, то, что, вероятно, проще всего настроить и управлять (особенно если у вас быстро меняющиеся требования), чтобы разработчики просто переопределили нормальное разрешение, добавив соответствующие имена в свои локальные хозяева файлы и оставить DNS в покое.

Однако, если вы хотите сделать это с помощью DNS, используя BIND в качестве сервера распознавания, и вам нужно переопределить только определенные имена (а не целые зоны), я считаю, что вам нужно будет использовать Зона политики реагирования (RPZ) функциональность. Возможно, это можно сделать вместе с использованием Просмотры чтобы эти изменения коснулись только определенных клиентов.

Я включил пример, который будет делать то, о чем вы конкретно просите, но просмотрите связанную документацию выше, чтобы узнать все другие варианты того, как вы можете переопределить вещи, и более полные примеры.

options {
  ...
  response-policy { zone "development-overrides"; };
};

...

zone "development-overrides" {type master; file "master/development-overrides"; allow-query {none;}; };

Указанный файл зоны имеет обычный синтаксис главного файла, но семантика специфична для RPZ (прочтите Документы РПЗ!):

$TTL 1H
@                       SOA LOCALHOST. named-mgr.example.com (1 1h 15m 30d 2h)
                        NS  LOCALHOST.

support.example.com     A   192.168.1.1
faq.example.com         A   192.168.1.1

Либо измените файл hosts на машинах разработчиков (/etc/hosts в UNIX / Linux и C:\windows\system32\drivers\etc\hosts в Windows) или используйте настройки представления в DNS, вы определяете ACL с подсетями, которые должны быть «подделаны», и используете «match-clients» внутри представления для сопоставления только этих клиентов.

В вашем примере это поле CNAME, а не поле NS.