Contents
Overview
BIND を使用した外部向け(インターネット公開用)の DNS サーバーを構築します。この DNS は権威サーバーとして稼働し、フォワーダーとしては使用しません。
前提条件
- こちらを参考に基本設定が完了していること。
- 基本的な内容は「BIND 内部向け DNS サーバー構築」と同じになりますので重複箇所は省略しています。
/etc/bind/named.conf.options
設定例は下記の通りです。allow-query: この DNS を参照可能な範囲、recursion: 再帰問い合わせを禁止を追加しています。インターネットに公開している DNS サーバーで再起問い合わせを許可するとオープンリゾルバとなり危険です。
myadmin@ubuntu:~$ sudo cp /etc/bind/named.conf.options /etc/bind/named.conf.options.orig
myadmin@ubuntu:~$ sudo tee /etc/bind/named.conf.options <<"EOF"
options {
directory "/var/cache/bind";
dnssec-validation auto;
listen-on-v6 { any; };
allow-query { any; };
recursion no;
};
EOF
/etc/bind/named.conf.local
設定例は下記の通りです。
myadmin@ubuntu:~$ sudo cp /etc/bind/named.conf.local /etc/bind/named.conf.options.local.orig
myadmin@ubuntu:~$ sudo tee /etc/bind/named.conf.local <<"EOF"
include "/etc/bind/zones.rfc1918";
zone "si1230.com" {
type master;
file "/etc/bind/si1230.com.zone";
};
EOF
インターネットに自身が管理する DNS サーバーを公開するには、レジストラ(ドメインを払い出す事業者)に委任が必要となり、これは基本的に正引きのみです。逆引きは IP アドレスのプロバイダや ISP が管理しますが、JPNIC から正式にグローバル IP アドレスを取得している企業などは自身の DNS サーバーで自由に設定可能です。
/etc/bind/si1230.com.zone
正引きのゾーンファイルの設定例です。
myadmin@ubuntu:~$ sudo tee /etc/bind/si1230.com.zone <<"EOF"
$TTL 172800
@ IN SOA dns.si1230.com. root.si1230.com. (
2022041101
3600
300
360000
86400
)
IN NS dns.si1230.com.
IN MX 10 mail.si1230.com.
@ IN TXT {{ Google Search Console TXT Record }}
@ IN TXT "v=spf1 a:mail.si1230.com -all"
@ IN A {{ IPv4 Address }}
dns IN A {{ IPv4 Address }}
mail IN A {{ IPv4 Address }}
www IN A {{ IPv4 Address }}
@ IN A {{ IPv6 Address }}
dns IN A {{ IPv6 Address }}
mail IN A {{ IPv6 Address }}
www IN A {{ IPv6 Address }}
EOF
- Google Search Console と連携するため、DNS サーバーに TXT レコードを追加しています。これはホスト名を含めないドメイン名のレコード ‘@’ である必要があります。
- メールサーバー用に SPF レコードを追加しています。これは最近のメールサーバー運用では必須となっています。DKIM, DMARC も最終的に必要となりますが、これは別途更新します。
Ubuntu 22.04 BIND 外部用 DNS サーバー構築