Я хочу настроить 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-адреса в соответствии с вашими потребностями.