サーバダウン
02月23日夜、実家から、ブレーカを落としたため、サーバPCの電源が切れたとのメールが入りました。その後電源を投入したとのメールがあり、安心していましたが、帰宅してtelnet接続を試みると何と失敗。嫌な予感がしたので電話で諸々確認。母では確認依頼は無理かと思っていたら、ちょうど妹が帰宅したので、幾つかコマンドを打ってもらいました(もちろん一文字ずつ伝えての作業)。とりあえずログイン画面は出ていたようなので、ログインしてもらいpingコマンドを。結果は文字化けでよく分からないとのこと。また、dfコマンドを依頼したところ、全てのパーティションが見えているようなので、HDDは一応無事みたいで一安心です。どうやら通信部分に問題がありそうですね…。NICが逝ってしまったか、ルータがおかしくなったか。もしかしたら、サービス類が正しく起動されていないのかもしれません。いずれにせよ、リモートからでは限界があるので、復旧は諦めました。
しかし、Wikiを使ってあらゆるメモを書き溜めていたので、いざ自宅サーバが使えなくなるとかなり不便です。こういう場合の危機管理対策ができていなかったので、どうしようかと。で、考えた結果、とりあえずローカルでテキストに書き溜め、Yahooのブリーフケースに入れておくことにしました。USBメモリや加入しているオンラインストレージサービスなど、使う手も考えたのですが、こういうときに限って、手元になかったり、IDが分からなかったり…。なので、Yahooのブリーフケースがあってかなり助かりました。これまで一度も使ったことありませんでしたが、人生何がどこで役に立つか分からないですね。
こういうとき施しておくべきだった対策は何だったのでしょう。UPSやマルチホーミングなど考えましたが、一番の解は、電源も回線も別なサーバに、ミラーサイトを設けることだと思います。レンタルサーバで安いところ探してみようかな…
しかし、Yahooへの登録申請をしている期間に、毎度サーバがダウンするのは呪いでしょうか?
投稿者 bokupi : 17:38 | コメント (0) | トラックバック
2006年02月17日
開発で意思疎通は大切
現在のプロジェクトは、ビルドが通ることを目標に、既存ソースの移植作業を行なうというもの。しかし、ソースのバージョン管理もなく、手作業マージという状態。メールのやり取りや立ち話で情報交換をしても、全ての情報が直接入ってくるわけではないので、結局修正箇所の意図を汲みきれないことも。それによる手戻りや優先度の逆転が発生したり。
今回、とある関数を利用するためにヘッダファイルをincludesしたら、別のマクロと衝突。別の人が対応のために新たなヘッダファイルを作り、そこに利用したい関数をextern宣言をしていた。ところがそのヘッダファイルに、不可解なdefine文の羅列が。何だろうと思いつつ追うと、先のヘッダファイル中に、同じdefine文の羅列があった。ヘッダファイルをincludeしないことにより、同defineが抜けると思って、書いたのかな、と。実際にはさらに別のヘッダファイルに定義されているので、問題ないのだけれど。後に、さらに別の人に聞くと、単に備忘録として残していたらしい。無効化が抜けていただけの模様。けれど本人談ではないので、真相は結局分からず。
意思の疎通が取れていないと、やはり大変。片方が完全に分かっていればいいんだけど、お互いが完全には理解していない(うちらの方が大きく理解度は低いのだけど)ので、曖昧なやり取りに終始しがちに。。うーん、いかん傾向。よろしくないプロジェクト進行の見本のように…
投稿者 bokupi : 23:48 | コメント (0) | トラックバック
2006年02月13日
DNSの内容が時々おかしくなっていた原因
個人用のデータを扱うサーバを作るために、先月からサブドメインを作成し運用している。内部からは普通にアクセス可能で、外部からは要認証という作りに。ところが、時々このサブドメインでアクセスが出来なくなることがあった。メインPCからそのドメインにpingを打つと、返ってくるのは外向けのグローバルIPアドレス。ところが、サーバ自身やザウルスからアクセスすると、普通にアクセスができる。これはメインPCに問題がある?と思い調べていくと、DNSのセカンダリ指定に外部のDNSを指定していたので、それを外すと正常な動作をするようになった。
一応プライマリではきちんと内部向けDNSを指定しているのになあ。どういうタイミングでセカンダリ参照に切り替わってしまうんだろう。いずれにせよ、ローカル環境下では内部向けDNSのみを参照すべきなので、本来あるべき設定に戻ったわけだけど、ちょっと気になるー。
投稿者 bokupi : 00:20 | コメント (0) | トラックバック
2006年01月21日
BINDの設定を修正して外部から参照できるように
Jan 18 00:35:11 pokota named[9435]: denied query from [***.***.***.**].16850
上記のエラーの原因を探ったら、named.confが以下のようになっていました。そりゃ、外部からの問い合わせが全てdenyになるわけで。今までセカンダリに任せきりだったんですねえ。
"omoshiro-joho.com" SOA/IN
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
query-source address * port 53;
allow-query {
any;
};
allow-recursion {
any;
};
allow-transfer {
any;
};
外部のテストサイトからdigコマンドを発行したら、無事ANSERを返すようになりました♪けれど今度はApacheの設定が正しくないみたいで、未だに外部からサブドメイン配下を参照できません--;
投稿者 bokupi : 13:22 | コメント (0) | トラックバック
2006年01月04日
プライベート用にサブドメインを用意
現在個人用の非公開Wikiを運用しているのだけど、通常の公開用Webサイトと同じドメインというのは、いつかアドレスが引っかかりそうで落ち着きません。そこで、サブドメインを作って、別ディレクトリに分けることにしました。その方がアクセス制御もやりやすいし。
BINDのomoshiro-joho.com(内部用)とomoshiro-joho.com.global(外部用)を変更しました。
omoshiro-joho.com
------ IN CNAME pokota
omoshiro-joho.com.global
------ IN CNAME omoshiro-joho.com.
いざテスト。しかし、何だか様子が変。どうも内部DNSを参照していない様子。クライアントPCの設定では、DNS参照にルータを指定し、ルータでは内部DNSサーバを指定しているのに。原因を探るべくnamed.confを見てると、forwarderに変なものを見つけたので、コメントアウト。
forwarders {
// 192.168.0.1;
210.135.90.1;
210.135.65.2;
};
これが原因か不明だけど、修正して少し経過したら、正しく動作しました。これで内部DNSはOK。続いて外部からdigコマンドで確認をしてみます。すると不発。あれこれしていると、そもそもDNSサーバに到達ができてないことに気づきました。そう、ルータのアドレス変換にDNS用の53番ポートを指定し忘れていたのです。。そこを修正したら無事動作確認。あとは伝播を待つだけです。
投稿者 bokupi : 16:27 | コメント (0) | トラックバック
2006年01月02日
あめぞうをちょっぴりハック?
あめぞうはスクリプトが公開されているので、ちょこちょこ面白いことができます。一昨年の暮れあたりには、リターンコードがbrタグに変換されることを利用して、名前欄に改行を入れたりしました。これは、\nだけを除去対象としており、\rが見過ごされていたので出来た技です。これは対処され、今は使えません。
続いて管理者名である「サポート」を利用できる方法です。それは制御文字を紛れさせることで、「サポート」の文字列一致の判定を回避することで実現できます。ただ、制御文字が何らかの形で表示されてしまうブラウザでは、意味がありません。FirefoxとIEともに表示されない制御文字は、1つしかありませんでした(何であったかは失念)。これも対処され、制御文字は全て使えなくなりました。
そして今回、過去スレッドの起点指定で、限界値判定がないことを利用して、マイナス指定をしてみました。-1000と指定すると、スレッド番号-1000から始まり、-999、-998と続いて表示されます。実際にどこのスレッドが表示されているのかは解析していませんが、本当にマイナス番号のスレッドがあるわけではないです。スーパーマリオの0ワールド技に近いものがありましょうか。特に利用価値はないですが、ちょい技って感じです。
投稿者 bokupi : 21:09 | コメント (0) | トラックバック
2005年12月30日
BINDデーモンが暴走してサーバレスポンス低下
自鯖にアクセスするとやけに重い。topコマンドで確認すると、おかしなものを発見。
2189 named 15 0 5088 1800 1128 S 0 2.6 0.7 16:26 named
どうやら昨日、フレッツスクウェアへ接続するために、一度インターネットから切断したことが原因の様子。16時間というCPU時間も大体符合するし。現在は、bindを再起動して平常に。
投稿者 bokupi : 13:27 | コメント (0) | トラックバック
2005年12月28日
自宅鯖の転送量
2chのスレを読んでいて、自宅鯖の転送量はいくつだろうと思って、調べてみた。Analogで週ごとに集計しているので、[一週間の合計/7*30]というアバウトな計算で算出した結果は、月単位1.1GB。ADSL8Mで十分だね♪
投稿者 bokupi : 22:31 | コメント (0) | トラックバック
2005年12月25日
掲示板の自動投稿広告を撃退する
メイン掲示板へ広告の書き込みが多くて鬱陶しいです。様々なホストで書き込みが来て、ドメイン制限は有効ではありません。うーん、どこかのリストに載ってしまったようですね。掲示板のURL(ディレクトリ名など)を変えれば一時的になくなりますが、またいつ引っ掛けられるか分かりません。
そこで、対抗策として、URLパラメータの引数名を変更してみました。Apacheのログを見る限り、POSTメソッド一発で来ているので、これで弾けるでしょう。まあ、向こうがどんな仕掛けでやっているのか、ちゃんと理解しているわけではないですが…
投稿者 bokupi : 15:27 | コメント (0) | トラックバック
2005年12月18日
cronで実行されなかった原因
Apacheのログ解析スクリプトであるanalogを毎週日曜の早朝に実施するよう、cronに設定したけれど上手くいかない。サイズ0のファイルが作成されている。で、パーミッションやらディレクトリ位置などいろいろ考えてみたけれど、正解はそもそもパスが通っていなかった∑ ̄ロ ̄。"/usr/local"配下が抜けてた。。で、追加したら難なく動作した。ああ、無駄な探求時間。。なんか以前も同じ失敗した気がするなあ。
投稿者 bokupi : 22:59 | コメント (0) | トラックバック
← → ALL page | 1 | 2 | 3 | 4 | 5 | 6 | 7