Linux
  • << DEBIAN >>
  •   < Debian 9 >
  •     Инсталиране на Debian 9
  •     Първоначални настройки (мрежа, VIM, Кирилизация)
  •     Инсталиране и настройка на SSH
  •     Инсталиране и настройка на DNS
  •     Инсталиране и настройка на NTP
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на MySQL (MariaDB)
  •     Инсталиране и настройка на PHPMyAdmin
  •     Инсталиране и настройка на собствен облак
  •     Инсталиране и настройка на SAMBA
  •     Инсталиране и настройка на FTP сървър
  •     Инсталиране и настройка на OSCAM
  •     Инсталиране и настройка на Mail server
  •       Първоначално конфигуриране на базата данни
  •       Инсталиране и конфигуриране на PostFix
  •       Инсталиране и конфигуриране на Dovecot
  •       PostFix дефинира Dovecot да удостоверява
  •       RoundCube
  •       Тестване доставката на поща
  •       Създаване на TLS криптиран ключ и сертификат
  •       WEB администриране
  •       Антиспам със SpamAssassin
  •       Антиспам с RSpmad
  •   < Debian 11 >
  •     Как зарежда Linux
  •     Разпределение на диска при BIOS и UEFI
  •     Debian 11 на BIOS върху LVM и RAID
  •     Инсталиране на Debian 11 на BIOS и ZFS
  •     Инсталиране на Debian 11 на BIOS и ZFS-1
  •     Инсталиране на Debian 11 на UEFI и ZFS
  •     ZFS Замяна на развален огледален диск
  •     Ремонт на GRUB и INITRAMFS
  •   < Debian 12 >
  •     Първоначални настройки
  •     DNS Сървър
  •     DNS Практика
  •     Инсталиране и настройка на Apache
  •     MySQL и PHPMyAdmin
  •     Елементарен MAIL сървър
  •       Първо надграждане на MAIL сървъра
  •     Инсталиране и настройка на пощенски сървър
  •     Пощенски сървър с iRedMail и PHPMyAdmin
  •     WEB сървър с Nginx
  •   Сървър на отделни хостове
  •     DNS Сървър
  •     SQL Сървър
  •     WEB Сървър
  •     Пощенски Сървър
  •   PXE Server
  •   PXE UEFI Server - TFTP
  •   Сървър за отдалечен достъп - RustDESK
  • < UBUNTU >
  •   Ubuntu SERVER 22.04
  •     Инсталиране на Ubuntu 22.04 Server
  •     Първоначални настройки на Ubuntu 22.04 Server
  •     DNS в Ubuntu 22.04 Server
  •     MySQL Apache PHPMyAdmin
  •     Пощенски сървър
  •       Пощенски сървър в опростен вариант
  •       PostFix, Dovecot по-подробно
  •   Ubuntu mini
  •   Ubuntu BUDGIE
  •     Инсталиране Ubuntu BUDGIE
  •     Първоначални настройки на Ubuntu BUDGIE
  •     Ubuntu BUDGIE като MAC OS
  •     Приложения за Ubuntu BUDGIE
  • GNOME работна среда
  •   Ubuntu GNOME
  •     Инсталиране на Ubuntu 21.04 GNOME
  •     Ubuntu 21.04 GNOME като MacOS
  • XFCE работна среда
  •   Debian - Install XFCE
  •     Debian XFCE - допълнение
  •     Debian XFCE като MacOS
  •   Ubuntu - Install XFCE
  •     Ubuntu XFCE - допълнение
  •     Ubuntu XFCE като MacOS
  • МАТЕ работна среда
  •   Debian - Install MATE
  •     Настройка на Debian MATE
  • PROGRAMS
  •   Conky
  •   Sublime Text
  • Инсталиране и настройка на DNS

    За да работи правилно един DNS сървър трябва да се пренасочи порт 53 от рутера към хоста(сървъра), като протокола да е UDP. Следващото нещо е да се инсталира и самата услуга.

    # apt-get install bind9 bind9utils dnsutils


    Конфигурационните файлове на BIND се намират в /etc/bind. След като сме инсталирали услугата ще трябва да я конфигурираме. И ще започнем с конфигурационните файлове които дойдоха с инсталацията. Първия е /etc/bind/named.conf.options

    # vi /etc/bind/named.conf.options options { directory "/var/cache/bind"; # dnssec-validation auto; auth-nxdomain no; # conform to RFC1035 # listen-on-v6 { any; }; };


    Следва да редактираме и основния конфигурационен файл.

    # vi /etc/bind/named.conf ### Търсим реда: include "/etc/bind/named.conf.default-zones"; ### И под него добавяме следното: include "/etc/bind/my-files/named.conf.my-zones";

    Така дефинирахме, че в директория /etc/bind/my-files/ ще се помещава конфигурационен файл named.conf.my-zones. Първо създаваме директорията за конфигурационните файлове.

    # mkdir /etc/bind/my-files


    Време е за зоновия файл.

    # vi /etc/bind/my-files/named.conf.my-zones zone "tachko.com" { type master; file "/etc/bind/my-files/tachko.com.db"; }; zone "tlan.net" { type master; file "/etc/bind/my-files/tlan.net.db"; }; zone "10.in-addr.arpa" { type master; file "/etc/bind/my-files/10.db"; }; zone "78.160.109.in-addr.arpa" { type master; file "/etc/bind/my-files/78.160.109.db"; };

    От файла се вижда, че трябва да се създадат 4 зонови файла tachko.com.db, tlan.net.db, 10.db и 78.160.109.db . Има опция да се опише всичко в един файл но ще го оставим за накрая като вариант. Сега малко теория. Зоните се състоят от:

    Start of Authority (SOA) записи във вид

    <domain.name.> IN SOA <hostname.domain.name.>

    • <mailbox.domain.name>
    • <serial-number>
    • <refresh>
    • <retry>
    • <expire>
    • <minimum-ttl>

    Вместо domain.name може просто да се сложи @

    На практика знака @ получава значение от зоновия файл. Примерно в зоновия файл имаше zone "tachko.com" и така @ ще получи значение tachko.com Следващата част от зоната се нарича:

    Nameserver (NS) записи

    <domain.name.> IN NS <hostname.domain.name.>


    Пример:

    owner-name ttl class rr pref name
    example.com. 3w IN MX 10 mail.example.com.

    Прекъсваме теорията за малко практика. Като за начало мъгляво може да се струва но по-надолу ще стане ясно. Продължаваме с нашите конфигурационни файлове.

    # vi /etc/bind/my-files/tachko.com.db $TTL 3600 tachko.com. IN SOA home.tachko.com. root.tachko.com. ( 2016042401 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Minimum ; Define Name Server IN NS home.tachko.com. IN NS post.tachko.com. IN NS 1234567890.sn.mynetname.net. ; Define Mail Exchanger IN MX 10 post.tachko.com. IN MX 20 home.tachko.com. ; Define name server's IP address IN A 109.160.78.116 ; Define IP address of a hostname post IN A 109.160.78.116 home IN A 109.160.78.103 ceno IN A 82.137.80.140 ; Aliases www IN CNAME post mail IN CNAME post cloud IN CNAME post test IN CNAME 1234567890.sn.mynetname.net. ; Дефиниране на под-домейн example.tachko.com $ORIGIN example.tachko.com. @ IN NS ns1.example.tachko.com. IN NS post.tachko.com. ns1 IN A 109.160.78.103


    По същия начин създаваме и файл за зоната tlan.net

    # vi /etc/bind/my-files/tlan.net.db $TTL 3600 tlan.net. IN SOA home.tlan.net. root.tlan.net. ( 2016042401 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Minimum ; Define Name Server IN NS home.tlan.net. IN NS post.tlan.net. IN NS 1234567890.sn.mynetname.net. ; Define Mail Exchanger IN MX 10 post.tlan.net. IN MX 20 home.tlan.net. ; Define name server's IP address IN A 109.160.78.116 ; Define IP address of a hostname post IN A 109.160.78.116 home IN A 109.160.78.103 ceno IN A 82.137.80.140 ; Aliases www IN CNAME post mail IN CNAME post cloud IN CNAME post test IN CNAME 1234567890.sn.mynetname.net. ; Дефиниране на под-домейн example.tlan.net $ORIGIN example.tlan.net. @ IN NS ns1.example.tlan.net. IN NS post.tlan.net. ns1 IN A 109.160.78.103


    ВНИМАНИЕ, ако в зоновия файл съществува ред от рода: "test.tlan.net IN A 10.0.0.1", то този запис ще се предаде нагоре по веригата и за целия свят test.tlan.net ще притежава IP:10.0.0.1. Това не е публично IP и такива записи не трябва да има. Всичко това се оправя с рестрикции но за сега няма да задълбаваме.


    Сега да дефинираме и реверсните зони:

    # vi /etc/bind/my-files/10.db $TTL 3600 @ IN SOA home.tachko.com. root.tachko.com. ( 2016042401 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Minimum ; Define Name Server - tachko.com @ IN NS tachko.com. IN PTR tachko.com. 5.0.25 IN PTR tachko.com. ; Define Name Server - tlan.net @ IN NS tlan.net. IN PTR tlan.net. 5.0.25 IN PTR tlan.net.

    Както забелязвате на виртуалната машина с IP от локалната мрежа 10.25.0.5 имаме дефинирани два домейна - tachko.com и tlan.net Сега да дефинираме реверсните зони на двата домейна за реалното IP

    # vi /etc/bind/my-files/78.160.109.db $TTL 3600 @ IN SOA home.tachko.com. root.tachko.com. ( 2016042401 ; Serial 10800 ; Refresh 3600 ; Retry 604800 ; Expire 86400 ) ; Minimum ; Define Name Server - tachko.com @ IN NS tachko.com. IN PTR tachko.com. 116 IN PTR tachko.com. ; Define Name Server - tlan.net @ IN NS tlan.net. IN PTR tlan.net. 116 IN PTR tlan.net.


    За да проверим как работи DNS сървъра ще трябва да накараме да се ресолва от само себе си

    # vi /etc/resolv.conf domain tlan.net search tlan.net nameserver 127.0.0.1


    Рестартираме услугата

    # /etc/init.d/bind9 restart [ ok ] Restarting bind9 (via systemctl): bind9.service.


    И сега тестове за правилната работа на DNS-a

    # nslookup > server 10.25.0.5 Default server: 10.25.0.5 Address: 10.25.0.5#53 > set q=soa > tachko.com Server: 10.25.0.5 Address: 10.25.0.5#53 tachko.com origin = home.tachko.com mail addr = root.tachko.com serial = 2008013002 refresh = 10800 retry = 3600 expire = 604800 minimum = 86400 > tlan.net Server: 10.25.0.5 Address: 10.25.0.5#53 tlan.net origin = home.tlan.net mail addr = root.tlan.net serial = 2008013002 refresh = 10800 retry = 3600 expire = 604800 minimum = 86400 > exit


    До тук добре, сега да тестваме по друг начин

    # dig tachko.com


    Да проверим и MX записисте

    # dig tachko.com mx


    Проверка и на реверсните зони

    # dig -x 10.25.0.5


    И другата реверсна

    # dig -x 109.160.78.103


    Може и по сложна комбинация да се ползва

    # dig tachko.com +short 109.160.78.116


    По същия начин и за MX записите

    # dig tachko.com mx +short 20 home.tachko.com. 10 home.tachko.com.

    и в този дух може да се направят най-различни тестове за работоспособността на DNS-a За сега толкова, с уговорката, че информацията която е дадена е само базисна. За да се научите ще трябва да прочетете малко повече или да се поровите в GOOGLE