Все об Ubuntu
Все об Ubuntu
Наверх

Меню сайта


sam-linux.ucoz.net

Ubuntu 16.04 LTS
 

  
Форма входа


Категории раздела
Ubuntu [3]
Программы для Ubuntu [18]
Командная строка Linux [13]


Поиск


Календарь


Help Ubuntu
help.ubuntu.ru



The Internet Defense
                 League

Member of The Internet Defense League


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

      
Приветствую Вас, Гость · RSS 22-Сентябрь-2017, 11:01
Главная » Статьи » Командная строка Linux

Настройка DNS сервера

Настройка DNS сервера

1. Кеширующий DNS сервер;
2. Настройка первичного(master) DNS сервере и создание прямой и обратной зоны.
3. Передача(forward) зоны
4. Настройка вторичного(secondary) DNS сервера

1. Кеширующий DNS сервер

Кеширующий DNS сервер может понадобится как DNS сервер в локальной сети. При наличии кеширующего DNS на вашем сервере сети все компьютеры в сети смогут использовать ваш сервер как DNS. Кроме того это несколько ускоряет распознование доменных имен и часто используется даже при использовании Linux как рабочей станции. Приступим к настройке:

Провеяем что установлены (или устанавливаем) пакеты bind и bind-utils:

#urpmi bind bind-utils
Пусть 222.222.222.222 - это IP-адрес сервера DNS вашего провайдера.

Теперь вносим изменения в файле /etc/named.conf в секции "controls". Нужно добавить следующие строки:

forwarders { 127.0.0.1; 222.222.222.222; };
forward first;
Далее правим файлик /etc/hosts - в нем должны быть строки:


nameserver 127.0.0.1
nameserver 222.222.222.222

Это может понадобится для некоторых служб и программ которые не будут обращаться к вашему DNS серверу.

После этого перезапускаем DNS сервер :

# /etc/init.d/named restart
Теперь всем хостам в локальной сети можно указать этот сервер в качестве DNS сервера.

Проверить работоспособность можно следующим образом:

$ nslookup -sil www.linux.org
Server: 222.222.222.222
Address: 222.222.222.222#53

Non-authoritative answer:
Name: www.linux.org
Address: 198.182.196.56

$ nslookup -sil www.linux.org
Server: 127.0.0.1
Address: 127.0.0.1#53

Non-authoritative answer:
Name: www.linux.org
Address: 198.182.196.56

Как мы видим, первый раз обращение прошло к DNS серверу вашего провайдера, а второй раз ответ получен из кеша вашего DNS сервера.

2. Настройка первичного(master) DNS сервере и создание прямой и обратной зоны.

Допустим у Вас есть доменное имя mynet.lan Вам хочется сделать свой сервер первичным сервером для этого домена и использовать у себя в сети доменные имена www.mynet.lan, kolya.mynet.lan и т.д. Для этого сначала попрвим файл /etc/named.conf

/////////////////////////////////////////////////////////
key mykey {
algorithm hmac-md5;
secret "IriCelUSbPMypSjImBsiTHMauOumRPMkdBjoxVINAx0vxJZNRKGWzFCKibad";

};
controls {
inet 127.0.0.1 allow { any; } keys { "mykey"; };

// эту строка добавлена здесь для целей которые описанны в главе про DHCP
inet 192.168.1.4 allow { any; } keys { "mykey"; };

// здесь вместо 222.222.222.222 проставте ip DNS сервера вашего провайдера
forwarders { 127.0.0.1; 222.222.222.222; };
forward first;
};
options {
pid-file "/var/run/named/named.pid";
directory "/var/named";
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
};

//
// a caching only nameserver config
//
zone "." {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "named.local";
};

// Прямая и обратные зоны для домена mynet.lan

zone "mynet.lan" {
type master;
file "mynet.zone";
allow-update { key mykey; };
};

zone "1.168.192.in-addr.arpa" {
type master;
file "mynet.reversed";
allow-update { key mykey; };
};
/////////////////////////////////////////////////////////

Как мы видим в конце файла добавилены две записи "zone". Теперь нам необходимо создать еще 2 файла содержащих прямую и обратную зону.

Создаем файл обратной зоны /var/named/mynet.reversed.

$ORIGIN .
$TTL 86400 ; 1 day
1.168.192.in-addr.arpa IN SOA ns.mynet.lan. ns.mynet.lan. (
2001042703 ; serial
28800 ; refresh (8 hours)
14400 ; retry (4 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
NS ns.mynet.lan.
$ORIGIN 1.168.192.in-addr.arpa.
$TTL 3600 ; 1 hour
1 PTR router.mynet.lan.
4 PTR ns.mynet.lan.

теперь создаем файл прямой зоны /var/named/mynet.zone

$ORIGIN .
$TTL 86400 ; 1 day
mynet.lan IN SOA ns.mynet.lan. ns.mynet.lan. (
2001042705 ; serial
86400 ; refresh (1 day)
21600 ; retry (6 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
3600 ; minimum (1 hour)
)
NS ns.mynet.lan.
$ORIGIN mynet.lan.
localhost A 127.0.0.1
ns A 192.168.1.4
router A 192.168.1.1
www A 192.168.1.1

По аналогии в конец файла прямой и обратной зон вы можете дописывать все что угодно. Обратите внимание на то что изменения вступают в силу только после изменения поля "serial". Обычно после внесения любых изменений в эти файлы serial увеличивают на 1.

3. Передача(forward) зоны

Иногда необходимо отдать какуюто часть домена для обслуживания другому DNS серверу. Это называется форвардинг зоны. Для этого можно просто добавить примерно такую запись в файл /etc/named.conf

zone "subnet.mynet.lan"{
type forward first;
forwarders {10.10.10.10;};
};

В этом примере subnet.mynet.lan - поддомен который вы передаете DNS серверу с IP 10.10.10.10. С этого момента обращения за доменными именами *.subnet.mynet.lan будут проходить не к вашеиу DNS серверу а к серверу 10.10.10.10

4. Настройка вторичного(secondary) DNS сервера

Иногда необходимо "просекондарить зону" - тоесть настроить свой DNS таким образом чтобы он был вторичным DNS сервером для какой либо зоны. По правилам необходимо чтобы у каждого первичного DNS сервера (master) было как минимум 2 вторичных (slave). Также это может быть необходимо если вам по какимто причинам нужно сделать свой сервер "авторитетным" для какой либо произвольной зоны. Просекондерить свой DNS можно двумя способами:

С помощью web сервиса на http://secondary.net.ua/

Настроить свой сервер самостоятельно добавив в файл /etc/named.conf примерно такую запись:

zone "subnet2.mynet.lan" {
type slave;
file "subnet2.mynet.lan.slave";
masters { 10.10.10.10; };
};
В этом примере мы "секондарим" зону subnet2.mynet.lan первичным DNS сервером которой является сервер с IP 10.10.10.10 . после перезапуска DNS сервера должен создаться файл /var/named/subnet2.mynet.lan.slave в котором будет зона которую мы секондарим.


Категория: Командная строка Linux | Добавил: macht (20-Май-2011)
Просмотров: 14197 | Рейтинг: 5.0/2
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]