Yak!の日記: Afx Wiki 復旧
とりあえず Afx Wiki のコンテンツを一通り復旧させたと思ったら、いきなり HTTP で接続できなくなっていることに気づく。っていうか、SSH (via KWINS on リナザウ)まで接続できない。ということで、(ほんの)少し早めに自室に帰る。
…結論から言うと IP アドレスが変わっていた。うちのサーバはグローバル IP アドレスを DHCP でもらう形なのだが(でもほとんど同じアドレスに固定されている)、プロバイダが全ユーザーにグローバル IP を振るという時代に逆行してるんじゃないかという変更をしたため、うちのサーバーの IP アドレスも変更されてしまったらしい(最初のオクテットから全然違うというか、whois の結果も違う)。もちろん、DHCP なのは分かっていたので、DynamicDNS サービスを利用していたのだが、利用可能なサブドメインの追加により(大分前から)登録スクリプトがぽしゃっていたようだ。
そもそも登録失敗が分からないようになっているのが大本の要因ではあるのだが、通常使用しているドメイン yak.myhome.cx は、内部ネットワークからはプライベート IP アドレスとして解決されるため、外部から引いた結果がおかしくなっていても分からなかった、という点も事態を悪化させていた。ちなみに、もう一つ利用しているドメイン yak.mydns.jp の方は正しく設定されていたので、こっちで試してみれば接続できていたはずである。んが、そもそも IP アドレスの変更事態が想定外だったので思いつかなかった。
さて、正しい対策としては、まじめに登録結果を確認する、になるのだろうが、面倒なのでまずは登録の確実性をあげることにする。今まで DynamicDNS サービスへの IP アドレスの登録については lynx にスクリプト(キー操作リスト)ファイルを喰わせて実現していたのだが、直接 POST して叩いてしまえ、ということで wget に切り替える。これでサブドメインを直接指定するようになったので、今回のようにサブドメインが追加された場合でも大丈夫なはず。ついでに、https でアクセスするようにしようと思ったら、SSL 証明書が検証できないと怒られる。で、ports の security/ca-roots で入るファイルを --ca-certificate に指定したが、やっぱり駄目であった。実は使用している DynamicDNS サービスの SSL 証明書の root CA の証明書が、ca-roots に入っていなかった。しょうがないので、Windows 上のブラウザから証明書をエクスポートして指定してやると、ちゃんと接続できるようになった。
ついでに、pdumpfs を仕掛けて Afx Wiki の内容がバックアップできるようにし、(FreeBSD )slapdが OTP unavailable because can't read/write key database /etc/opiekeys: Permission denied というメッセージをたくさん出すも対処した。
Afx Wiki 復旧 More ログイン