![CentOS 5.9 で Bind9 DNS サーバーを設定する](https://rvso.com/image/623654/CentOS%205.9%20%E3%81%A7%20Bind9%20DNS%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B.png)
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 アドレスではないためns1
、116.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/