Настройте DNS для подсети
Я настроил свой собственный DNS-сервер и хочу, чтобы все в подсети могли искать друг друга.
Как я могу это сделать?
1 ответ
Во-первых, вам нужен DNS-сервер. BIND пример широко используемого и стандартного сервера.
Ниже приведен пример для:
- сеть имени
local.example.com
- с IP-адресами
192.168.0.0
- и сетевая маска
255.255.255.0
(24 бита)
Для сервера:
- названный
ns1
- с номером IP
192.168.0.1
И для 2 внешних DNS-серверов:
- 1.2.3.4
- 1.2.3.5
Измените эти значения соответственно, чтобы соответствовать структуре вашей сети.
1. Установите BIND
sudo apt-get install bind9
2. Добавьте свой локальный домен
В конфигурационном файле BINDs /etc/named.conf.local
добавить конфигурацию для запросов имени (имя к IP-номеру):
zone "local.example.com" {
type master;
file "/etc/bind/db.local.example.com";
allow-query { 192.168.0.0.0/24; 127.0.0.1; };
};
А для обратных запросов (IP-номера к именам):
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.0";
allow-query { 192.168.0.0/24; 127.0.0.1; };
};
Создайте два файла конфигурации для вашей сети. В /etc/bind/db.local.example.com
, положил:
$TTL 604800
@ IN SOA local.example.com. hostmaster.example.com. (
1503281 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.local.example.com.
ns1 IN A 192.168.0.1
;
; Local computers
comp1 IN A 192.168.0.101
comp2 IN A 192.168.0.102
comp3 IN A 192.168.0.103
В /etc/bind/db.192.168.0
положил:
$TTL 604800
@ IN SOA v1.local.example.com. hostmaster.example.com. (
1503281 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.
1 IN PTR ns1.local.example.com.
; Local computers
101 IN PTR comp1.local.example.com.
102 IN PTR comp2.local.example.com.
103 IN PTR comp3.local.example.com.
Обратите внимание Serial
параметр: он может содержать любое число, и его следует менять каждый раз, когда вы вносите изменения в файл конфигурации. В этом примере он построен на основе даты и уникального номера (YYMMDDN).
3. Внешние разрешения
Ваш сервер должен разрешать другие запросы, настраивать внешние DNS-серверы в /etc/bind/named.conf.options
в качестве "экспедиторов":
options {
forwarders {
1.2.3.4;
1.2.3.5;
};
[...]
}
4. Загрузить конфигурацию
Вы можете перезагрузить конфигурацию:
sudo service bind9 reload
Проверьте /var/log/syslog
если нет ошибок при загрузке ваших новых конфигов.
5. Использование
Теперь вы должны иметь возможность запрашивать ваш DNS-сервер с localhost
и от клиентов 192.168.0.0/24
сеть. Они должны быть настроены для использования этого сервера (192.168.0.1
) и это доменное имя (local.example.com
) - например с настройкой DHCP или статически в /etc/network/interfaces
, как это:
auto eth0
iface eth0 inet static
address 192.168.0.101
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1
dns-search local.example.com
Чтобы проверить свой DNS на клиентском компьютере (перед постоянным переключением), вы можете попробовать:
host comp1 192.168.0.1