web-dev-qa-db-ja.com

ネームサーバーがドメインのIPに解決していない

CentOS7とCWPをDigital Oceanドロップレットで実行しています。サーバーは現在2つのドメインをホストしており、4月26日に3つ目のドメインを追加しました。私は通常の手順でそれを行いました:

  1. ドメインをサーバーのnsレコードにポイントする、ns1.example.comおよびns2.example.com
  2. 新しいアカウントsslオプションが有効なメニューからcwpに新しいドメインを追加

数時間後、ドメインは問題なく動作し、ウェブをアップロードして稼働しました。その後、sslを有効にしようとしましたが、そのドメインにはインストールされていません。私は先に進み、ユーザーアカウントからドメインにsslをインストールすることを再試行します。エラーをスローしますDNS of your domain doesn't point to this server or you have htaccess restrictions

同じエラーが発生するWHMから試してみることにしました。私はグーグルでCentOS Webパネルフォーラムでいくつかの記事を見つけ、次のようないくつかの解決策を試しました。

  1. ホスト名を変更する(変更せずにもう一度保存する)
  2. nameserverIPsを編集します(変更せずにもう一度保存します)
  3. 特定の方法でアカウントを削除してから再度追加する

私はすべて試しましたが、どれもうまくいきませんでした。次に、問題のあるドメインのDNS構成ファイルを作業ドメインと手動で比較することにしました。問題のあるドメインの一部のレコードが@記号ではなくドメインで始まっていることに気付きました。私はすべての行を実際のドメイン構成と一致させましたが、まだうまくいきませんでした。

検索中に、DNSサーバーに問題がある可能性があるため、service named statusコマンドを実行してステータスを確認したところ、いくつかのエラーnetwork unreachable resolvingが見つかりました。完全な出力は以下のとおりです。

[root@server log]# service named status
    Redirecting to /bin/systemctl status named.service
    ● named.service - Berkeley Internet Name Domain (DNS)
       Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled)
       Active: active (running) since Tue 2020-04-28 16:56:51 PKT; 46min ago
      Process: 9965 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS)
      Process: 9912 ExecReload=/bin/sh -c /usr/sbin/rndc reload > /dev/null 2>&1 || /bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
      Process: 10792 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited, status=0/SUCCESS)
      Process: 10790 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
     Main PID: 10794 (named)
       CGroup: /system.slice/named.service
               └─10794 /usr/sbin/named -u named -c /etc/named.conf

    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './NS/IN': 2001:dc3::35#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './DNSKEY/IN': 2001:500:2f::f#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './NS/IN': 2001:500:2f::f#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './DNSKEY/IN': 2001:500:200::b#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './NS/IN': 2001:500:200::b#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './DNSKEY/IN': 2001:500:a8::e#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: network unreachable resolving './NS/IN': 2001:500:a8::e#53
    Apr 28 16:56:51 serv.xyz.com named[10794]: managed-keys-zone: Key 20326 for zone . acceptance timer complete: k...usted
    Apr 28 16:56:51 serv.xyz.com named[10794]: resolver priming query complete
    Apr 28 17:24:15 serv.xyz.com named[10794]: client @0x7f9dac0c6f10 193.29.15.169#52139 (5hz.org): query (cache) ...enied
    Hint: Some lines were ellipsized, use -l to show in full.
    [root@server log]#

今、私はDNSソリューションを検索し、IPv6を無効にすることがソリューションであることがわかりました。私はOPTIONS="-4"を追加してそれを無効にしようとし、IPv6行にコメントを付けようとしましたが、それでもうまくいきませんでした。

DNSサーバーに問題がある場合、他の2つのサイトがどのように機能しているのでしょうか。 ns lookupを実行しました。正しいDNS情報が表示されます。ただし、問題のあるドメインのnsルックアップを実行すると、nsレコードが表示されますが、それにリンクされているIPがありません。

leafdnsでルックアップを実行しましたが、これはエラーです:None of your nameserver names contain glue or A records. This error is fatal. Your domain is not resolveable。エラーがあってもドメインにアクセスできます。

編集:これは私のDNS構成ファイルの内容です

; Generated by CWP
; Zone file for DOMAIN_IN_QUESTION.com
$TTL 14400
@    86400        IN      SOA     ns1.SERVER_DOMAIN.com. webmaster.DOMAIN_IN_QUESTION.com. (
                2020042832 ; serial, todays date+todays
                3600            ; refresh, seconds
                7200            ; retry, seconds
                1209600         ; expire, seconds
                86400 )         ; minimum, seconds
@   86400   IN  NS      ns1.SERVER_DOMAIN.com.
@   86400   IN  NS      ns2.SERVER_DOMAIN.com.
@ IN A XXX.XXX.XXX.XXX
localhost.DOMAIN_IN_QUESTION.com. IN A 127.0.0.1
@ IN MX 0 DOMAIN_IN_QUESTION.com.
mail 14400 IN CNAME DOMAIN_IN_QUESTION.com.
smtp 14400 IN CNAME DOMAIN_IN_QUESTION.com.
pop  14400 IN CNAME DOMAIN_IN_QUESTION.com.
pop3 14400 IN CNAME DOMAIN_IN_QUESTION.com.
imap 14400 IN CNAME DOMAIN_IN_QUESTION.com.
webmail 14400 IN A XXX.XXX.XXX.XXX
cpanel 14400 IN A XXX.XXX.XXX.XXX
cwp 14400 IN A XXX.XXX.XXX.XXX
www 14400 IN CNAME DOMAIN_IN_QUESTION.com.
ftp 14400 IN CNAME DOMAIN_IN_QUESTION.com.
_dmarc  14400   IN  TXT "v=DMARC1; p=none"
@   14400   IN  TXT "v=spf1 +a +mx +ip4:XXX.XXX.XXX.XXX ~all"
default._domainkey 14400 IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCi4acT6Vt0/7FVab8FzfLqJ8LU4rciFbo2t4yFmVoX1Uxi4QQsEJqTBZBfnWerkw6zzdY6+WYd4nn/sZSVCXDWC4/bmGylAkewthvOkAK1xsa8mXeOHrhX3CtqlVu3Ti+U4NpmmfgHehqq0NUKF9ma6NaJNMK3zFojToEdqNGQfwIDAQAB"

注:構成ファイルで次の置き換えを行いました:

  1. IPはXXX.XXX.XXX.XXXに置き換えられました

  2. サーバーアドレスはSERVER_DOMAINに置き換えられました

  3. 影響を受けるドメインはDOMAIN_IN_QUESTIONに置き換えられました

手がかりはありませんが、誰か助けてくれますか? 2日以上になったので、とても動揺しています。 :(

3
Alena

NSレコードはあるが対応するAレコードがない場合、親ゾーンからGlue Recordsが欠落している可能性があります。エラーメッセージNone of your nameserver names contain glue or A records. This error is fatal. Your domain is not resolveableはそれと一致しています。

このドメインがexample.comで、ネームサーバーがそのサブドメインns1.example.comおよびns2.example.comである場合、ゾーン自体にAレコードがあるだけでは不十分です。無限ループを引き起こします:

  1. .com様、example.comのネームサーバーは何ですか?
  2. それらはns1.example.comおよびns2.example.comです。
  3. OK。彼らのIPアドレスは何ですか?
  4. 知りません。 example.comのネームサーバーから確認する必要があります。
  5. OK。 example.comのネームサーバーは何ですか?

したがって、comは、Glue Recordsのように、この情報を直接保持して提供する必要があります。これらのレコードを自分のDNSサーバーに設定することはできませんが、registrarに設定します。


network unreachable resolving './NS/IN': 2001:dc3::35#53エラーは、おそらく現在の問題とは関係ありません。これらは、DNSサーバーからのDNSリクエストであり、そのrecursive機能に関連しています。つまり、それ自体では認識できないドメインを解決しようとしている場合、-authoritativelyです。

recursiveおよびauthoritative DNSサーバーは、IANAによって分離する必要があることに注意してください 権威ネームサーバーの技術要件

開いている再帰的なネームサービスはありません

権威ネームサーバーは、再帰的なネームサービスを提供してはなりません。この要件は、「RD」ビットが設定された当局の管轄外にクエリを送信することによってテストされます。

DNSサーバーに再帰的な機能が必要な場合は、もちろんこれらのエラーも修正する必要があります。 allow-recursion { 198.51.100.0/24; };を使用したBINDでは、サーバーを再帰的に使用できるネットワーク範囲も制限する必要があります。

4
Esa Jokinen

レジストラでネームサーバーとしてns1.SERVER_DOMAIN.comとns2.SERVER_DOMAIN.comを登録しましたか?ドメインのネームサーバーのみを変更すると、DNSクエリをサーバーにリダイレクトできません。まず、2つ2つのネームサーバーを登録する必要があります。次に、nsレコードを登録済みネームサーバーに変更する必要があります。

構成を確認するには:

  1. Whoisクエリを実行してnsを取得します:whois SERVER_DOMAIN.com |grep -i "name server:"
  2. Nsレコードクエリを実行します:Dig -t ns SERVER_DOMAIN.com

最初のクエリにはns1.SERVER_DOMAIN.comとns2.SERVER_DOMAIN.comが必要です。2番目のクエリでは、回答セクションに回答が含まれている必要があります。

次に、クエリがサーバーに転送されます。確認するには、サーバーのポート53でtcpdumpを開きます。 (サーバーからではなく)別の場所からDig -t soa SERVER_DOMAIN.comのようなsoa dnsクエリを実行します。回答セクションには、ゾーンファイルの行が含まれている必要があります。 tcpdump出力を調べない場合、出力がない場合は、ファイアウォールがDNSポートをブロックしています。出力がある場合、DNS構成にエラーがあります。次のコマンドで構成テストを実行します。

named-checkconf /etc/named.conf named-checkzone SERVER_DOMAIN.com /var/named/[ZONEFILE]

おそらく、少なくとも1つは失敗します。エラーを修正します。そして、SOA DNSクエリを再実行します。

次にデバッグしますDOMAIN_IN_QUESTION.com

最初に、SERVER_DOMAIN.comと同じTLDレコードを確認します。同じ手順:

  1. Whoisクエリを実行してnsを取得します:whois DOMAIN_IN_QUESTION.com |grep -i "name server:"
  2. Nsレコードクエリを実行します:Dig -t ns DOMAIN_IN_QUESTION.com

これらのステップはすべて "(ns1 | ns2).SERVER_DOMAIN.comを返します。そうでない場合は、レジストラでの構成に問題があります。お問い合わせください。

Confとzone confを確認してください

named-checkconf /etc/named.conf named-checkzone DOMAIN_IN_QUESTION.com /var/named/[ZONEFILE]

エラーがある場合は、修正します。

Soaレコードクエリを実行します。このクエリには、DNSサーバーが応答する必要があります。 tcpdumpを開き、dnsトラフィックパケットも確認​​します。

SOAの回答は、ゾーン構成ファイルのSOA行として一致する必要があります。

1
Kazim SARIKAYA