Установка

Установка bind freebsd: установка и настройка сервера BIND

Содержание

установка и настройка сервера BIND

По-умолчанию, BIND устанавливается вместе с системой. Но лучше перепроверить версию.

Выполняем:

# /usr/sbin/named -v
BIND 9.8.1-P1

И смотрим — что у нас есть в портах:

# make search name=bind9 | less

Находим последнюю версию:


Port:   bind99-9.9.1.2

Значит — установим более новую версию.

Не забываем обновить порты:

# portsnap fetch update

Переходим и запускаем конфигурирование:

# cd /usr/ports/dns/bind99
# make config-recursive

В первом окне выбираем опцию:

[*] REPLACE_BASE    Replace base BIND with this version

что бы обновить установленную версию BIND-а.

ВАЖНО: каталог сервера named/var/named/etc/namedb/, однако сервер работает в chroot-окружении, поэтому все пути указываются как /etc/namedb/, который в то же время является ссылкой на /var/named/etc/namedb/.

Проверить это можно так:

# ls -i /etc/namedb/ /var/named/etc/namedb/
/etc/namedb/:
94731 dynamic           94732 master            94735 named.conf        94736 named.root        94741 rndc.conf.sample  94750 rndc.key          94733 slave             94747 touch             94734 working

/var/named/etc/namedb/:
94731 dynamic           94732 master            94735 named.conf        94736 named.root        94741 rndc.conf.sample  94750 rndc.key          94733 slave             94747 touch             94734 working

С ключем -i указывается т.н. «номер инноды» («inode number»). Если они совпадают — значит это один и тот же файл.

Приступаем к конфигурированию.

Создадим файлы логов и изменим владельца:

# touch /var/log/bind/named.log
# touch /var/log/bind/query.log
# chown -R bind:bind /var/log/bind/

Настроим дополнительное логгирование. В конец файла /etc/syslog.conf добавляем две строки:

!named
*. * /var/log/named.log

Создаем файл лога:

# touch /var/log/named.log

Устанавливаем владельца:

# chown bind:bind /var/log/named.log

Перезапускаем демон:

# /etc/rc.d/syslogd restart

Переходим в каталог сервера BIND и создадим копию файла конфигурации (на всякий случай):

# cd /var/named/etc/namedb/
# cp named.conf /home/setevoy/backups/configs/named.conf.default

Удалим старый файл named.conf:

# pwd
/var/named/etc/namedb
# rm named.conf

Создадим новый и заполним его:

options {
directory       «/etc/namedb»;
dump-file       «/var/named/data/cache_dump.db»;
pid-file        «/var/run/named/pid»;
statistics-file «/var/named/data/named_stats.txt»;
memstatistics-file «/var/named/data/named_mem_stats.txt»;
listen-on port 53 { 77.120.106.40; };
#       allow-query { localhost; };
#       recursion yes;
allow-recursion{
127.0.0.1;
10.0.0. 0/24;
};
forwarders      {
77.120.112.133;
82.144.220.2;
82.144.220.7;
};
version         «this is my bind :)»;
};

logging {
channel default-log {file «/var/log/bind/named.log»; severity debug; print-severity yes; };
category default {default-log;};
channel «querylog» { file «/var/log/bind/query.log»; print-time yes;};
category queries {querylog;};
};

zone «.» {
type hint;
file «named.root»;
};

zone «localhost» {
type master;
file «master/localhost-forward.db»;
};

zone «127.in-addr.arpa» {
type master;
file «master/localhost-reverse.db»;
};

zone «website.co.ua» {
type master;
file «/var/named/zones/master/website.co.ua»;
};

zone «setevoy.org.ua» {
type master;
file «/var/named/zones/master/setevoy.org.ua»;
};

zone «it-news.in.ua» {
type slave;
file «/var/named/zones/slave/it-news.in.ua»;
masters{46.164.129.74; };
};

Опции named. conf

Рабочая директория сервера BIND, менять не надо:

directory       «/etc/namedb»;

Файл для хранения кеша ответов сервера:

dump-file       «/var/named/data/cache_dump.db»;

Тут хранится запись номера PID демона named, менять не надо:

pid-file        «/var/run/named/pid»;

Файл для хранения статистики запросов к серверу:

statistics-file «/var/named/data/named_stats.txt»;

Файл для хранения статистики использования памяти:

memstatistics-file «/var/named/data/named_mem_stats.txt»;

Указать определенный IP и порт для работы named (например — можно «завернуть» его только внутрь локальной сети):

listen-on port 53 { 77.120.106.40; };

Разрешить запросы к серверу всем:

allow-query { any; };

Разрешить рекурсивные запросы всем клиентам  о любых доменах:

recursion yes;

Разрешить рекурсивные запросы только с определенных IP и/или сетей (более правильное решение):

allow-recursion{
127. 0.0.1;
10.0.0.0/24;
};

Адреса серверов DNS, которым будем отправлять рекурсивные запросы, необязательный параметр, у меня указаны DNS дата-центра:

forwarders      {
77.120.112.133;
82.144.220.2;
82.144.220.7;
};

Прячем версию нашего BIND:

version         «this is my bind :)»;

Далее идет перечисление файлов зон.

Корневая всех доменов:

zone «.» {
type hint;
file «named.root»;
};

Наша локальная зона:

zone «localhost» {
type master;
file «master/localhost-forward.db»;
};

Обратная локальная зона (содержит PTR-запись):

zone «127.in-addr.arpa» {
type master;
file «master/localhost-reverse.db»;
};

Далее идет описание обслуживаемых доменов.

Для домена setevoy.org.ua это сервер будет primary DNS, т.е. основным сервером:

zone «setevoy.org.ua» {
type master;
file «/var/named/zones/master/setevoy. org.ua»;
};

Для домена it-news.in.ua мы будем secondary DNS, т.е. вторичным сервером:

zone «it-news.in.ua» {
type slave;
file «/var/named/zones/slave/it-news.in.ua»;
masters{46.164.129.74; };
};

Создадим файл зоны для setevoy.org.ua:

# cat /var/named/zones/master/setevoy.org.ua
$TTL    3600
@               IN      SOA     ns1.setevoy.org.ua. root.setevoy.org.ua.  (
2012080401      ; Serial
3600            ; Refresh
900             ; Retry
3600            ; Expire
3600            ; Minimum
)
@               IN      NS      ns1.setevoy.org.ua.
@               IN      NS      ns3.dc.volia.com.
@               MX      10      mx.setevoy.org.ua.
@               IN      A       77.120.106.40
www             IN      A       77.120.106.40
mx              IN      A       77.120.106.40
ns1             IN      A       77.120.106.40

ВАЖНО: после каждого изменения строка Serial должна увеличиваться на 1 цифру в конце, иначе secondary NS не обновит у себя файл зоны домена. Подробно описывать файл не буду.

Перезапускаем named:

# service named restart

И смотрим логи /var/log/named/log, должно быть примерно такое:

Aug  3 23:48:11 akira named[1459]: all zones loaded
Aug  3 23:48:11 akira named[1459]: running

Одна из самых частых ошибок выглядит в логе так:

Aug  3 23:48:11 akira named[1459]: zone website.co.ua/IN: loading from master file /var/named/zones/master/website.co.ua failed: file not found
Aug  3 23:48:11 akira named[1459]: zone website.co.ua/IN: not loaded due to errors.

Ошибка была в самом файле зоны /var/named/zones/master/website.co.ua — не там поставил скобку.

Далее настроим утилиту rndc.

Выполняем команду:

# rndc-confgen

и получаем такое сообщение:

# Start of rndc.conf
key «rndc-key» {
algorithm hmac-md5;
secret «*****************************»;
};

options {
default-key «rndc-key»;
default-server 127. 0.0.1;
default-port 953;
};
# End of rndc.conf

# Use with the following in named.conf, adjusting the allow list as needed:
# key «rndc-key» {
#       algorithm hmac-md5;
#       secret «»*****************************»;
# };
#
# controls {
#       inet 127.0.0.1 port 953
#               allow { 127.0.0.1; } keys { «rndc-key»; };
# };
# End of named.conf

Создаем файл rndc.conf и в него вписываем содержимое строк между # Start of rndc.conf и # End of rndc.conf:

# cat rndc.conf
# Start of rndc.conf
key «rndc-key» {
algorithm hmac-md5;
secret «*****************************»;
};

options {
default-key «rndc-key»;
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf

То, что находится после строки «# Use with the following in named.conf, adjusting the allow list as needed:» добавляем в конец файла named.conf и убираем комментарии, получаем:

key «rndc-key» {
algorithm hmac-md5;
secret «*****************************»;
};

controls {
inet 127. 0.0.1 port 953
allow { 127.0.0.1; } keys { «rndc-key»; };
};

И перезагружаем named, пока старым способом:

# service named restart
Stopping named.
Starting named.

Теперь сервером можно управлять с помощью команд утилиты rndc.

Перезапустить named:

# rndc reload
WARNING: key file (/etc/namedb/rndc.key) exists, but using default configuration file (/et

FreeBSD. DNS сервер своими руками при помощи Bind9 / Мастерская интернет-разработчика

26 августа 2009 г.

Bind

DNS

FreeBSD

Привет, сегодня поднимем свой сервер имен, для того чтобы связать доменные имена с ip-адресами. Для этого нам понадобиться минимум один выделенный сервер с установленной FreeBSD.

Установка Bind9

Перед установкой не забудьте обновить порты.

# cd /usr/ports/dns/bind9
# make install clean
# rehash

Теперь добавим автозагрузку бинда в /etc/rc.conf

named_enable="YES"
named_uid="bind"
named_chrootdir=""
named_flags="-s"

И перезагрузим сервак

# reboot

Настройка Bind9

Откройте для редактирования файл named.conf

# ee /etc/namedb/named.conf

И вставьте следующие директивы:

options {
        directory       "/etc/namedb";
        pid-file        "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file "/var/stats/named.stats";

        // Изменяем название, ниже расскажу зачем
        version "adw0rd dns";

        // Добавляем локальные "ip-адреса dns-серверов" вашего провайдера
        // их можно посмотреть в /etc/resolv. conf (директива "nameserver") или через утилиту nslookup
        forwarders {
                82.146.59.250;
        };

}

Рестартим bind:

# /etc/rc.d/named restart

Утилита rndc

Перейдите в каталог named:

# cd /etc/namedb/

И посмотрите, есть ли у вас файл «rndc.key», если есть, то можете пропустить этот шаг, а если нет, то вам надо его сгененировать:

# rndc-confgen

И он выдаст примерно следующее:

# Start of rndc.conf
key "rndc-key" {
        algorithm hmac-md5;
        secret "NrDcqVcbML1XI0ZLmRrmaQ==";
};

options {
        default-key "rndc-key";
        default-server 127.0.0.1;
        default-port 953;
};

Для того чтобы сразу сохранить ключ в файл, не копируя его содерджимое, запустите с флагом

rndc-confgen -a

Создайте файл «/etc/namedb/rndc. key» и вставьте туда эти данные:

key "rndc-key" {
        algorithm hmac-md5;
        secret "NrDcqVcbML1XI0ZLmRrmaQ==";
};

Теперь пришла очередь добавлять наш первый домен, который будет играть роль «мастер нс-сервера», для того, чтобы потом другие домена использовать именно его.

Поднимаем свой master-сервер (ns1)

Для начала необходимо добавить запись о домене в named.conf, добавляйте в конец файла:

zone "adw0rd.ru" {
        type master;
        file "master/adw0rd.ru";
};

Теперь, с помощью утилиты «make-localhost» создайте первый свой master-файл, далее можно будет просто копировать любой master-файл и изменять его для других доменов.

Иногда нет этого файла в стандартной поставке, можете его скачать тут.
Вот еще могут пригодится PROTO.localhost.rev и PROTO.localhost-v6.rev.

Запускаем make-localhost, но не забудьте установить для него права на запуск!

# cd /etc/namedb/
# chmod u+x make-localhost
# . /make-localhost

Теперь скопируем localhost.rev и создадим с помощью него свой master-файл:

# cd /etc/namedb/master/
# cp localhost.rev adw0rd.ru

И доведем до следующего вида:

$TTL    3600
$ORIGIN ru.

adw0rd                      IN SOA  ns1.adw0rd.ru. root.adw0rd.ru. (
                                2009082601   ; serial number
                                43200        ; refresh
                                3600         ; retry
                                604800       ; expire
                                3600       ) ; minimum TTL

$ORIGIN adw0rd.ru.

; первым будет наш ns1.adw0rd.ru
@                     NS       ns1

; второй будет бесплатный сервис ns2.trifle.net, о нем расскажу дальше
@                     NS       ns2.trifle.net.

@                       A       82.146.63.195
localhost               A       127.0.0.1

ns1                     A       82.146.63.195
ns2                     A       195. 24.128.164

www                     A       82.146.63.195
ww                      CNAME   www

Незабываем про «serial number», его надо править при каждом изменении, например, если вы редактируете 26 августа 2009 года, то надо 2009082601, если вы в день много раз редактируете, то увеличивайте две крайние цифры в серийнике на единицу (2009082602, 2009082617 и т.д. до 99). А если редактируете 27 августа 2009, то 2009082701 и т.д.

Теперь, проверим правильность конфига при помощи утилиты named-checkconf, если все в порядке она ничего не ответит, иначе выведет лог ошибок.

# named-checkconf

После запустите «rndc reload»:

# rndc reload

Перезагружаем bind:


# /etc/rc.d/named restart

Поднимаем slave-сервер (ns2)

Для того чтобы использовать свои сервера доменных имен надо минимум два нс-сервера, поэтому надо создать и второй, однако где нам достать еще один сервак? Но это не обязательно, достаточно воспользоваться бесплатными сервисами, вот короткий список сервисов, предостовляющие подобные услуги:

Разберем пример на «ns2. trifle.net», заходим по адресу http://ns2.trifle.net, далее регистрируемся, и авторизовываемся.

Теперь, добавляем нашу домен «adw0rd.ru» и свяжем его с ip-адресом 82.146.63.195

Все, готово!

Проверяем работоспособность

Сначала узнаем, отдает ли нам ns1 данные по домену:


dig @ns1.adw0rd.ru adw0rd.ru

Если выдало примерно следующее:


; <<>> DiG 9.3.4-P1 <<>> @ns1.adw0rd.ru adw0rd.ru
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 3703
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;adw0rd.ru.                       IN      A

;; AUTHORITY SECTION:
ru.                     1814    IN      SOA     ns.ripn.net. hostmaster.ripn.net. 4015239 7200 900 2592000 3600

;; Query time: 10 msec
;; SERVER: 82.146.63.195#53(82.146.63.195)
;; WHEN: Wed Aug 26 12:15:12 2009
;; MSG SIZE  rcvd: 83

то все плохо, думайте над своим мастер-файлом, где то вы накосячили. .. либо не ребутнули неймед-сервак.

А если такое, то все в порядке:


; <<>> DiG 9.3.4-P1 <<>> @ns1.adw0rd.ru adw0rd.ru
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22582
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;adw0rd.ru.                     IN      A

;; ANSWER SECTION:
adw0rd.ru.              3600    IN      A       82.146.63.195

;; AUTHORITY SECTION:
adw0rd.ru.              3600    IN      NS      ns1.adw0rd.ru.
adw0rd.ru.              3600    IN      NS      ns2.trifle.net.

;; ADDITIONAL SECTION:
ns1.adw0rd.ru.         3600    IN      A       82.146.63.195
ns2.trifle.net.         166787  IN      A       195.24.128.164

;; Query time: 3 msec
;; SERVER: 82.146.63.195#53(82.146.63.195)
;; WHEN: Wed Aug 26 12:16:14 2009
;; MSG SIZE  rcvd: 129

Теперь вы можете вписать у регистратора — свои DNS сервера, примерно так:


ns1. adw0rd.ru 82.146.63.195
ns2.trifle.net

Адрес «82.146.63.195» необходим тут, для того чтобы домен делегировался корректно, так как сейчас ваш домен еще не связан… 😉

Для других доменов, например «blgo.ru» достаточно


ns1.adw0rd.ru
ns2.trifle.net
Как узнать версию программного обеспечения DNS сервера?

Помните, я в конфиге «named.conf» установил директиву «version» и сказал что позже объясню зачем… А нужно это для того, чтобы кулхацкеры не узнали версию бинда, потом они могут сделать очень забавные вещи, погуглите на эту тему и все узнаете.

Выполните команду


# dig @ns1.adw0rd.ru version.bind chaos txt

и вы увидите версию бинда…

P.S.

Ну вот вроде и все, задавайте вопросы, укажите на неописанные нюансы, чем смогу — тем помогу!

Простая настройка Samba на FreeBSD

Попросил тут товарищ совета по организации “расшаренных” папок под FreeBSD. А тут как раз и материал на сайт размещать надо! В общем сели думать.

Samba!

Самба – программное решение, позволяющее общаться по сети операционным системам Windows и *nix семейств. Доступ к папкам, принтерам, чуть ли не домен ). В общем то, что нужно!

Установка Samba.

Ставим samba34 (хотя на этот момент доступна в портах 36) из портов.

# cd /usr/ports/net/samba34
# make config && make && make install && make clean && rehash

Все опции, которые запрашивал конфигуратор – я оставил по-умолчанию. После непродолжительной инсталляции у нас всё готово!

Конфигурация rc.conf под Samba.

Открываем файл /etc/rc.conf и дописываем в него следующие строчки:

nmbd_enable="YES"

smbd_enable="YES"

К слову сказать, nmbd обеспечивает клиентам поддержку сервера имен NetBIOS.

Конфигурация Samba.

Основной файл конфига smb.conf. Открываем его простеньким текстовым редактором:

# ee /usr/local/etc/smb.conf

Ищем раздел [global]

workgroup = domain.net

netbios name = fileshare

security = SHARE

Создадим шаро-папку, для этого допишем в конце (создадим свою секцию)

[sharopapka]

path = /var/share

read only = No

guest ok = Yes

Убедимся, что на диске папка создана, если нет – создаём её.

# mkdir /var/share

Таких папок можно создать сколько угодно!

Стартуем сервис Samba

# /usr/local/etc/rc.d/samba start

И пробуем войти на нашу машину набрав в адресной строке проводника \\наше_имя или IP.

В последующих материалах я обязательно рассмотрю более подробную настройку samba!

BIND — ArchWiki

Эта статья или раздел требует улучшения языка, синтаксиса вики или стиля. Для справки см. Help: Style

Причина: Многочисленные проблемы со стилем и содержанием. (Обсудить в Обсуждении: BIND #)

BIND (или именованный) — наиболее широко используемый сервер системы доменных имен (DNS).

Примечание: Организация, разрабатывающая BIND, рассылает уведомления о безопасности платящим клиентам за четыре дня до выпуска дистрибутивов Linux или широкой публики. [1]

Установка

Установите пакет привязки.

Запустить / включить named.service systemd unit.

Чтобы использовать DNS-сервер локально, используйте сервер имен 127.0.0.1 (то есть клиенты, такие как Firefox, разрешают через 127.0.0.1), см. Разрешение доменного имени.
Однако это потребует от вас # Разрешить рекурсию, в то время как брандмауэр может блокировать внешние запросы к вашему локальному имени.

Конфигурация

BIND настроен в /etc/ named.conf . Доступные параметры задокументированы в named. conf (5).

Перезагрузите устройство named.service , чтобы применить изменения конфигурации.

Ограничить доступ к localhost

BIND по умолчанию прослушивает порт 53 всех интерфейсов и IP-адресов. Чтобы разрешить соединения только с localhost, добавьте следующую строку в раздел параметров в /etc/ named.conf :

 прослушивание {127.0.0.1; };
 

Настроить перенаправление DNS

Чтобы заставить BIND пересылать DNS-запросы на другой DNS-сервер, добавьте условие пересылки в раздел параметров.

Пример пересылки BIND на DNS-серверы Google:

Экспедиторы

 {8.8.8.8; 8.8.4.4; };
 

Шаблон конфигурации для запуска домена

Ниже приводится простой настраиваемый домашний сервер имен, использующий domain.tld в качестве домена, обслуживаемого во всем мире, как и домен archlinux.org в этой вики.

Более сложным примером является DNS-сервер с BIND9, а он показывает, как настроить разрешение имен внутренней сети.

Создание файла зоны

Создайте /var/ named/domain.tld.zone .

 $ TTL 7200
; domain.tld
@ В SOA ns01.domain.tld. postmaster.domain.tld. (
                                        2018111111; Серийный
                                        28800; Обновить
                                        1800; Повторить
                                        604800; Срок действия - 1 неделя
                                        86400); TTL отрицательного кэша
                IN NS ns01
                IN NS ns02
ns01 В А 0.0,0.0
ns02 IN A 0.0.0.0
localhost В 127.0.0.1
@ IN MX 10 почта
imap В почте CNAME
smtp В почте CNAME
@ IN A 0.0.0.0
www IN A 0.0.0.0
mail IN A 0.0.0.0
@ IN TXT "v = spf1 mx"
 

$ TTL определяет время жизни по умолчанию в секундах для всех типов записей. Вот это 2 часа.

Последовательный номер должен быть увеличен на вручную перед перезапуском named каждый раз, когда вы изменяете запись ресурса для зоны.В противном случае ведомые устройства не будут повторно передавать зону: они сделают это только в том случае, если серийный номер на больше , чем тот, который был при последнем переносе зоны.

Настройка мастер-сервера

Добавьте свою зону в /etc/ named.conf :

 зона "domain.tld" IN {
        тип мастер;
        файл "domain.tld.zone";
        разрешить обновление {нет; };
        уведомить нет;
};
 

Перезагрузите модуль named.service , чтобы применить изменение конфигурации.

Разрешить рекурсию

Если у вас есть собственный DNS-сервер, вы можете использовать его для всех DNS-запросов или даже локально обслуживать корневую зону самостоятельно, следуя RFC: 7706.Для первого потребуется способность выполнять рекурсивных поиска по . Чтобы предотвратить атаки DNS Amplification, рекурсия по умолчанию отключена для большинства преобразователей. По умолчанию файл Arch /etc/ named.conf допускает рекурсию только в интерфейсе loopback:

 разрешить-рекурсию {127.0.0.1; };
 

Фактическая точность данной статьи или раздела оспаривается.

Причина: Сеть LAN не рекурсивна. (Обсудить в Обсуждении: BIND #)

Если вы хотите предоставить службу имен для вашей локальной сети; е.грамм. 192.168.0.0/24, вы должны добавить соответствующий диапазон IP-адресов в /etc/ named.conf :

 разрешить-рекурсию {192.168.0.0/24; 127.0.0.1; };
 

Настройка BIND для обслуживания подписанных DNSSEC зон

Чтобы включить поддержку DNSSEC, вам необходимо добавить «dnssec-enable yes;» в блок /etc/ named.conf «options».
Не забудьте проверить, что «edns» не отключен.

На главном DNS-сервере:

  • генерировать ключи KSK и ZSK:
 $ dnssec-keygen -a NSEC3RSASHA1 -b 2048 -n Пример ЗОНЫ.com
 $ dnssec-keygen -f KSK -a NSEC3RSASHA1 -b 4096 -n ZONE example.com
 
  • изменить конфигурацию зоны:
 зона "example.com" {
       тип мастер;
       разрешить-перевод {...};
       автоматическое поддержание DNS;
       встроенное подписывание да;
       каталог ключей "master /";
       файл "master / example. com.zone";
 };
 

Теперь привязка будет подписывать зону автоматически. (В этом примере предполагается, что все необходимые файлы находятся в / var / named / master /)

Затем следует передать записи DS (из dsset-example.com. file) владельцу родительской зоны, возможно, через веб-сайт вашего регистратора. Он склеивает родительскую зону с вашим KSK.

KSK (и соответствующие записи DS) следует изменять редко, так как это требует ручного вмешательства. ZSK можно менять чаще, поскольку этот ключ обычно короче, чтобы быстрее проверять подпись.

Вы можете запланировать истечение срока действия старого ключа ZSK и сгенерировать новый, используя:

 $ dnssec-settime -I +172800 -D +345600 Kexample.com. + 000 + 111111.key
 $ dnssec-keygen -S Kexample.ком. + 000 + 111111.key -i 152800
 

Bind должен автоматически использовать новый ключ ZSK в соответствующее время.

См. Также

Существуют внешние механизмы, такие как OpenDNSSEC с полностью автоматической сменой клавиш.

Автоматически прослушивать новые интерфейсы

По умолчанию связывание сканирует новые интерфейсы и прекращает прослушивание интерфейсов, которые больше не существуют, каждый час. Вы можете настроить это значение, добавив:

 interface-interval ;
 

параметр в с именем.conf раздел опций. Максимальное значение — 28 дней. (40320 мин.)
Вы можете отключить эту функцию, установив для нее значение 0.

Затем перезапустите службу.

Запуск BIND в хромированной среде

Запуск в среде chroot не требуется, но повышает безопасность.

Создание тюрьмы

Для этого нам сначала нужно создать место для хранения тюрьмы, мы будем использовать / srv / с именем , а затем поместить необходимые файлы в тюрьму.

 mkdir -p / srv / named / {dev и т. Д., Usr / lib / motors, var / {run, log, named}}
 # Скопируйте необходимые системные файлы
 cp -av /etc/{localtime, named. conf} / srv / named / etc /
 cp -av /usr/lib/engines-1.1/* / srv / с именем / usr / lib / Engines /
 cp -av / var / named / * / srv / named / var / named /.
 # Настроить необходимые dev-узлы
 mknod / srv / named / dev / null c 1 3
 mknod / SRV / именованный / dev / random c 1 8
 # Установить право собственности на файлы
 chown -R named: named / srv / named
 

Это должно создать необходимую файловую систему для тюрьмы.

Сервисный файл

Затем нам нужно создать новый служебный файл, который позволит принудительно выполнить привязку к chroot.

 cp -av /usr/lib/systemd/system/ named.service /etc/systemd/system/ named-chroot.service
 

нам нужно отредактировать способ привязки сервисных вызовов.

 /etc/systemd/system/ named-chroot.service 
 ExecStart = / usr / bin / named -4 -f -u named -t "/ srv / named"
 

Теперь перезапустите службу systemd.

См. Также

Установите BIND 9 в Ubuntu и настройте его для использования — Linux Hint

Полная форма BIND: B erkeley I nternet N ame D omain — это программное обеспечение DNS-сервера.

DNS-сервер разрешает доменные имена, такие как example.com , в IP-адреса, такие как 192.168.2.10 . Без DNS-сервера вам пришлось бы вводить IP-адрес напрямую, если вы хотите посетить example.com , что, конечно, очень трудно запомнить.

В этой статье я покажу вам, как установить BIND версии 9 (последней на момент написания) и настроить ее для разрешения доменных имен по вашему выбору в Ubuntu 18.04 LTS. Я также покажу вам, как использовать команду dig для проверки конфигурации DNS.Давайте начнем.

BIND 9 доступен в официальном репозитории пакетов Ubuntu 18.04 LTS. Так что установка очень проста. Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:

Кэш репозитория пакетов APT должен быть обновлен.

Теперь установите BIND 9 с помощью следующей команды:

Теперь нажмите y , а затем нажмите , чтобы продолжить.

BIND 9 установлен.

Теперь выполните следующую команду, чтобы проверить правильность установки BIND:

Настройка BIND 9:

Все файлы конфигурации BIND 9 находятся в каталоге / etc / bind и / var / cache / bind .

Основными файлами конфигурации являются named.conf , named.conf.default-zone , named.conf.local и named.conf.options , как показано на снимке экрана ниже.

Вы также создаете много файлов зон в каталоге / var / cache / bind .Файл зоны содержит информацию об определенном доменном имени и его поддоменах. Это простой текстовый файл.

Например, информация о домене / зоне example.com будет храниться в текстовом формате в файле зоны, таком как db.example.com в каталоге / var / cache / bind .

Теперь я собираюсь создать простой файл зоны для example.com и показать вам, как настроить собственные DNS-имена с помощью BIND 9.

Сначала перейдите в каталог / var / cache / bind с помощью следующей команды:

Теперь создайте новый файл db.example.com и откройте его в текстовом редакторе nano (если вы хотите следовать за ним) с помощью следующей команды:

$ sudo nano db.example.com

Теперь введите следующие строки и сохраните файл с + x , затем нажмите y , а затем нажмите .

Теперь выполните следующую команду, чтобы проверить, не допустили ли вы ошибок в файле зоны:

Пример

$ named-checkzone.com db.example.com

ПРИМЕЧАНИЕ. Здесь example.com — это доменное имя, а db.example.com — это файл зоны для доменного имени example. com .

Как видите, файл зоны db.example.com — это OK .

Теперь вы должны указать bind загрузить файл данных db.example.com для зоны example.com .

Для этого откройте файл /etc/bind/ named.conf.local с помощью следующей команды:

$ sudo nano / etc / bind / named.conf.local

Теперь добавьте следующие строки, как отмечено на скриншоте ниже, и сохраните файл.

Теперь перезапустите службу BIND 9 с помощью следующей команды:

$ sudo systemctl перезапуск bind9

Должна быть загружена новая зона.

Тестирование конфигурации BIND 9 с помощью dig:

dig используется для запроса к DNS-серверу и отображения записей DNS любой зоны DNS.

Например, чтобы перечислить все записи example.com, которую мы создали ранее, выполните следующую команду:

$ dig @ 192. 168.11.51 example.com любой

ПРИМЕЧАНИЕ: Здесь @ 192.168.11.51 используется, чтобы сообщить dig использовать сервер имен 192.168.11.51. Это IP-адрес моего компьютера, на котором работает BIND 9. Если вы не знаете IP-адрес своего компьютера, запустите команду ip addr , чтобы увидеть IP-адрес вашего компьютера.

Как вы можете видеть в отмеченном разделе на скриншоте ниже, BIND 9 может разрешить пример.com на IP-адреса правильно.

Как видите, я также могу разрешить www.example.com, используя свой собственный DNS-сервер.

Настройка первичного DNS-сервера в Ubuntu 18.04 LTS:

Ubuntu 18.04 LTS использует systemd-resolve для разрешения имен хостов DNS. Он также кэширует результаты DNS. В этом разделе я покажу вам, как установить собственный DNS-сервер в качестве основного DNS-сервера в Ubuntu 18.04 LTS с помощью systemd-resolve .

Сначала откройте файл конфигурации для systemd-resolve с помощью следующей команды:

$ sudo nano / etc / systemd / решено.conf

Теперь замените # DNS = на DNS = IP_ADDR , как показано в отмеченном разделе на снимке экрана ниже. Здесь IP_ADDR — это IP-адрес вашего сервера BIND 9.

Теперь сохраните файл и перезагрузите компьютер с помощью следующей команды:

После запуска компьютера выполните следующую команду, чтобы проверить основной DNS-сервер:

$ systemd-resolve —status

Как видите, первичный DNS-сервер настроен на 192.168.11.51, тот, который я ставил ранее.

Теперь я могу запустить dig, не говоря уже о том, какой DNS-сервер использовать, и по-прежнему могу разрешить example.com, как вы можете видеть на скриншоте ниже.

$ dig + noall + answer example.com любой

Как видите, я также могу пропинговать www. example.com .

Общие сведения о формате файла зоны:

Теперь, когда ваш DNS-сервер работает, пришло время узнать больше о файле зоны BIND 9.

Файл зоны db.example.com определяет, как разрешается доменное имя и какой IP-адрес разрешается, почтовые серверы домена, серверы имен домена и многое другое.

В нашем предыдущем файле зоны для example.com $ ORIGIN определяет значение для символа @ . Где бы вы ни выбрали @, будет заменено значением в $ ORIGIN , которым является example.com.

ПРИМЕЧАНИЕ: Не забывайте точку (.) после example.com, поскольку для домена требуется полное доменное имя (полное доменное имя), а без него BIND не будет работать.

Если вы не укажете полное доменное имя в файле зоны BIND, то к имени будет добавлено значение $ ORIGIN . Например, ns1 не является полным доменным именем. Таким образом, ns1 будет ns1.example.com. ( $ ORIGIN добавлено в конце).

@ IN NS ns1 — определяет ns1.example.com. в качестве сервера имен для этой зоны.
нс1 В А 192.168.11.51– устанавливает IP-адрес IPv4 192.168.11.51 для ns1.example.com.
mail IN MX 10 mail — определяет mail.example.com. как почтовый сервер для этой зоны.
mail IN A 192.168.11.51 — устанавливает IP-адрес IPv4 192.168.11.51 для mail.example.com.

Итак, это основы работы файла зоны BIND. Для получения дополнительной информации прочтите документацию BIND по адресу https://www.isc.org/downloads/bind/doc/

.

Спасибо, что прочитали эту статью.

БИНД-9.13.2

Файлы конфигурации

им.conf , root.hints , 127.0.0 , rndc.conf и resolv.conf

Информация о конфигурации

BIND будет настроен для запуска
в chroot тюрьме как
непривилегированный пользователь ( с именем ).
Эта конфигурация более безопасна, поскольку взлом DNS может
влияет только на несколько файлов в с именем пользователя HOME
каталог.

Создайте непривилегированного пользователя и группу с именем :

  groupadd -g 20 с именем &&
useradd -c "Владелец BIND" -g с именем -s / bin / false -u 20 с именем &&
установить -d -m770 -o named -g named / srv / named 
 

Настройте некоторые файлы, каталоги и устройства, необходимые BIND:

  mkdir -p / srv / с именем &&
cd / SRV / с именем &&
mkdir -p dev etc / namedb / {slave, pz} usr / lib / engine var / run / named &&
mknod / srv / named / dev / null c 1 3 &&
mknod / srv / named / dev / urandom c 1 9 &&
chmod 666 / srv / named / dev / {null, urandom} &&
cp / etc / localtime etc &&
коснитесь / SRV / named / managed-keys.# :: '/etc/rndc. conf> /srv/ named/etc/ named.conf 
 

Заполните файл named.conf из
который с именем будет
читать расположение файлов зоны, корневых серверов имен и безопасного DNS
ключи:

  cat >> /srv/ named/etc/ named.conf << "EOF"
  options {
    каталог "/ etc / namedb";
    pid-файл "/var/run/ named.pid";
    файл статистики "/var/run/ named.stats";

};
зона »."{
    подсказка типа;
    файл "root.hints";
};
зона "0.0.127.in-addr.arpa" {
    тип мастер;
    файл "pz / 127.0.0";
};

// Bind 9 теперь по умолчанию ведет журнал через системный журнал (кроме отладки).
// Это правила ведения журнала по умолчанию.

Ведение журнала {
    категория по умолчанию {default_syslog; default_debug; };
    категория не соответствует {null; };

  channel default_syslog {
      демон системного журнала; // отправляем демону syslog
                                          // объект
      информация о серьезности; // отправляем только информацию о приоритете
                                          // и выше
  };

  channel default_debug {
      файл "с именем. run "; // записываем в named.run in
                                          // рабочий каталог
                                          // Примечание: вместо него используется stderr
                                          // из "named.run"
                                          // если сервер запущен
                                          // с опцией '-f'.
      выраженность динамическая; // войти на сервер
                                          // текущий уровень отладки
  };

  channel default_stderr {
      stderr; // пишет в stderr
      информация о серьезности; // отправляем только информацию о приоритете
                                          // и выше
  };

  channel null {
      значение NULL; // отбрасываем все, что отправлено
                                          // этот канал
  };
}; 
EOF 
 

Создайте файл зоны со следующим содержимым:

  кот> / SRV / с именем / etc / namedb / pz / 127. 0,0 << "EOF"
  $ TTL 3D
@ IN SOA ns.local.domain. hostmaster.local.domain. (
                        1; Серийный
                        8H; Обновить
                        2H; Повторить
                        4Вт; Срок действия
                        1D); Минимальный TTL
                NS ns.local.domain.
1 локальный хост PTR. 
EOF 
 

Создайте файл root.hints с
следующие команды:

Заметка

Следует проявлять осторожность, чтобы убедиться, что в
этот файл.

  cat> /srv/ named/etc/ namedb/root.hints << "EOF"
 . 6D В NS A.ROOT-SERVERS.NET.
. 6D В NS B.ROOT-SERVERS.NET.
. 6D В NS C.ROOT-SERVERS.NET.
. 6D В NS D.ROOT-SERVERS.NET.
. 6D В NS E.ROOT-SERVERS.NET.
. 6D В NS F.ROOT-SERVERS.NET.. 6D В NS G.ROOT-SERVERS.NET.
. 6D В NS H.ROOT-SERVERS.NET.
. 6D В NS I. ROOT-SERVERS.NET.
. 6D В NS J. ROOT-SERVERS.NET.
. 6D В NS K.ROOT-SERVERS.NET.
. 6D В NS L.ROOT-SERVERS.NET.
. 6D В NS M.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 6D IN A 198.41.0.4
A.ROOT-SERVERS.NET. 6D IN AAAA 2001: 503: ba3e :: 2: 30
B.ROOT-SERVERS.NET. 6D В А 192.228.79.201
B.ROOT-SERVERS.NET. 6D IN AAAA 2001: 500: 200 :: b
C.ROOT-SERVERS.NET. 6D В А 192.33.4.12
C.ROOT-SERVERS.NET. 6D IN AAAA 2001: 500: 2 :: c
D.ROOT-SERVERS.NET. 6D IN A 199.7.91.13
D.ROOT-SERVERS.NET. 6D IN AAAA 2001: 500: 2d :: d
E.ROOT-SERVERS.NET. 6D В А 192.203.230.10
E.ROOT-SERVERS.NET. 6D IN AAAA 2001: 500: a8 :: e
Ф.ROOT-SERVERS.NET. 6D В А 192.5.5.241
F.ROOT-SERVERS.NET. 6D В AAAA 2001: 500: 2f :: f
G.ROOT-SERVERS.NET. 6D В А 192.112.36.4
G.ROOT-SERVERS.NET. 6D В AAAA 2001: 500: 12 :: d0d
H.ROOT-SERVERS.NET. 6D IN A 198.97.190.53
H.ROOT-SERVERS.NET. 6D IN AAAA 2001: 500: 1 :: 53
I.ROOT-SERVERS.NET. 6D В А 192.36.148.17
I.ROOT-SERVERS.NET. 6D IN AAAA 2001: 7fe :: 53
J.ROOT-SERVERS.NET. 6Д В А 192.58.128.30
J.ROOT-SERVERS. NET. 6D IN AAAA 2001: 503: c27 :: 2: 30
K.ROOT-SERVERS.NET. 6D В А 193.0.14.129
K.ROOT-SERVERS.NET. 6D IN AAAA 2001: 7fd :: 1
L.ROOT-SERVERS.NET. 6D IN A 199.7.83.42
L.ROOT-SERVERS.NET. 6D IN AAAA 2001: 500: 9f :: 42
M.ROOT-SERVERS.NET. 6D В А 202.12.27.33
M.ROOT-SERVERS.NET. 6D IN AAAA 2001: dc3 :: 35 
EOF 
 

Файл root.hints представляет собой список
корневые серверы имен.Этот файл необходимо периодически обновлять с помощью
утилита dig . А
текущую копию root.hints можно получить по адресу ftp://rs.internic.net/domain/ named.root.
Для получения дополнительной информации см. «Справочное руководство администратора BIND 9»,
включены в каждый исходный архив BIND 9, распространяемый ISC, в
Форматы HTML и PDF, также доступные в BIND 9
Справочное руководство администратора.

Создайте или измените разрешение . conf для использования
новый сервер имен с помощью следующих команд:

Заметка

Замените на
ваше собственное действующее доменное имя.

  cp /etc/resolv.conf /etc/resolv.conf.bak &&
cat> /etc/resolv.conf << "EOF"
  поиск     
сервер имен 127.0.0.1 
EOF 
 

Установите разрешения на chroot jail с помощью следующих
команда:

  chown -R имя: named / srv / named 
 

Тестирование BIND

Попробуйте новый BIND 9
установка. Сначала запросите адрес локального хоста с помощью
раскопать :

  копать -x 127. 0,0.1 
 

Теперь попробуйте поискать по внешнему имени, принимая во внимание скорость
разница в повторных поисках из-за кеширования. Запустить
dig команда дважды
по тому же адресу:

  dig www.linuxfromscratch.org &&
копать www.linuxfromscratch.org 
 

Вы можете увидеть почти мгновенные результаты с именованным кешированием
поиски. Проконсультируйтесь с BIND
Справочное руководство администратора расположено по адресу doc / arm / Bv9ARM.html в дереве исходного кода пакета,
для дальнейших опций конфигурации.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *