На этот вопрос уже есть ответ здесь:
Я настроил свой собственный DNS-сервер и хочу сделать это возможным для всех на подсеть для поиска друг друга.
Как мне это сделать?
Во-первых, Вам нужен сервер DNS. BIND является примером широко используемого и стандартного сервера.
Ниже пример для:
local.example.com
192.168.0.0
255.255.255.0
(24 бита)Для сервера:
ns1
192.168.0.1
И для 2 внешних серверов DNS:
Измените те значения соответственно для установки структуре сети.
sudo apt-get install bind9
В СВЯЗЫВАЕТ конфигурационный файл /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).
Ваш сервер должен разрешить другие запросы, настроить внешние серверы DNS в /etc/bind/named.conf.options
как "средства передачи":
options {
forwarders {
1.2.3.4;
1.2.3.5;
};
[...]
}
Можно перезагрузить конфигурацию:
sudo service bind9 reload
Проверить /var/log/syslog
при отсутствии ошибок при загрузке новых конфигураций.
Необходимо теперь смочь запросить сервер 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