がるの健忘録 このページをアンテナに追加 RSSフィード

2017-08-11

[]CentOS7にBIND 9、のナレッジ

お引越しでインストールした&案外とあちこち躓いたので、めも。

…いやまぁそもそも「そろそろBINDやめようよ」とか思わないわけでもないのですが、一応。


インストールは、大体こんな感じ、がベース。

yum -y install bind bind-chroot

firewall-cmd --add-service=dns

firewall-cmd --add-service=dns --permanent

firewall-cmd --list-services

/usr/libexec/setup-named-chroot.sh /var/named/chroot on

# すげぇ念の為

systemctl stop named

systemctl disable named


で、設定を終えた後で

systemctl start named-chroot

systemctl enable named-chroot

でOK。


……なんだけど、設定ファイルの記述ミスその他で大量に躓いたので。

おいちゃんの脳内フラッシュメモリから(ある意味奇跡的に)こぼれていない情報を、整理もせずに羅列。


情報としては

journalctl -xe

で出てくる……って言われるんだけど、色々と「もうちょっと情報よこせ」って感じの事が多々。

日付抜くの面倒なんで日付入りで晒すと、/var/log/messagesに

Aug 11 17:51:49 localhost named[4886]: ----------------------------------------------------

Aug 11 17:51:49 localhost named[4886]: BIND 9 is maintained by Internet Systems Consortium,

Aug 11 17:51:49 localhost named[4886]: Inc. (ISC), a non-profit 501(c)(3) public-benefit

Aug 11 17:51:49 localhost named[4886]: corporation. Support and training for BIND 9 are

Aug 11 17:51:49 localhost named[4886]: available at https://www.isc.org/support

Aug 11 17:51:49 localhost named[4886]: ----------------------------------------------------

Aug 11 17:51:49 localhost named[4886]: adjusted limit on open files from 4096 to 1048576

Aug 11 17:51:49 localhost named[4886]: found 2 CPUs, using 2 worker threads

Aug 11 17:51:49 localhost named[4886]: using 2 UDP listeners per interface

Aug 11 17:51:49 localhost named[4886]: using up to 4096 sockets

Aug 11 17:51:49 localhost systemd: named-chroot.service: control process exited, code=exited status=1

Aug 11 17:51:49 localhost systemd: Failed to start Berkeley Internet Name Domain (DNS).

Aug 11 17:51:49 localhost systemd: Unit named-chroot.service entered failed state.

Aug 11 17:51:49 localhost systemd: named-chroot.service failed.

Aug 11 17:51:49 localhost systemd: Stopping Set-up/destroy chroot environment for named (DNS)...

Aug 11 17:51:49 localhost systemd: Stopped Set-up/destroy chroot environment for named (DNS).

こんな感じで出てくるのを、ヘッジした時の諸々。


とりあえず前提として

・外向けの権威サーバ立ててる

・プライマリもセカンダリも自前

chrootは「とりあえず念の為やっとく」


大本の設定ファイルは、 /etc/named.conf 。

実際には /var/named/chroot/etc/named.conf を見ているはずなんだけど、これは systemctl start named-chroot とか systemctl restart named-chroot とかすると、/etc/named.conf から持ってきてくれるぽいので。

修正などは、 /etc/named.conf にそのままぶちかます。

ちなみに、restartとかしないと反映されないので、修正されたらretartしよう。


大体同じニュアンスで。

directory "/var/named";

を前提に、zoneファイルは /var/named に置いておく。

これも実際にはchrootで以下略。

ちなみに、restart以下略。


ファイルをmvだったかcpだったかしようとしたら「same file云々」とかいうエラーメッセージが出たので、多分「内部的には完全に同一」だと思われ。

chrootのギミックなんだろうけど、一端ここは深堀せず。

そのうち余裕があったら。


んで、書式で結構色々と躓いたので、引っかかったところを列挙。

・named.confとzoneファイルで書式が違う。具体的にはコメントが。named.confは//と /**/が使えて、zoneは;がコメント。zoneで/**/は多分使えない

・named.confは後ろに ; がないとエラーになる

zoneファイルのパーミッションに注意。上述の起動の仕方だと named ユーザ起動になるんだけど。zoneファイルのパーミッション的に「読めない」と、エラーにはならないのに情報が見れないwww

・named.conf、allow-queryを「localhost;(たしか、デフォがこれ)」にすると「外部から見れない」ので注意。anyが正解

・同じくnamed.conf、「recursion no;」は忘れずに!! たしかデフォがyesなのだよねぇ……。「外向き」にするんなら必須なんじゃなかろうか?

・named.conf。「allow-transfer { none; };」「allow-update { none; };」「allow-query-cache { none; };」も必須。デフォだった気もするんだが、明示して悪いもんでもなかろうもん

・「version "unknown";」気分w

・プライマリには「notify yes;」「also-notify { 11.22.33.44; };」。セカンダリ散らかさないんなら、optionsん中でよいと思う

セカンダリzoneの中に「type slave;」「masters { 1.2.3.4; };」で、親からとってくる感じ。「同名ファイルがあるとNG」「ディレクトリパーミッションに気をつけろ」ってあたりがポイント? ここ、すんなり通ったからナレッジが今一つ……

zoneファイルのほう。おいちゃんCNAME好きなんだけど「CNAMEで宣言するドメインMXとかに使えない」ので注意。……はまりました orz

・あ。TXT書かなきゃ(まだ書いてない……メールサービス組む時でよいかし……)


ちな、試験は

dig ドメイン名 @localhost

dig ドメイン名 @[鯖のIPアドレス]

dig よそ様のドメイン名 @[鯖のIPアドレス] # エラーになる事

で実験。


さて引き続きいくつか実験君がまっているので……この三連休はその辺でつぶれそうな予感……

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/gallu/20170811/p1