Bindのインストール
sudo dnf -y install bind bind-chroot
bind-utils は、Linux環境で DNS関連のコマンド を提供するツールセットです。以下のコマンドが使用可能になります。
- dig:DNSサーバーに問い合わせを行い、詳細な情報を取得
- nslookup:ホスト名やIPアドレスの情報を取得
- host:簡単なDNS情報の検索を行う
CentOSやRHEL環境では、デフォルトでこれらのコマンドがインストールされていないことがあります。インストールするには、以下のコマンドを実行します。
// bind-utils がインストールされているか確認
sudo dnf search bind-utils
// bind-utils のインストール
sudo dnf install bind-utils
bind-chroot は、DNSサーバーのセキュリティを強化するための「 chroot環境 」を提供するツールです。
chroot環境を利用すると、BINDの動作範囲を限定されたディレクトリに閉じ込めることができ、BINDが攻撃された場合でも、システム全体への影響を最小限に抑えることが可能になります。
通常の「 / 」ではなく、「 /var/named/chroot 」などの専用ディレクトリ内で動作します。また、DNSサーバーのプロセスを他のシステム領域から分離し、攻撃リスクを低減します。
設定
ローカル環境の機器の設定情報は、以下のようにしています。
ドメイン名は、任意で好きなものにしてください。
内容 |
IPアドレス |
ルーター |
192.168.11.1 |
サーバー |
192.168.11.9 |
LANのサブネット |
192.168.11.0/24 |
DNSサーバー |
192.168.11.9 |
ドメイン名 |
myserver.jp |
ゾーンの定義ファイルを作成します。
2つ目以下の部分のzone項目は、IPアドレスからホスト名を求める「逆引き」についての設定ファイルを指定します。
zone "11.168.192.in-addr.arpa" {
type master;
file "11.168.192.in-addr.arpa.db"; // ※1
};
「 zone "11.168.192.in-addr.arpa" 」のzoneの後に続く部分は、LANのサブネットのIPアドレスの最後の部分を除いたものを逆に記載します。
サブネットが「 192.168.11.0 」の場合は、「 11.168.192.in-addr.arpa 」とします。他の例をあげると「 192.168.1.0 」なら「 1.168.192.in-addr.arpa 」とします。
逆引きの定義ファイルのファイル名は、※1で指定したファイル名にします。
/var/named/11.168.192.in-addr.arpa.db
$TTL 86400
@ IN SOA myserver.jp. root.myserver.jp.(
2016030101 ; Serial
3h ; Refresh
1h ; Retry
1w ; Expire
1h ) ; Minimum
IN NS server.myserver.jp.
9 IN PTR server.myserver.jp. // ※2
※2 の最初の「 9 」は、サーバーのIPアドレスの最後の部分を指定します。上記の場合は、IPアドレスが「 192.168.11.9 」の場合です。他の例をあげると、「 192.168.11.4 」なら「 4 」を指定します。
設定ファイルのチェック
named.confの構文チェックを行うには、「 named-checkconf 」コマンドを実行します。
「 named-checkconf ファイル名 」で調べることができますが、ファイル名を省略すると「 /etc/named.conf 」をチェックします。
BINDの動作確認
名前解決の確認
dig A server.myserver.jp
逆引きの確認
dig -x 192.168.1.9
外部ホストの名前解決の確認
dig A www.google.co.jp
上記のコマンドを実行し、「 ;; ANSWER SECTION: 」の結果が表示されれば設定は完了です。
サーバーのネットワークの設定
サーバーの nmtui で、IPアドレス、ゲートウェイ、DNS サーバーを手動で設定します。
クライアントの設定変更
クライアントがパソコンだった場合、イーサネットもしくは、Wi-Fi のインターネットプロトコルバージョン4(TCP/IP)の設定を変更します。
「 次のDNSサーバーのアドレスを使う(E) 」を選択し、優先DNSサーバーにBINDを設定したサーバーのIPアドレスを指定します。代替DNSサーバーには、ルーターのIPアドレスを設定します。