Назад | Перейти на главную страницу

DNS с BIND9 в Debian

Я пытаюсь создать свой собственный DNS с помощью Bind9 и Debian 11. Одна виртуальная машина в Google Computing Engine имеет эту конфигурацию

Сервер 1 Google Cloud IP 35.206.115.212 Файл / etc / hosts

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters
35.206.115.212 ns1.itinfrastructuretest.info ns1
10.128.0.2 instance-1.us-central1-a.c.dns-1902.internal instance-1  # Added by Google
169.254.169.254 metadata.google.internal  # Added by Google

Файл / etc / hostname

ns1

Файл /etc/bind/zones/db.35.206.115

; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     itinfrastructuretest.info. root.itinfrastructuretest.info. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
        IN      NS      ns1.itinfrastructuretest.info.
        IN      NS      ns2.itinfrastructuretest.info.


1       IN      PTR     ns1.itinfrastructuretest.info.
2       IN      PTR     ns2.itinfrastructuretest.info.
3       IN      PTR     www.itinfrastructuretest.info.

Файл /etc/bind/zones/db.itinfrastructuretest.info

$TTL    604800
@       IN      SOA     ns1.itinfrastructuretest.info. root.itinfrastructuretest.info. (
                              5         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;

; Name servers
itinfrastructuretest.info.    IN      NS      ns1.itinfrastructuretest.info.
itinfrastructuretest.info.    IN      NS      ns2.itinfrastructuretest.info.

; A records for name servers
ns1             IN      A       35.206.115.212
ns2             IN      A       15.236.156.144

; Other A records
@               IN      A       15.236.147.109
www             IN      A       15.236.147.109
                IN      TXT     google-site-verification=EdC5AxyrHZ-HnRwyCgjckdIiFgFDzLniOyS2Tm6MwAk
; Mail server MX record

Файл /etc/bind/ named.conf.local

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "itinfrastructuretest.info" {
  type master;
  file "/etc/bind/zones/db.itinfrastructuretest.info";
 allow-transfer { 15.236.156.144; };
};

zone "115.206.35.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/zones/db.35.206.115";
};

Файл /etc/bind/ named.conf.options

options {
        directory "/var/cache/bind";

        dnssec-validation auto;

        listen-on-v6 { any; };

recursion no;
allow-transfer { none; };
auth-nxdomain no;
};

Сервер 2 Amazon Cloud IP 15.236.156.144 Второй сервер на AWS / etc / hosts

# Your system has configured 'manage_etc_hosts' as True.
# As a result, if you wish for changes to this file to persist
# then you will need to either
# a.) make changes to the master file in /etc/cloud/templates/hosts.tmpl
# b.) change or remove the value of 'manage_etc_hosts' in
#     /etc/cloud/cloud.cfg or cloud-config from user-data
#
127.0.1.1 ip-172-31-45-28.eu-west-3.compute.internal ip-172-31-45-28 ns2 ns2
127.0.0.1 localhost
15.236.156.144 ns2.itinfrastructuretest.info ns2
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts


Файл / etc / hostname

ns2

Файл /etc/bind/ named.conf.local

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "itinfrastructuretest.info"{
  type slave;
  file "db.itinfrastructuretest.info";
  masters { 35.206.115.212;};
};

zone "156.236.15.in-addr.arpa" {
        type slave;
        file "db.15.236.156";
        masters {35.206.115.212 ;};
};

Файл /etc/bind/ named.conf.options

options {
        directory "/var/cache/bind";

 dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
        allow-transfer { none; };
        recursion no;

};

Я следил за этими уроками

Как настроить привязку в качестве авторитетного DNS-сервера в Ubuntu 14.04

и BIND9ServerHowto

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

Когда я запускаю команду dig на главном DNS-сервере, я получил это

 dig 35.206.115.212 115.206.35.in-addr.arpa. AXFR

; <<>> DiG 9.11.5-P4-5.1-Debian <<>> 35.206.115.212 115.206.35.in-addr.arpa. AXFR
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 39639
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;35.206.115.212.                        IN      A

;; AUTHORITY SECTION:
.                       86385   IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2020051700 1800 900 604800 86400

;; Query time: 1 msec
;; SERVER: 169.254.169.254#53(169.254.169.254)
;; WHEN: Sun May 17 09:38:42 UTC 2020
;; MSG SIZE  rcvd: 118

; Transfer failed.

Я пробовал @ перед командой копать. Однако есть кое-что, в чем я не уверен. Могу ли я создать собственный DNS, SMTP, CA в облаке с помощью облачных провайдеров, таких как AMAZON, GOOGLE и MICROSOFT? или мне нужно использовать службы для этих протоколов, которые предоставляются поставщиками облачных услуг? Amazon Route 53, Amazon SES и AWS Certificate Manager (ACM) Частный центр сертификации (CA)

Я не знаю, нужно ли мне что-то регистрировать для ns1.itinfrastructuretest.info и ns2.itinfrastructuretest.info по адресу https://search.arin.net/rdap/ или

https://www.internic.net/ или мой регистратор или моя хостинговая компания Google Cloud и Amazon Cloud

  1. Вы, безусловно, можете создать свой собственный сервер имен на облачной виртуальной машине (например, AWS EC2).
  2. Убедитесь, что брандмауэр (как ОС, так и облачный - например, AWS Security Group) открыт для TCP и UDP-порта 53.
  3. Убедитесь, что виртуальная машина имеет статический общедоступный IP-адрес (в AWS это называется Elastic IP).
  4. После этого зарегистрируйте IP-адрес в качестве сервера имен у своего регистратора (например, godaddy или того, у кого вы зарегистрировали домен).

Или - лучше - используйте управляемую службу DNS. Он есть у всех облачных провайдеров (например, AWS Route53), и, как правило, лучше использовать его, поскольку он интегрируется с другими их сервисами, например, вы можете использовать выбранную вами автоматизацию (AWS CloudFormation) для создания записей DNS. Кроме того, это, вероятно, более устойчиво и дешевле, чем все, что вы можете придумать.

Надеюсь, это поможет :)