Все статьи связаны непосредственно с ОС Linux: разработка сайтов, поддержка серверов, утилиты и лайфхаки при работе с данной ОС.
К созданию собственных DNS-серверов приходят не сразу, а когда появляется в этом необходимость, например, невозможность или нежелание платить за DNS-хостинг, который имеется у некоторых Регистраторов Доменных имен на платной основе, а также, чтобы контролировать процесс самостоятельно, добавлять любое количество доменных зон и записей к ним. Также, будет полезно, если решите узнать что-то новое для себя.
1. Первым делом заходим в личный кабинет нашего регистратора доменных имен и устанавливаем свои NS-сервера (которые мы далее создадим) для текущего домена:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nsd
3. Далее идем по пути /etc/nsd/ и создаем файл nsd.conf и заполняем следующим образом (оригинальную пасту и информацию смотреть тут):
server:
server-count: 1 # use this number of cpu cores
database: "" # or use "/var/db/nsd/nsd.db"
zonelistfile: "/var/db/nsd/zone.list"
username: nsd
logfile: "/var/log/nsd.log"
pidfile: "/var/run/nsd.pid"
xfrdfile: "/var/db/nsd/xfrd.state"
4. Следующим шагом создаем доменную зону для тестового домена, в данном случае это будет доменное имя artspace.one, по его субдомену и будут находится адреса NS серверов (оригинальную пасту и информацию смотреть тут). Создаем в том же каталоге файл: artspace.one.zone :
$ORIGIN artspace.one.
@ 3600 SOA ns1.artspace.one. (
ns1.artspace.one. ; address of responsible party
2016072701 ; serial number
3600 ; refresh period
600 ; retry period
604800 ; expire time
1800 ) ; minimum ttl
mail 14400 A 204.13.248.106 # IP-адрес для суб-домена mail.artspace.one
www 14400 A 185.255.132.54 # IP-адрес для суб-домена www.artspace.one
ns1 14400 A 45.141.76.240 # IP-адрес для первого NS сервера (текущий)
ns2 14400 A 167.71.63.71 # IP-адрес для второго NS сервера
5. Возвращаемся в файл-конфигурации nsd.conf и добавляем дополнительные записи для нового доменной зоны artspace.one с упоминанием второго NS-сервера и получаем такое содержимое:
server:
server-count: 1 # use this number of cpu cores
database: "" # or use "/var/db/nsd/nsd.db"
zonelistfile: "/var/db/nsd/zone.list"
username: nsd
logfile: "/var/log/nsd.log"
pidfile: "/var/run/nsd.pid"
xfrdfile: "/var/db/nsd/xfrd.state"
zone:
name: artspace.one
zonefile: /etc/nsd/artspace.one.zone
notify: 167.71.63.71 NOKEY # Тут указываем IP-адрес второго NS-сервера
provide-xfr: 167.71.63.71 NOKEY # Тут указываем IP-адрес второго NS-сервера
6. Далее следует запустить наш NSD-сервис:
nsd-control reload
systemctl restart nsd
Проверить, запустился ли сервис можно следующей командой:
systemctl status nsd
Loaded: loaded (/lib/systemd/system/nsd.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-04-05 08:43:52 UTC; 9min ago
...
Main PID: 32083 (nsd)
Tasks: 3
Memory: 52.0M
CPU: 110ms
CGroup: /system.slice/nsd.service
├─32083 /usr/sbin/nsd -d -c /etc/nsd/nsd.conf
├─32088 /usr/sbin/nsd -d -c /etc/nsd/nsd.conf
└─32089 /usr/sbin/nsd -d -c /etc/nsd/nsd.conf
Apr 05 08:43:52 Disturbing systemd[1]: Starting Name Server Daemon...
Apr 05 08:43:52 Disturbing systemd[1]: Started Name Server Daemon.
Также, корректность настройки доменных зон:
root@username:~# nsd-control zonestatus
zone: artspace.one
state: master
Для более детального изучения событий имеется файл с логами, который можно посмотреть так:
cat /var/log/nsd.log
7. Для проверки работоспособности нашей конфигурации следует запустить следующую команду, которая получит IP-адрес для A-записи www.artspace.one :
dig www.artspace.one @127.0.0.1 +short
Если все настроено правильно, то мы получим такой краткий ответ:
root@username:~# dig www.artspace.one @127.0.0.1 +short
185.255.132.54
Также, можно проверить с другой машины/linux vps:
root@byfe:~# dig www.artspace.one +short
185.255.132.54
Как видим, ответы совпадают, значит первый DNS-сервер настроен корректно.
Далее заходим в файл nsd.conf на втором NS-сервере, копируем данные из первого и заменяем Notify на первый NS-сервер и также перезапускаем сервис и проверяем работоспособность:
server:
server-count: 1 # use this number of cpu cores
database: "" # or use "/var/db/nsd/nsd.db"
zonelistfile: "/var/db/nsd/zone.list"
username: nsd
logfile: "/var/log/nsd.log"
pidfile: "/var/run/nsd.pid"
xfrdfile: "/var/db/nsd/xfrd.state"
zone:
name: artspace.one
zonefile: /etc/nsd/artspace.one.zone
notify: 45.141.76.240 NOKEY # Тут указываем IP-адрес первого NS-сервера
provide-xfr: 45.141.76.240 NOKEY # Тут указываем IP-адрес первого NS-сервера
На этом настройку обеих NS-серверов можно считать завершенной. NSD, также, с легкостью переваривает Punny-code сайты, например в момент написания статьи Punny-code: xn--v77hga63i.ml (🇷🇺🍰.ml) с А-записью www. обращается к IP-адресу 46.17.105.86:
dig www.xn--v77hga63i.ml
; <<>> DiG 9.11.3-1ubuntu1.14-Ubuntu <<>> www.xn--v77hga63i.ml
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15735
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.xn--v77hga63i.ml. IN A
;; ANSWER SECTION:
www.xn--v77hga63i.ml. 14399 IN A 46.17.105.86
;; Query time: 1056 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Apr 05 12:14:55 MSK 2021
;; MSG SIZE rcvd: 65
В данной статье хотелось бы затронуть мобильную тематику в популярной RouterOS, а именно подключение 3G/4G(LTE) модемов к роутерам компании MikroTik
Продолжить Чтение...Развернутая инструкция по настройке nginx, Gunicorn и SSL для вашего Django проекта в продакшене.
Продолжить Чтение...Кратчайшая минималистичная инструкция по сборке кластера на ESXI и немного про резервирование
Продолжить Чтение...