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

DNS-сервер не разрешает имя хоста почтового сервера

У меня есть два сервера имен с привязкой. веб-сайт, example.com, пингует и отображает нормально, поэтому я знаю, что запись DNS для него в порядке. Но переход на mail.example.com и pinging mail.example.com в 90% случаев дают сбой.

Забавно то, что иногда тест ping действительно находит mail.example.com, и я могу легко проверить свою веб-почту, перейдя на mail.example.com, но это длится всего около 30 минут, а затем любой тест ping после этого возвращается к не возможность разрешить mail.example.com, и я не могу перейти на mail.example.com.

кстати, если я пингую почтовый сервер только по его общедоступному IP-адресу, а не по имени хоста mail.example.com, все в порядке и разрешается в 100% случаев. Я также могу 100% времени перейти на свой IP-адрес почтового сервера в браузере, чтобы проверить свою почту, и все в порядке. Я знаю, что это не проблема сервера, это должен быть DNS.

У меня что-то не так с моим DNS-сервером.

пожалуйста, взгляните на мою информацию ниже и посмотрите, сможете ли вы сказать мне, что я делаю не так.

Когда mail.example.com загружается в браузере, я запускаю тест ping и получаю вот что.

Pinging mail.phrixis.com [52.27.16.178] with 32 bytes of data:
Request timed out.

на самом деле он показывает IP-адрес моего почтового сервера.

Когда я перехожу на mail.example.com и он не загружается, я провожу тест ping и получаю вот что.

ping mail.phrixis.com
ping: uknown host mail.phrixis.com

он не получает IP-адрес почтового сервера все это время, поэтому он не загружается в браузере.

это как если бы мой DNS-сервер в половине случаев говорил: «Да, я знаю, где находится mail.example.com», а в другой половине - «Нет, я забыл, где находится mail.example.com» .

когда я захожу на ns1.example.com, я ищу mail.example.com и получаю вот что.

[root@ns1 ~]# dig @localhost mail.phrixis.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.1 <<>> @localhost mail.phrixis.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8581
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;mail.phrixis.com.              IN      A

;; ANSWER SECTION:
mail.phrixis.com.       86400   IN      A       52.27.16.178

;; AUTHORITY SECTION:
phrixis.com.            86400   IN      NS      ns1.phrixis.com.
phrixis.com.            86400   IN      NS      ns2.phrixis.com.

;; ADDITIONAL SECTION:
ns1.phrixis.com.        86400   IN      A       107.170.58.69
ns2.phrixis.com.        86400   IN      A       138.197.212.168

;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Mon May  8 20:00:02 2017
;; MSG SIZE  rcvd: 118

[root@ns1 ~]#

Зайдя на ns1.example.com, я копаю example.com и получаю вот что.

[root@ns1 ~]# dig @localhost phrixis.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.1 <<>> @localhost phrixis.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31758
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;phrixis.com.                   IN      A

;; ANSWER SECTION:
phrixis.com.            86400   IN      A       162.243.60.215

;; AUTHORITY SECTION:
phrixis.com.            86400   IN      NS      ns1.phrixis.com.
phrixis.com.            86400   IN      NS      ns2.phrixis.com.

;; ADDITIONAL SECTION:
ns1.phrixis.com.        86400   IN      A       107.170.58.69
ns2.phrixis.com.        86400   IN      A       138.197.212.168

;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Mon May  8 20:03:58 2017
;; MSG SIZE  rcvd: 113

[root@ns1 ~]#

Вот мой файл named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
        #listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        allow-transfer  { localhost; 138.197.212.168; };
        recursion no;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "phrixis.com" IN {
        type master;
        file "phrixis.com.zone";
        allow-update { none; };
};

Вот мой файл example.com.zone

$TTL 86400
@  IN   SOA     ns1.phrixis.com. root.phrixis.com. (
        2013042201      ;Serial
        3600            ;Refresh
        1800            ;Retry
        604800          ;Expire
        86400           ;Minimum TTL
)
; Specify our two nameservers
                IN      NS              ns1.phrixis.com.
                IN      NS              ns2.phrixis.com.
; Resolve nameserver hostnames to IP, replace with your two droplet IP     addresses.
ns1             IN      A               107.170.58.69
ns2             IN      A               138.197.212.168

; Define hostname -> IP pairs which you wish to resolve.
@               IN      A               162.243.60.215
WWW             IN      A               162.243.60.215
mail            IN      A               52.27.16.178
            IN      MX      10      mail.phrixis.com.

приветствуется любой ответ, поскольку я новичок в использовании DNS-серверов.

Очевидно, почему разрешение DNS иногда работает, а иногда нет. Вы объявили о двух авторитетных серверах имен - ns1.phrixis.com. и ns2.phrixis.com.. Один из них - ns2.phrixis.com. - не разрешает запись DNS -

$ dig @ns1.phrixis.com mail.phrixis.com +short
52.27.16.178
$ dig @ns2.phrixis.com mail.phrixis.com +short
$

Решение - убедитесь, что у ns2 также есть правильная запись. Я вижу, что у вас есть блок allow-transfer для ns2 allow-transfer { localhost; 138.197.212.168; }; Но вам необходимо убедиться, что записи зоны реплицируются на ns2.

Если ns2 является вторичным DNS-сервером, убедитесь, что он имеет правильную конфигурацию и что передача зоны от ns1 к ns2 работает.

Также убедитесь, что у ns2 нет брандмауэра, блокирующего порт 53 udp / tcp.

Ссылка на настройку подчиненного DNS-сервера - http://www.microhowto.info/howto/configure_bind_as_a_slave_dns_server.html