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 в Debian 12

    https://www.angald.ru/ustanovka-i-nastrojka-bind-na-debian/

    В тази статия ще се демонстрира наличието на два DNS сървъра. Единия ще е master, а другия slave. Двата сървъра ще имат публично IP. Ще се използва dnssec за повишаване на защитните свойства на домейна. IPv6 няма да се ползва. - master DNS server IP: 109.160.80.230 - slave DNS server IP: 185.163.245.186 - zone: tlan.net

    Инсталиране на BIND

    apt install bind9 dnsutils -y

    Сега създаваме директория за файлове-ключове на зоната.

    mkdir /etc/bind/keys

    Настройка на BIND

    Общи нстройки

    nano /etc/bind/named.conf.options options { directory "/var/cache/bind"; allow-query { any; }; version "DNS TLan.NET"; allow-recursion { none; }; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; listen-on-v6 { any; }; };

    allow-query { any; }; - отговаря на всички DNS запитвания version «DNS TLan.NET»; - име на сървъра allow-recursion { none; }; - изключваме на рекурсивните запитвания dnssec-enable yes; - включваме dnssec в DNS сървъра dnssec-validation yes; - проверка за вярност на отговорите dnssec-lookaside auto; - разрешаване използването на странични DNSSEC

    Настройка на зоните и DNSSEC (защита)

    nano /etc/bind/named.conf.local zone "tlan.net" IN { type master; file "/etc/bind/tlan.net"; allow-transfer {185.163.245.186;}; allow-update {185.163.245.186;}; notify yes; };

    zone «tlan.net» IN - име на зоната за обслужване type master - тип на записите в сървъра, в случая са master file «/etc/bind/tlan.net» - пър до файла за дефиниране на зоната allow-transfer {185.163.245.186;} - разрешаваме предаване на зоните на slave сървъра с IP:185.163.245.186 allow-update {185.163.245.186;} - разрешаваме обновяване на зоните към slave сървтра notify yes; - автоматично обновяване на подчинения (slave) DNS сървър Дефинираме и самата зона.

    nano /etc/bind/tlan.net $TTL 3600 tlan.net. IN SOA mail.tlan.net. root.tlan.net. ( 2024052301 600 3600 1w 300 ) IN NS mail.tlan.net. IN NS post.tlan.net. IN A 109.160.80.230 mail IN A 109.160.80.230 post IN A 185.163.245.186 www IN A 109.160.80.230

    $TTL 3600 — время жизни tlan.net. IN SOA mail.tlan.net. root.tlan.net. - зона, която обслужва текущия сървър 2024052301 ; - сериен номер на DNS записа 600 ; - време за обърщение към подчинения DNS сървър за следене на изменения на master сървъра 3600 ; - колко време slave сървъра да поддържа записа преди наново да направи нова заявка към master сървъра 1w ; - срок на живот на записа (1 седмица) 300 ; - минимален срок на живота на записа (5 мин.) IN NS mail.tlan.net. ; - NS сървър обслужващ текущата зона IN A 109.160.80.230; - А запис tlan.net Сменяме правата върху файла:

    chown -R bind:bind /var/lib/bind/

    Съхраняваме файла и рестартираме BIND

    systemctl restart bind9.service

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

    named-checkconf -z /etc/bind/named.conf

    До тук всичко е наред. Продължаваме с DNSSEC. За начало преминаваме в папката където ще се намират ключовете.

    cd /etc/bind/keys/tlan.net/

    Генерираме master ключа.

    dnssec-keygen -f KSK -a RSASHA1 -b 2048 -n ZONE -r /dev/urandom tlan.net

    -f KSK - флаг указващ формиране на master ключ -a RSASHA1 - използват алгоритъм за шифроване -b 2048 - размер на ключа в битове -n ZONE - за DNS зони -r /dev/urandom - път към файла със случайни данни. В различните дистрибуции пътя може да се различава. Примерно ако се ползва този път при CentOS, процеса ще зависне. При Debian тази опция не трябва да съществува tlan.net - домейн, за когото се отнася ключа След това генерираме ключа за зони.

    dnssec-keygen -a RSASHA1 -b 2048 -n ZONE -r /dev/urandom tlan.net

    На практика командите няма да тръгнат поради опцията -r /dev/urandom При Debian 12 реалните команди трябва да са:

    dnssec-keygen -f KSK -a RSASHA1 -b 2048 -n ZONE tlan.net dnssec-keygen -a RSASHA1 -b 2048 -n ZONE tlan.net

    Сменяме собственика на файловия ключ.

    chown -R bind:bind /etc/bind/keys chown -R bind:bind /etc/bind/keys/tlan.net

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

    nano /etc/bind/named.conf.local zone "tlan.net" IN { type master; file "/etc/bind/tlan.net"; key-directory "/etc/bind/keys/tlan.net"; auto-dnssec maintain; inline-signing yes; allow-transfer {185.163.245.186;}; allow-update {185.163.245.186;}; notify yes; };

    Добавихме: key-directory «/etc/bind/keys»; - директория с нашите ключове auto-dnssec maintain; - активиране включването на dnssec ключове inline-signing yes; - включва режима на прозрачно формиране на подписа, не трябва да се внасят изменения непосредствено в зоновите файлове Презареждаме конфигурацията на BIND.

    rndc reload

    Проверка на цифровия подпис

    dig DNSKEY tlan.net. @localhost +multiline ; <<>> DiG 9.16.33-Debian <<>> DNSKEY tlan.net. @localhost +multiline ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32269 ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 7ac0fa8ed75a363d010000006613cb12aa8ac326ea754179 (good) ;; QUESTION SECTION: ;tlan.net. IN DNSKEY ;; AUTHORITY SECTION: tlan.net. 3600 IN SOA mail.tlan.net. root.tlan.net. ( 2024040201 ; serial 10800 ; refresh (3 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Mon Apr 08 13:46:42 EEST 2024 ;; MSG SIZE rcvd: 111 dig A tlan.net. @localhost +noadditional +dnssec +multiline ; <<>> DiG 9.16.33-Debian <<>> A tlan.net. @localhost +noadditional +dnssec +multiline ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5983 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 1232 ; COOKIE: 400051ac0f6c2d2c010000006613cb9c76d6c4a727865cb4 (good) ;; QUESTION SECTION: ;tlan.net. IN A ;; ANSWER SECTION: tlan.net. 3600 IN A 109.160.80.230 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Mon Apr 08 13:49:00 EEST 2024 ;; MSG SIZE rcvd: 81

    Записите RRSIG означават, че записите имат цифров подпис. Всичко работи. Остана да получим DS записи за регистъра на демона и да ги подпишем.

    dig @127.0.0.1 dnskey angald.ru | sudo dnssec-dsfromkey -f - angald.ru bla bla bla

    За пояснение трябва да кажем, че тега - това е число 50707. Следват: 8 - това е алгоритъм, 1 или 2 - тип подпис (1 - SHA1, 2 - SHA-256). След като сме добавили DS запис в регистъра, след определено време може да се провери дали всичко работи правилно. Това може да се провери на: https://dnssec-analyzer.verisignlabs.com.

    Настройка на SLAVE сървър

    Няма много обяснения направо се захващаме за работа. Първо инсталираме.

    apt install bind9 dnsutils -y

    Сменяме собственика на BIND.

    chown -R bind:bind /var/lib/bind/

    Общи настройки на BIND

    nano /etc/bind/named.conf.options options { directory "/var/cache/bind"; allow-query { any; }; version "DNS Tlan.NET"; allow-recursion { none; }; dnssec-validation auto; listen-on-v6 { any; }; };

    Добавяме нашата зона.

    nano /etc/bind/named.conf.local zone "tlan.net" IN { type slave; file "/etc/bind/tlan.net"; masters { 109.160.80.230; }; allow-transfer {"none";}; };

    zone «tlan.net» IN - име на зоната за обслужване type slave - тип на сървъра, в случая е slave (подчинен) file "/etc/bind/tlan.net" - път до файла с дефиниране на зоните master { 109.160.80.230; } - IP адреса на master сървъра Презапускаме DNS сървъра

    systemctl restart bind9.service

    Тест на SLAVE DNS сървър

    dig DNSKEY tlan.net. @localhost +multiline dig A tlan.net. @localhost +noadditional +dnssec +multiline

    Използвани материали: https://www.angald.ru/ustanovka-i-nastrojka-bind-na-debian/ https://lyalyuev.info https://www.dmosk.ru https://howitmake.ru