DNS サーバーで自分自身の名前解決ができないとき

セカンダリ DNS サーバーを構築していて, 自分自身の名前解決ができなくなってはまりました...

現象

プライマリ DNS が生きている時は正常だが, プライマリ DNS がダウンすると, セカンダリ DNS の 自分自身の名前解決ができなくなる.

結果的に, 自ドメインの名前解決もできなくなる.

プライマリ DNS が正常な場合でも, 自ホストで dig を実行した場合に名前解決ができない.

下記のようになってしまう.

$ dig @slave.example.jp www.example.jp
;; reply from unexpected source: xxx.xxx.xxx.xxx#53, expected 127.0.0.1#53
;; reply from unexpected source: xxx.xxx.xxx.xxx#53, expected 127.0.0.1#53
;; reply from unexpected source: xxx.xxx.xxx.xxx#53, expected 127.0.0.1#53

原因

/etc/hosts に自ホストが登録されていなかったため.

自ホストを追加することで解消されました.

--- /etc/hosts.bak	2009-03-04 19:27:20.000000000 +0900
+++ /etc/hosts	2009-03-04 19:46:25.000000000 +0900
@@ -12,7 +12,6 @@
 #
 ::1				localhost slave.example.jp
 127.0.0.1			localhost slave.example.jp
+xxx.xxx.xxx.xxx		slave.example.jp slave
 #
 # Imaginary network.
 #10.0.0.2		myname.my.domain myname

通常の運用なら, 自ホストが登録されてないと, メールの配送トラブルなどにつながるので, すぐに解るのですが, 今回は jail を使用して構築しており, DNS 以外のサービスを動かしていなかったので発見が遅れました.

また, プライマリ DNS が正常に動作しているときは, プライマリ DNSセカンダリ DNS 自身の名前解決をしてしまうために, 現象が再現せず, かなり悩みました.

でも, 構築時のチェック漏れが根本原因.

反省です...

改行とタブと全角スペースを見えるように

以前までは, このへんを参考に .emacs にゴロゴリ書いていたのですが, もうちょっとスマートに設定できたらなぁと思ってました.

本業をしつつ, なかなかモチベーションが上がらないので, 徘徊していると, 下記を発見.

jaspace.el

NetBSD 絹の日記

上記を参考に設定してみました.

(setq jaspace-alternate-jaspace-string "□")
(setq jaspace-alternate-eol-string "\xab\n")
(setq jaspace-highlight-tabs ? )
(defface jaspace-highlight-tab-face
	'((t (:background "white smoke"))) nil)
(require 'jaspace)

これで, とてもすっきり.

UNIXの基礎

FreeBSD-users-jp ML より

UNIXプログラミング環境」はカーニハンの本ですか?
これは間違いなく一級品のテキストです。間違っても
捨てたりしないでください。今時の「Linux何とか..」
にはこれに匹敵する本は皆無と言っていいぐらい。

これに触発されて購入してしまいました.

UNIXプログラミング環境 (海外ブックス)

UNIXプログラミング環境 (海外ブックス)

UNIX の基礎力については, まだまだ未熟です.

Webアプリ開発には強くなれたけど, UNIX のプログラミングについてはド素人に近いですから...

もっと精進したいと思います.

2009-02-22 追記

FreeBSD-users-jp ML の Reply

実のところ、「UNIXプログラミング環境」も「Life with UNIX」も、初心者に無条件で勧めては
いけない書籍、という部類に属する本だったりします。

歴史的なことを学ぶには確かにいいのですが、内容としては太古の昔のものであり、現在
となっては「絶対にやってはいけないこと」がそこかしこに見られます。現在の常識を学ん
だ上で過去の歴史を学ぶにはいいのですけどね…。

初心者に勧めると火傷する部類ですかね...

初心者な方々にどういう書籍を勧めればいいのか、という問題は非常に悩ましいのです。

たしかに悩ましいです.

特に自分自身, 書籍より Web で学んだ方が遥かに多いですし.

書籍を購入するのは, Webでは得られない情報がある場合に限りますね.

そんな僕のおすすめ.

lisp がとっつきにくい!」という方へおすすめ. 文章もとても読みやすいです.

リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)

リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)

プロジェクトマネジメントで頭を悩ませている時, 直ぐに使える実践法がたくさん載ってます.

Manage It! 現場開発者のための達人式プロジェクトマネジメント

Manage It! 現場開発者のための達人式プロジェクトマネジメント

JDEE

JDEE(http://jdee.sourceforge.net/) を使いたくて入れてみた.

普段は Eclipse を使っているんですが, Emacs との切り替えやバッファの移動がしっくりこないので...

Eclipse 3.x が出る前までは, バリバリ使っていたんですけどね.

改めて使ってみると, 構文補完が非常にやりにくい...

コーディングのみなら, Eclipse の方が数倍速い感じ.

というわけで, Eclipse へ戻ってしまいましたorz

完璧に自分好みの環境にするには, まだまだスキルも時間も必要なようです...

emacs-snapshot

家で使ってる VAIO@WinXP のキーボードが最強に不調なので, 出先用にしていた EeePC@Ubuntu に生活の場を変えてみた.

emacs-shapshot のパッケージを入れてみたけど, アイコンが Emacs22 のままorz

ってことで, CVS HEAD をビルドしました.

さすがに時間かかったけど満足ですw

POP3のメールが多すぎて受信できない時

自分とこのサーバーは, 随分前に POP3 は捨てて IMAP4 に移行しているのですが, 関りのあるメールサーバーで, POP のメールが多くなりすぎて受信できない問題に出くわしました.

最初は, リモートメールBOXで受信したら... って思ったのですが, それもタイムアウトして無理でした.

telnet で直接 POP3 とお話しすれば, 何とか動くみたいなので,

$ telnet mail.example.jp 110

...

user username
pass password
+OK username has 11215 visible messages (0 hidden) in 457437711 octets.
list
+OK 11215 visible messages (457437711 octets)

上記のようにしてログイン.

ここまでできれば, コマンドラインで一通りの操作ができるはずです.

list コマンドでメールリストを取得.

list

1 2792
2 5775
3 4881
4 4368
5 9712
6 5773
7 1860
8 4937
9 2487
10 2469
11 1166228

...

19482 8294
  • 「RETR メッセージ番号」で, メールの内容確認
  • 「DELE メッセージ番号」で, メールの削除

ができます. 詳しくは下記参照.

POP3コマンドの一覧

あとは, Excel などで,「DELE メッセージ番号」の文字列を大量に作って, 端末へ貼りつければ OK!

dele 1

...

dele 121
dele 122
dele 123
dele 124
dele 125
dele +OK Message 1 has been deleted.
+OK Message 2 has been deleted.
+OK Message 3 has been deleted.
+OK Message 4 has been deleted.
...

強引ですが, 1000通くらいは問題無く削除できました.

最後は, quit でログアウトするのを忘れずに!

quit
+OK Pop server at localhost signing off.
Connection closed by foreign host.

無事に受信できるようになりました.

POP3 + mbox は使いたくないですね...

emacs-w3m で TracWiki 編集

emacs-w3m で TracWiki を編集しようと思うと,

Bad Request

Missing or invalid form token. Do you have cookies enabled?

と言われて編集できません...

ちなみに, Terminal からの w3m なら編集できます.

emacs-w3m のバージョンは, CVS Head と 1.4.4 を試したけどダメ...

エラーが出る時, Http Status 401 が返ってきてるので, HttpRequest まわりが怪しい気がします.

暇な時にじっくり調べてみることにします...