2

Я пытаюсь настроить DNS-сервер локальной сети, используя BIND9 на DEBIAN.

Контекст: маска сети: 255.255.0.0, IP-адрес сети: 10.1.xxx.xxx
У меня есть публичный домен example.com, управляемый внешним NS, и моя цель - управлять всеми поддоменами lan.example.com, например, адрес node1.lan.example.com - компьютер с IP 10.1.1.1.

Текущая конфигурация
/etc/bind/named.conf:

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

/etc/bind/named.conf.options:

options {
    directory "/var/cache/bind";
    forwarders {
        EXTERNAL_DNS_NAMESERVERS;
    };
    dnssec-validation auto;
    recursion yes;
    allow-query { 10/24; 127.0.0.1; };
    allow-recursion { 10/24; 127.0.0.1; };
    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { any; };
    listen-on port 53 { 127.0.0.1; 10.1.0.2; } ;
};

файл /etc/bind/named.conf.local:

zone "lan.example.com" {
    type master ;
    allow-query { 10/24; 127.0.0.1; };
    file "/etc/bind/zone.lan.example.com" ;
};
zone "0.1.10.in-addr-arpa" {
    type master ;
    notify no ;
    allow-query { 10/24; 127.0.0.1; };
    file "/etc/bind/zone.0.1.10.in-addr.arpa" ;
} ; 
zone "2.1.10.in-addr-arpa" {
    type master ;
    notify no ;
    allow-query { 10/24; 127.0.0.1; };
    file "/etc/bind/zone.2.1.10.in-addr.arpa" ;
} ; 

/etc/bind/named.conf.default-zones:

zone "." {
    type hint;
    file "/etc/bind/db.root";
};
zone "localhost" {
    type master;
    file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
    type master;
    file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
    type master;
    file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
    type master;
    file "/etc/bind/db.255";
};

/etc/bind/zone.lan.example.com:

; zone.lan.example.com BIND9 configuration file.
;
$TTL 604800
@   IN  SOA ns.lan.example.com. root.localhost. (
    201212041   ; serial no. (increment by +1 after every edit!)
    604800      ; refresh
    86400       ; retry after failure
    2419200 ; expired
    604800); TTL negative cache
;
@   IN  NS  ns.lan.example.com.
@   IN  A   127.0.0.1
;
; A records - Local machines and addresses:
; Servers:
router  IN  A   10.1.0.1    ; Router
ns      IN  A   10.1.0.2    ; NS Server
server  IN  A   10.1.0.2    ; Server
media   IN  A   10.1.0.3    ; Media Server

;
; Workstations:
node1   IN  A   10.1.1.1    ; node1

Выпуск:

client 10.1.0.1#50808: query (cache) 'a.root-servers.net/A/IN' denied
client 10.1.0.2#59641: query (cache) 'example.com/A/IN' denied
client MY_EXTERNAL_IP#37853: query 'server.lan.example.com/A/IN' denied
client MY_EXTERNAL_IP#56367: query (cache) 'superuser.com/A/IN' denied

Когда я пытаюсь откопать server.lan.example.com на сервере имен ns.lan.example.com, все работает, если я пытаюсь сделать это с другого компьютера, происходит сбой.

Как я могу решить это?

заранее спасибо

2 ответа2

2

Вы настроили BIND для разрешения запросов с 10/24 . Я не уверен, что BIND даже примет это как действительную маску сети, но если это так, то он расширится до 10.0.0.0/24 или 10.0.0.0/255.255.255.0 , что не соответствует 10.1.0.1 , (Вы перепутали /24 с 10.0.0.0/8?)

Согласно вашей сетевой маске заметки : 255.255.0.0, IP-адрес сети: 10.1.xxx.xxx, правильная сеть должна быть 10.1.0.0/16 .

0

Предыдущий ответ решил проблему для первоначального отправителя, но для другого, более обобщенного, способа сделать это вы можете использовать встроенные списки ACL "localnets" и "localhost", например:

allow-recursion { localnets; } ;

localhost довольно понятен (за исключением того, что в дополнение к 127.0.0.1 или ::1 он включает настроенный адрес каждого сетевого интерфейса, который использует BIND (таким образом, 127.0.0.1 плюс все адреса, назначенные локальному хосту).

localnets основана на конфигурации локальных интерфейсов и основана на их адресах и сетевых масках.

Если ваш сервер имеет интерфейс, который не находится в частном адресном пространстве, но маршрутизируется через Интернет, то вы, вероятно, не хотите использовать "локальные сети"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .