CentOS 5.9 で Bind9 DNS サーバーを設定する

CentOS 5.9 で Bind9 DNS サーバーを設定する

CentOS 5.9 32 ビットがインストールされた OpenVZ VPS サーバーを所有しています。また、ローカル プロバイダー (masterwebnet.com) からドメイン sehattotal.com を購入しています。現在、sehattotal.com は hostgator.com でホストされています。

私の目的は、VPS サーバーに DNS サーバーを作成し、自分のドメインをそこに転送することです。

そこで、サーバーで Bind9 を次のように構成してみます。

/etc/named.conf:

options {
  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; 0.0.0.0; };
  recursion no;

  dnssec-enable yes;
  dnssec-lookaside . trust-anchor dlv.isc.org.;
};

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

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

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

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

zone "0.0.127.in-addr.arpa." IN {
 type master;
 file "named.local";
 allow-update { none; };
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa." IN {
  type master;
  file "named.ip6.local";
  allow-update { none; };
 };

zone "255.in-addr.arpa." IN {
  type master;
  file "named.broadcast";
  allow-update { none; };
};

zone "0.in-addr.arpa." IN {
   type master;
   file "named.zero";
   allow-update { none; };
};

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

include "/etc/rndc.key";

/var/named/chroot/var/named/sehattotal.com.zone:

$TTL 86400
@   IN    SOA   ns1.sehattotal.com. root.sehattotal.com. (
  2013122901  ;Serial
  21600       ;Refresh
  1800        ;Retry
  604800      ;Expire
  86400 )     ;Minimum TTL

@ IN NS  ns1.sehattotal.com.
ns1 IN A  116.251.208.167

名前付きサービスを開始しようとしてもエラーは発生しません。

問題ns1.sehattotal.com に ping できないので機能しないと思います。

なにか提案を?

注記: 現在、sehattotal.com には NS2227.HOSTGATOR.COM と NS228.HOSTGATOR.COM がありますが、NS1.SEHATTOTAL.COM に ping すると次の結果が返されるため、NS1.SEHATTOTAL.COM に変更することはできません。

Ping 要求でホスト ns1.sehattotal.com が見つかりませんでした。名前を確認してもう一度お試しください。

答え1

プロバイダーがゾーンを正しく委任していません:

[me@risby tmp]$ whois sehattotal.com
[Querying whois.verisign-grs.com]
[Redirected to whois.tucows.com]
[Querying whois.tucows.com]
[whois.tucows.com]
Domain Name: SEHATTOTAL.COM
[...]
Name Server: NS2227.HOSTGATOR.COM
Name Server: NS2228.HOSTGATOR.COM

そして

[root@bill ~]# dig  NS2227.HOSTGATOR.COM
[...]
;; ANSWER SECTION:
NS2227.HOSTGATOR.COM.   43200   IN  A   192.254.235.98
[...]
[root@bill ~]# dig  NS2228.HOSTGATOR.COM
[...]
;; ANSWER SECTION:
NS2228.HOSTGATOR.COM.   43200   IN  A   192.254.235.99
[...]

どちらも に設定している IP アドレスではないためns1116.251.208.167委任が間違っていると思われます。

ドメイン名を登録してネーム サーバーを設定するだけでは、2 つが魔法のように接続されるわけではありません。ドメインを検索するときにネーム サーバーを使用する必要があることを世界に伝える必要があります (同じアドレスを 2 回リストする場合でも、ネーム サーバーは 2 つ必要になります)。それを実現するのは、レジストラ (この場合は tucows) が提供する接着剤です。

私はこの質問に「研究努力が全く見られない」と書かれていましたが、ドメイン名とアドレスを全て明記していただき、質問に曖昧なところが一切ありませんでした。ありがとうございます。これで回答が半分くらい簡単になりました。

答え2

リバースDNSゾーンが欠落しているようです。

また、resolve.confファイルにDNSサーバーのIPを追加します。

ファイアウォールでDNSトラフィックを許可することを忘れないでください

iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT

eth0をリスニングIPのインターフェースに変更するか、テスト目的でファイアウォールを停止します。

 service iptables stop  

次に、指定されたサービスを開始します。

以下に適切なガイドがあります。マスター DNS 部分を設定するだけです。

http://www.unixmen.com/dns-server-installation-step-by-step-using-centos-6-3/

関連情報