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

Как настроить bind9 как локальный DNS только без доступа в Интернет?

Я хочу настроить bind9 как локальный DNS только без доступа к Интернету. Итак, в моем виртуальном домене xy.com 5 компьютеров. Внутри этого домена нет доступа в Интернет.

DNS-сервер имеет такие записи, как:

Привязка настроена правильно, но когда я выполняю команду «dig @localhost pc1» на DNS-сервере, она не работает, потому что он застревает при контакте с корневыми серверами. Но я только хочу, чтобы он был локальным и ответил, какой IP у pc1.

Как я могу этого добиться?

Для этого вам нужно создать фальшивую корневую зону, чтобы заменить обычно настроенную зону «root.hints».

В named.conf положи это:

zone "." IN {
        type master;
        file "fake.root";
};

И в fake.root положи это:

$TTL    300
.               IN      SOA ns. hostmaster.xy.com. (
                        20120101 1800 900 604800 86400
                )
.               IN      NS      ns
ns              IN      A       127.0.0.1

Это предотвратит все попытки доступа в Интернет для получения настоящих корневых ссылок.

Вы также можете поставить pcN.xy.com входы также непосредственно в эту корневую зону - им не нужно быть в своей собственной xy.com файл зоны, так что вы можете просто добавить следующее в fake.root:

$ORIGIN xy.com.
pc1             IN      A       10.1.1.1
pc2             IN      A       10.1.1.2
pc3             IN      A       10.1.1.3
pc4             IN      A       10.1.1.4
pc5             IN      A       10.1.1.5

Помимо любых options { } что вам может понадобиться (ACL?) вот и все - больше ничего не требуется.

Вам нужно отключить рекурсию:

Добавляем в конфиг:

allow-transfer {“none”;};

allow-recursion {“none”;};

Моя конфигурация named.conf выглядит так (в системе RHEL):

options {
        allow-query {
        any;
};
allow-recursion {
        none;
};

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

zone "domain.lan" {
        type master;
        file "master/db.domain.lan";
        allow-update { none; };
};

где master/db.domain.lan должен указывать на файл зоны, который должен содержать записи, которые вы разместили выше. Кроме того, в заголовке файла зоны должна быть запись SOA (начало полномочий). Файл зоны должен иметь вид:

domain.lan.     86400   IN SOA  dns.domain.lan. root.dns.domain.lan. ( 1 10800 3600 6044800 86400 )
                86400   IN NS   dns.domain.lan.

dns.domain.lan.      86400   IN   A    10.10.10.1
pc.domain.lan.    86400   IN   A    10.10.10.2

Вы можете настроить имена / значения / IP-адреса в соответствии с вашими потребностями.