Как да конфигурирате DJBDNS на FreeBSD

Как да конфигурирате DJBDNS на FreeBSD

Този урок ще ви покаже как да конфигурирате DNS услуга, която е лесна за поддръжка, лесна за конфигуриране и която като цяло е по-сигурна от класическата услуга BIND. Тази статия предполага, че използвате VPS с инсталиран FreeBSD.

За да започнете, отворете терминала си и инсталирайте този пакет:

<ceph>[~]# pkg install djbdns                                              
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
The following 3 packages will be affected (of 0 checked):

New packages to be INSTALLED:
djbdns: 1.05_20,1
ucspi-tcp: 0.88_2
daemontools: 0.76_17

The process will require 1 MB more space.
251 KB to be downloaded.

Proceed with this action? [y/N]: y
Fetching djbdns-1.05_20,1.txz: 100%  139 KB 142.4k/s    00:01    
Fetching ucspi-tcp-0.88_2.txz: 100%   62 KB  63.1k/s    00:01    
Fetching daemontools-0.76_17.txz: 100%   51 KB  51.7k/s    00:01    
Checking integrity... done (0 conflicting)
[1/3] Installing ucspi-tcp-0.88_2...
[1/3] Extracting ucspi-tcp-0.88_2: 100%
[2/3] Installing daemontools-0.76_17...
[2/3] Extracting daemontools-0.76_17: 100%
[3/3] Installing djbdns-1.05_20,1...
[3/3] Extracting djbdns-1.05_20,1: 100%

Инсталацията автоматично ще инсталира допълнителни пакети ( daemontoolsи ucspi-tcp).

Създайте двама потребители gtinydnsи gdnslog. Започнете с първия потребител:

<ceph>[~]# adduser         
Username: gtinydns
Full name: gtinydns
Uid (Leave empty for default): 
Login group [gtinydns]: 
Login group is gtinydns. Invite gtinydns into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh zsh rzsh nologin) [sh]: nologin
Home directory [/home/gtinydns]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: 
Use an empty password? (yes/no) [no]: 
Use a random password? (yes/no) [no]: yes
Lock out the account after creation? [no]: 
Username   : gtinydns
Password   : <random>
Full Name  : gtinydns
Uid        : 1002
Class      : 
Groups     : gtinydns 
Home       : /home/gtinydns
Home Mode  : 
Shell      : /usr/sbin/nologin
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (gtinydns) to the user database.
adduser: INFO: Password for (gtinydns) is: rTsada2131sa1Mg
Add another user? (yes/no): no
Goodbye!

Сега добавете втория потребител:

<ceph>[~]# adduser
Username: gdnslog
Full name: gdnslog
Uid (Leave empty for default):  
Login group [gdnslog]: 
Login group is gdnslog. Invite gdnslog into other groups? []: 
Login class [default]: 
Shell (sh csh tcsh zsh rzsh nologin) [sh]: nologin
Home directory [/home/gdnslog]: 
Home directory permissions (Leave empty for default): 
Use password-based authentication? [yes]: 
Use an empty password? (yes/no) [no]: 
Use a random password? (yes/no) [no]: yes
Lock out the account after creation? [no]: 
Username   : gdnslog
Password   : <random>
Full Name  : gdnslog
Uid        : 1003
Class      : 
Groups     : gdnslog 
Home       : /home/gdnslog
Home Mode  : 
Shell      : /usr/sbin/nologin
Locked     : no
OK? (yes/no): yes
adduser: INFO: Successfully added (gdnslog) to the user database.
adduser: INFO: Password for (gdnslog) is: jWsdad33aasdaFa0
Add another user? (yes/no): no
Goodbye!

Изпълнете следната команда. Заменете IP адреса с адреса на вашия Vultr сървър.

<ceph>[~]# tinydns-conf gtinydns gdnslog /usr/local/etc/tinydns 108.61.100.100

Тази команда ще създаде директории, файлове и други поддиректории в /usr/local/etc/tinydns. Той също така ще постави IP адреса на VPS в /usr/local/etc/tinydns/env/IP.

Създайте директорията /service.

<ceph>[~]# mkdir /service

Редактирайте вашия /etc/rc.confфайл:

<ceph>[~]# ee /etc/rc.conf

... и и тези редове:

svscan_enable="YES"
svscan_servicedir="/service"

Запазете конфигурацията и стартирайте svscanуслугата:

<ceph>[~]# /usr/local/etc/rc.d/svscan start
Starting svscan.

След това отидете в тази директория:

 <ceph>[~]# cd /usr/local/etc/tinydns/root

Редактирайте dataфайла:

 <ceph>[root]# ee data

... и добавете някои DNS данни:

# domain1.com
Zdomain1.com:dns1.domain1.com.:ns.domain1.com.:2013101203:604800:86400:2419200:604800:3600
&domain1.com::dns1.domain1.com.:3600
&domain1.com::dns2.domain1.com.:3600

# MX
@domain1.com::mail1.domain1.com.:10:3600
@domain1.com::mail2.domain1.com.:30:3600

# IP's (A records)
=dns1.domain1.com:108.61.210.99:3600
=dns2.domain1.com:89.201.163.42:3600
=mail1.domain1.com:89.201.163.42:3600
=mail2.domain1.com:85.114.41.8:3600
=www.domain1.com:108.61.178.194:3600
=test1.domain1.com:193.198.184.100:3600
=test2.domain1.com:108.61.178.215:3600

# Aliases
+domain1.com:108.61.178.194:3600
+smtp.domain1.com:89.201.163.42:3600
+imap.domain1.com:89.201.163.42:3600

Запазете файла и излезте.

бягай ls:

<ceph>[root]# ls
Makefile  add-alias  add-childns  add-host  add-mx  add-ns  data

Преобразувайте вашите текстови данни във формата на базата данни:

<ceph>[root]# make
/usr/local/bin/tinydns-data

Пусни lsотново:

<ceph>[root]# ls
Makefile  add-alias  add-childns  add-host  add-mx  add-ns  data  data.cdb

Забележете data.cdbфайла. Създадохте го с makeкомандата.

И още нещо, създайте символична връзка:

<ceph>[root]# ln -s /usr/local/etc/tinydns /service

Сега тествайте новия си DNS сървър. Заменете 108.61.178.110с IP адреса на вашия сървър.

<ceph>[root]# host www.domain1.com 108.61.178.110 
Using domain server:
Name: 108.61.178.110
Address: 108.61.178.110#53
Aliases: 

www.domain1.com has address 108.61.178.194

Търсене на сървър на имена:

<ceph>[root]# host -t ns domain1.com 108.61.178.110 
Using domain server:
Name: 108.61.178.110
Address: 108.61.178.110#53
Aliases: 

domain1.com name server dns1.domain1.com.
domain1.com name server dns2.domain1.com.

Търсене MX на Mail сървър:

<ceph>[root]# host -t mx domain1.com 108.61.178.110 
Using domain server:
Name: 108.61.178.110
Address: 108.61.178.110#53
Aliases: 

domain1.com mail is handled by 10 mail1.domain1.com.
domain1.com mail is handled by 30 mail2.domain1.com.

Още веднъж, за да се уверите:

<ceph>[root]# host mail1.domain1.com 108.61.178.110 
Using domain server:
Name: 108.61.178.110
Address: 108.61.178.110#53
Aliases: 

mail1.domain1.com has address 89.201.163.42

Честито! Имате работещ DNS сървър. Заменете domain1.comс вашия домейн. След всяка промяна изпълнете makeкомандата, за да създадете нов data.cdbфайл.

Обяснение на файла с данни:

Записите "А" започват със =знак. Псевдоними или CNAME записи със +знак. Пощенските сървъри започват със @знака. Сървъри на имена със &знака.

Пример 1:

=test1.domain1.com:193.198.184.100:3600

=означава "А" запис. test1.domain1.comе DNS името, IP 193.198.184.100е адресът, в който се test1.domain1.comразрешава, а 3600 е TTL (време за живот).

Пример 2:

# MX
@domain1.com::mail1.domain1.com.:10:3600
@domain1.com::mail2.domain1.com.:30:3600

В този пример mail1и mail2са пощенски сървъри за domain1.com. mail1има приоритет 10 и mail2приоритет 30. Това означава, че пощенските сървъри първо ще се опитат да доставят поща до mail1. Ако mail1не успеят, те ще опитат mail2.

Следващият ред маркира началото на информацията за зоната. Задължително е.

Zdomain1.com:dns1.domain1.com.:ns.domain1.com.:2013101203:604800:86400:2419200:604800:3600

2013101203номерът се използва, когато имате вторичен DNS на друг доставчик. Когато промените номера на 2013101204, вторичният DNS ще знае, че има някои промени в DNS и ще вземе промените. Това е само за информативни цели (ще ви е необходима услугата за прехвърляне на AXFR DNS). Като алтернатива можете да копирате и поставите вашите DNS промени между два DJBDNS сървъра с rsyncпрограмата.

Ако имате PF Firewall на вашия FreeBSD сървър, добавете този ред, за да разрешите DNS заявки:

pass quick proto {tcp, udp} from any to $me port 53 flags S/SA keep state 

Как да инсталирате Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS

Как да инсталирате Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS

Използване на различна система? Tiny Tiny RSS Reader е безплатен четец и агрегатор с отворен код, самостоятелно хостван уеб базиран новинарски канал (RSS/Atom), предназначен да

Как да инсталирате Wiki.js на FreeBSD 11

Как да инсталирате Wiki.js на FreeBSD 11

Използване на различна система? Wiki.js е безплатно и модерно уики приложение с отворен код, изградено на Node.js, MongoDB, Git и Markdown. Изходният код на Wiki.js е публичен

Как да инсталирате Pagekit 1.0 CMS на FreeBSD 11 FAMP VPS

Как да инсталирате Pagekit 1.0 CMS на FreeBSD 11 FAMP VPS

Използване на различна система? Pagekit 1.0 CMS е красива, модулна, разширяема и лека, безплатна система за управление на съдържанието (CMS) с отворен код с

Как да инсталирате MODX Revolution на FreeBSD 11 FAMP VPS

Как да инсталирате MODX Revolution на FreeBSD 11 FAMP VPS

Използване на различна система? MODX Revolution е бърза, гъвкава, мащабируема система за управление на съдържанието (CMS) от корпоративен клас, написана на PHP. То и

Настройка на OpenBSD 5.5 64-битов

Настройка на OpenBSD 5.5 64-битов

Тази статия ви превежда през настройката на OpenBSD 5.5 (64-битов) на KVM с Vultr VPS. Стъпка 1. Влезте в контролния панел на Vultr. Стъпка 2. Щракнете върху РАЗГРАЖДАНЕ

Как да инсталирате osTicket на FreeBSD 12

Как да инсталирате osTicket на FreeBSD 12

Използване на различна система? osTicket е система за билети за поддръжка на клиенти с отворен код. Изходният код на osTicket се хоства публично на Github. В този урок

Как да инсталирате Flarum Forum на FreeBSD 12

Как да инсталирате Flarum Forum на FreeBSD 12

Използване на различна система? Flarum е безплатен софтуер за форуми от следващо поколение с отворен код, който прави онлайн дискусията забавна. Изходният код на Flarum се хоства o

Как да активирате TLS 1.3 в Nginx на FreeBSD 12

Как да активирате TLS 1.3 в Nginx на FreeBSD 12

Използване на различна система? TLS 1.3 е версия на протокола за сигурност на транспортния слой (TLS), който беше публикуван през 2018 г. като предложен стандарт в RFC 8446

Инсталирайте WordPress на OpenBSD 6.2

Инсталирайте WordPress на OpenBSD 6.2

Въведение WordPress е доминиращата система за управление на съдържанието в интернет. Той захранва всичко от блогове до сложни уебсайтове с динамично съдържание

Как да инсталирате Subrion 4.1 CMS на FreeBSD 11 FAMP VPS

Как да инсталирате Subrion 4.1 CMS на FreeBSD 11 FAMP VPS

Използване на различна система? Subrion 4.1 CMS е мощна и гъвкава система за управление на съдържанието (CMS) с отворен код, която носи интуитивно и ясно съдържание

Как да конфигурирате DJBDNS на FreeBSD

Как да конфигурирате DJBDNS на FreeBSD

Този урок ще ви покаже как да конфигурирате DNS услуга, която е лесна за поддръжка, лесна за конфигуриране и която като цяло е по-сигурна от класическия BIN

Как да инсталирате стека Nginx, MySQL и PHP (FEMP) на FreeBSD 12.0

Как да инсталирате стека Nginx, MySQL и PHP (FEMP) на FreeBSD 12.0

FEMP стек, който е сравним с LEMP стек в Linux, е колекция от софтуер с отворен код, който обикновено се инсталира заедно, за да даде възможност на FreeBS

Инсталиране на MongoDB на FreeBSD 10

Инсталиране на MongoDB на FreeBSD 10

MongoDB е NoSQL база данни от световна класа, която често се използва в по-новите уеб приложения. Той осигурява заявки с висока производителност, разделяне и репликация

Как да инсталирате Monica на FreeBSD 12

Как да инсталирате Monica на FreeBSD 12

Използване на различна система? Monica е система за управление на лични взаимоотношения с отворен код. Мислете за него като за CRM (популярен инструмент, използван от търговските екипи в th

OpenBSD като решение за електронна търговия с PrestaShop и Apache

OpenBSD като решение за електронна търговия с PrestaShop и Apache

Въведение Този урок демонстрира OpenBSD като решение за електронна търговия, използващо PrestaShop и Apache. Apache е необходим, тъй като PrestaShop има сложен UR

Инсталиране на Fork CMS на FreeBSD 12

Инсталиране на Fork CMS на FreeBSD 12

Използване на различна система? Fork е CMS с отворен код, написан на PHP. Изходният код на Forks се хоства на GitHub. Това ръководство ще ви покаже как да инсталирате Fork CM

Как да инсталирате Directus 6.4 CMS на FreeBSD 11 FAMP VPS

Как да инсталирате Directus 6.4 CMS на FreeBSD 11 FAMP VPS

Използване на различна система? Directus 6.4 CMS е мощна и гъвкава, безплатна и с отворен код Headless Content Management System (CMS), която предоставя на разработчиците

Повишаване на сигурността за FreeBSD с помощта на IPFW и SSHGuard

Повишаване на сигурността за FreeBSD с помощта на IPFW и SSHGuard

VPS сървърите често са насочени от натрапници. Често срещан тип атака се появява в системните регистрационни файлове като стотици неоторизирани опити за влизане в ssh. Настройвам

Настройте httpd в OpenBSD

Настройте httpd в OpenBSD

Въведение OpenBSD 5.6 въведе нов демон, наречен httpd, който поддържа CGI (чрез FastCGI) и TLS. Не е необходима допълнителна работа за инсталиране на новия http

Настройте iRedMail на FreeBSD 10

Настройте iRedMail на FreeBSD 10

Този урок ще ви покаже как да инсталирате груповия софтуер iRedMail на нова инсталация на FreeBSD 10. Трябва да използвате сървър с поне един гигабайт o

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

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

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече