Raspberry Pi 4 導入記 (前フリ)

もうほとんどのログ保管庫と化しておりましたが、何年振りかのまともな記事になります。

自宅でサーバなんぞ運用していると当初は面白がっていろいろ小突き回すんですが、数年もすると保守の方が厄介になってくるわけで、放置で済むならその方がいいやって運用ポリシーに堕落していくのが世の習い。
で、そんな感じでいい感じに黙々と動作していたうちの1台が、このところどうも様子がおかしい。と言うか、宅内でも tsubame-jnr.bglb.jp に外からと同じ感覚でアクセスできるようにしたいので、当初は常用しているマシンのlmhostsを書き換えていたのですが、セキュリティの見地からはあまりよろしくないのと何しろセットアップの度にこんな事やってたら面倒臭くてかなわないので、ローカルで内向きにDNSを立てることにしたわけです。
サーバのipなんて固定にするのが通り相場(だと思ってた)、これもbind9で立てた当初はどハマりする要素はそんなに無く無難に稼働していた物が、いつ頃からかがipv6をデフォルトで使うようになって、そんなの知らないからipv4でしか運用してないDNSは対応できなくて(今思えばDNSにipv6でListenさせりゃいいだけだったのだが)、かと言って側でipv6を無効にすればしたでの共有サービスやら何やらが片っ端から使用不能になって、やたらと出まくるエラーメッセージがまさにspamサイトも真っ青のしつこさ、ネットで調べたipv4の優先度を上げる処置も片っ端から効果が無いと、西洋の諺に言う「ミミズの缶詰を開ける」状態に陥ったのでした。ここから泥沼の堂々巡りが始まります。
完全な誤解に基づく余計な回り道なので、この先しばらく読み飛ばして構いません。

bind9をipv6に対応させるの自体はせいぜいListenさせるアドレス・ポートと逆引きゾーンを追加する程度で(これも実際には無用)、既にipv4で運用できてりゃ大したことは無いのですが、ipv6は動的に割り当てられるのが当然のようで、じゃあDNSをipv6かつ動的更新に対応させなきゃならんじゃないか、との結論に至ったのでした。(完全に誤解)

ところが。

はDNSへの動的登録がデフォルトで有効になっていて、これまで何の為にそんなことになっているのか理解に苦しんでいたのがここで初めて役に立つようになったのですが、本命のwebサーバ(Linux)にはそもそもそんな機能が実装されておらず、比較的よく紹介されるdnsupdateによる登録も、足りない頭にはスクリプトが複雑難解を極めてとりあえずは採用できません。(そういう用法は想定されていない?)
それよりもDHCPサーバにDNSへの更新を指令させるのが正道らしく、じゃあそうしようとなったあたりから更に話がおかしくなっていきます。
bindと同じ所がdhcpサーバも開発しているのでただ採用・連携させれば済むはずなんですが、既にdhcpdは開発が終了してkea-dhcpdなる物に作業が移行しているらしく、かつどうせ当分放置するんだからそっちを採用しようとしたところで悪魔の囁きが聞こえたのでした。

「You、keaがmysqlをバックエンドに採用してるなら、DNSもmysqlに対応させちゃいなよ」

(ジャニ○喜多川口調っぽいのはたまたまで特に意味はないです)

bind9がやってるテキストファイルでのゾーン情報管理は、管理者が修正するたびいちいち儀式が必要で、だいたい忘れてて余計な手戻りを招くのが悩みの種。mysqlならそんなこと無い、はずだったのですが、肝心のbind9がmysqlに対応しないのではどうしようもありません。(過去にはそういうプラグインも別にあったらしいのですがパッケージ管理できない時点で、かつセキュリティ上も問題外)
世の中好くしたもので丁度PowerDNSなるものがあって、想定される運用に概ね合致するのでとっとと乗り換えたものの、そこから先の話はまた別口になるので今回は扱いません。ともかく、Kea-DHCP-ServerとPowerDNSの連携システムを、MySQLをバックエンドに構築したわけです。Pentium4/2.8GHZ、RAM1GBのFMVで走っているUbuntu Server 18.04LTS上に。

ここで詳しい方はお気付きかもしれません。
近頃のUbuntuって、最低でも512MBのRAMが必要じゃなかったか?
もちろんそれは「OSが動作する」為の最低環境であって、他のアプリケーションを走らせればその分どんどんRAMは必要になるわけで。
ある程度はswapで逃がせるにせよ、swapへの読み書きがボトルネック/オーバーヘッドになる上に、実メモリを要求され続ける現実は動かないわけで。
一方で、入手当時既にセコハンで、最大1GBのRAMを目一杯積んである状態から、これ以上拡張のしようもないわけで。

とは言っても宅内のみの運用で困るのは自分だけだし、全く動かない訳でも無いので無理くり小突き回していたのですが、そのうち再起動後にデーモンが起動してないとか、予期しないタイミングで落ちて原因の切り分けに余計な手間を食うとか、そもそもsshどころかローカルでも応答しなくなって物理的に電源落とすしかなくなるとか、困る以前の問題に事態が波及しだしたわけです。もはやここまでか。

ところが、つい先日普段使いのPC組み直したばかりでちと食傷気味になりながら、自宅のジャンクヤードから使えそうなパーツを物色し始めたところへ、また悪魔の囁きが聞こえたのでした。

「You、で置き換えちゃいなよ」

中途半端にでかい筐体をいくつも並べた挙げ句ACコンセントの取り回しにそろそろウンザリしてきていた身には、とても美味しい提案に思えたのです。その時は。

(続)

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください