セキュリティ意識した設定とかではないです.
ゆるーく適当に動かすためのメモです.
- BINDのインストール
途中でインストールして良いか聞かれたら y
を入力してEnter.
# yum install bind bind-utils
- ファイアウォールの設定
デフォルトではブロックされているのでDNSを許可するようにする
# firewall-cmd --add-service dns --permanent // 再起動しても設定を有効化する
# firewall-cmd --reload // リロード
# firewall-cmd --list-services // 通信が許可されているか確認
- named.confの設定
BINDの設定ファイルである named.conf
, また正引き, 逆引きの設定ファイルである <ドメイン名>
, <ドメイン名>.rev
という名前のファイルを作成しておく.
それぞれのファイルはどこかから雛形を引っ張ってくるなり, 自分で書くなりする.
# touch named.conf
# touch <ドメイン名>
# touch <ドメイン名>.rev
named.conf
のシンボリックリンクを貼る
# ln -sf /var/named/named.conf /etc
named.conf
をゴリゴリ書く.
いろいろ端折ってる.
options {
listen-port 53 { 127.0.0.1; };
...
directory "/var/named"
...
allow-transfer {};
allow-query {};
allow-recursion {};
allow-query-cache {};
};
...
zone "hoge.piyo" {
type master;
allow-query { any };
file "hoge.piyo";
};
zone "X.0.168.192.in-addr.arpa" {
type master;
allow-query { any };
file "hoge.piyo.rev";
};
listen-port
にはDNSのサービスを動作させるポート番号と, IPアドレスを指定する.
directory
には, named.conf
が存在するディレクトリを指定する.
allow-transfer
にはセカンダリDNSサーバのIPアドレスを指定する.
セカンダリDNSサーバを用意しない場合は //
でコメントアウトする.
allow-query
にはクエリ(問い合わせ)全般を受け付けるかどうかを書く.
any
ならどこからでも, ネットワークアドレス(プレフィックス表記)を指定したら指定したネットワークの範囲のみ.
allow-recursion
には再帰問い合わせを受け付けるかどうかを書く.
つまりフルサービスリゾルバとして動作させるかということ.
any
ならどこからでも, ネットワークアドレス(プレフィックス表記)を指定したら指定したネットワークの範囲のみ.
allow-query-cache
にはキャッシュを返すのを許可するかどうかを書く.
any
ならどこからでも, ネットワークアドレス(プレフィックス表記)を指定したら指定したネットワークの範囲のみ.
zone
にはゾーン情報を書く.
正引きは "<ドメイン名>"
, 逆引きは "<IPアドレスの逆順>.in-addr.arpa"
を指定する.
また, file
にはそれぞれのドメインのゾーン情報を記述するファイルのパスを書く.
- 正引き・逆引きの設定
イイ感じにやる(めんどいので省略).
- BINDの起動
# systemctl start named.service // すでに起動している場合はrestart
# systemctl enable named.service // 再起動しても設定を有効化する
- 動作確認
$ ping <IPアドレス> // IP到達性があるか
$ nmap -sU -p 53 <IPアドレス> // UDPポート53番が開いているか
$ dig <ドメイン名> // DNSのサービスとしてちゃんと動いているか
ぼくは listen-port
の設定ミスで動かなかったので注意してネ.