はじめに
BINDについて勉強した内容をまとめます。
- BINDとは何か
- BINDの中身は
BINDとは?
BINDとは、DNSサーバーを作るための代表的なソフトウェアです。
BINDをサーバーにインストールすると、
そのサーバーはDNSサーバーになります。
サーバー + BIND = DNSサーバー
DNSサーバーになると、
IPアドレスと、ドメイン名を紐づけて、人間とコンピューターの間に立てるようになります。
例:
i-3-i.info(ドメイン名)
↓(DNSが変換)
198.51.100.10(IPアドレス)
BIND以外にも、DNSサーバーとして機能させるためのソフトウェアはあります。
その他のDNSソフトウェア
-
djbdns
DNSのキャッシュと権威機能が分かれている。 -
PowerDNS
データベースと連携できるDNS。 -
DNSSEC
セキュリティ技術で、DNSの改ざんを防ぐた。
BINDの中身(主要ファイル)
BINDでは、主要な5つの設定ファイルが役割を持って存在し、連携して動作しています。
次から、5つのファイルそれぞれの役割を見ていきます。

※/etc/bindはいかにBINDの構成ファイルが来るのは、ubuntuの場合となります。
①named.conf
BIND全体の設定をまとめるハブです。
他の設定ファイルをインクルード(取り込み)する記述が並んでいます。
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
②named.conf.options
BINDの動作設定をします。
どのIPで?どこに問い合わせ?というようなことを設定します。

例)
- recursion yes:再起問い合わせを許可する
- allow-transfer:自ホストにIP情報がない場合に、他に転送する。
③named.conf.xxx.zones
DNSゾーン(ドメインごとの設定)の定義をする。
どのドメインをどのゾーンファイルで管理するかをここで定義して、外部用と内部用に分離します。
これによって、セキュリティを高めます。
- external-zones:インターネット上の外部ユーザーや他のサーバーが参照するゾーンを定義
- internal-zones:企業・組織の内部ネットワークでのみ利用するゾーンを定義
④正引きゾーンファイル(任意のファイル名)
ドメイン名からIPアドレスを検索(名前解決)するための設定ファイルです。
$TTL 86400
@ IN SOA ns.dns.com. root.dns.com. (
2023070301 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
@ IN NS ns.dns.com.
@ IN A 10.255.240.74
bind IN A 10.255.240.74
NSでゾーン全体するネームサーバーを指定し、Aでドメイン名とアドレスの対応関係を定義しています。
IPアドレスからドメイン名を検索(逆引き)するための設定ファイルです。
⑤逆引きゾーンファイル(任意のファイル名)
サーバーのIPアドレスが正しいドメインに対応しているかを確認ます。
これによって、メールサーバーの認証や通信の信頼性向上に役立ちます。
$ORIGIN 240.255.10 in-addr.arpa #注意
$TTL 86400
@ IN SOA ns.dns.com. root.dns.com. (
2023070301 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
@ IN NS ns.dns.com.
74 IN PTR dns.com.
※注意点として、ゾーン名の指定は、IPアドレスと逆になります
例)10.255.240.74→240.255.10.in-addr.arpa
② rndc
BINDを操作するコマンドです。
例
rndc reload
設定を再読み込みできます。
終わりに
BINDとは何か、BINDはどう構成されているかがなんとなくわかりました。
参考