« 2006年01月 | メイン | 2006年03月 »

2006年02月23日

Wanderlust 小ネタ [ カテゴリ : memo - Wanderlust ]

日付表示で年が出ないのがイヤだったので、、、と思って調べたが、emacs 変数のいじりかたまで忘れていたw


1.emacs 変数を設定する。
 *scratch* バッファとかで、 (setq ... ) な奴で最後の閉じ括弧のとこで、 C-x C-e
 最後に飛ぶのが C-e なので、 C-e C-x C-e ってやってる感じ。

2.emacs 変数の中身を見る。
C-h v らしいんだが、端末設定のせいか、うまくいかん(Backspace になる)ので、
M-x describe-variable とかでやってる。


3.Wanderlust で、一覧表示の日付に年を出す
wl-summary-line-format って変数で設定できるようなので、
中身を調べたら、

"%n%T%P%M/%D(%W)%h:%m %t%[%17(%c %f%) %] %s"

だそうなので。

(setq wl-summary-line-format "%n%T%P%Y/%M/%D(%W)%h:%m %t%[%17(%c %f%) %] %s")

を実行してから、wl 起動してやればいい。
毎回これやるの面倒なときは、 ~/.wl とかに書いておく。

投稿者 JK : 18:06 | トラックバック

2006年02月20日

PPP over SSH(Vine がサーバ/Win2K がクライアント) [ カテゴリ : memo - VPN over SSH ]

まぁ、出先でサーバのファイルを秀丸で編集したいとかいうときのために。

もぐらプロジェクトの設定を Vine でやったときのメモ。

もぐらプロジェクトの説明が微妙に実際と違う部分とかがある。
たとえば、インストール時に自分でデバイスの追加をやらなくても、
たぶんインストーラが勝手にネットワークアダプタデバイスを登録してくれるのだが、
手動でやれとか、そのへん。


なお、複数から同時に接続したい場合は
http://om.pizzica.to/archives/2006/03/ppp_over_ssh.html
も参照のこと。

クライアント側設定1:
もぐらの説明 http://www.kmc.gr.jp/proj/vpn/install-w2k-img.html
を見ながらやるのがいいんだが、項目3を先にやれば、項目2のドライバのインストールはやらなくていい。

1.
http://www.kmc.gr.jp/proj/vpn/release/PPPoverSSHTool-0.3-pre2.zip
を落とし、展開し、msi ファイルを開いて installer まかせ。

msi ファイルが関連づけがなくて開けない場合は、Windows Installer 2.0 ってのが必要。
http://support.microsoft.com/default.aspx?scid=kb;ja;292539
で手に入るそうで。

2.ドライバがインストールされていることを確認し、作業続行。
要するに、もぐらの説明の2-1~2-16をすっとばして、2-17に行く。
インストールされていなければ、2-1からの手順をやればいいのだろう。

3.鍵準備
もぐらの説明の4をやる。

ここで、ダイアログを閉じる前に「Public key for pasting into OpenSSH authorized_keys file」って欄に書いてある意味不明の文字列はコピーしておく。
後でサーバ側の ~/.ssh/authorized_keys に書いておかないといけないので。


鍵を作るときに、使う ssh protocol の version が決まるので、注意。
普通に Vine でやるなら、SSH2 の DSA鍵とかでいいんじゃないかと。

でも、環境によっては、SSH1 の RSA でだけうまくいったりする不思議。
後でうまくいかないときに、sshd の認証がうまくいってない場合は、
鍵かえてみるといいかも。

ここで、クライアント側は一休み。サーバ側設定に入る。

Vine 側PPP over SSH

1.pppd 入れる。ppp パッケージに入ってるので
# apt-get install ppp

2.sudo 入ってないなら入れる(いつも入れなくても入ってる気がする)
# apt-get install sudo

3.http://www.kmc.gr.jp/proj/vpn/server-setting.html
に従って設定するw

さきほど鍵作ったときにコピっておいた情報を使いますね。

4./etc/ppp/pap-secret で PPPパスワード設定
username * "password"
これは、Windows 側のダイアルアップ画面での username/password になる。
"" はこのファイルでは記述するが、パスワードはその内側部分になる。

クライアント側設定2
もぐらの説明 http://www.kmc.gr.jp/proj/vpn/install-w2k-img.html
の、項目5以降をやる。

サーバ側追加設定
お好みで、 Vine 側で samba とか走らせて、/etc/samba/smb.conf の hosts allow でIPアドレス制限かけるなり、iptables で制限かけるなりあれやこれやしてやるとかして楽しむ。

なお、ssh での接続は vpnacct 権限で行われるが、
そこを経由して起動した pppd で IP connection は別に vpnacct と関係ないものなので、
ppp パスワードを共有してかまわないのなら、vpnacct は1コあればいい。
たとえば、samba で二人がつなぐ場合は、それぞれ Windows ファイル共有のユーザー名、パスワードが異なるので、二人が vpnacct で PPPoverSSH していたとしても、samba に渡るユーザーは別々になる等々。

samba 以外はどうかっつーと、、、、、SSH で port forwarding すればいいと思うけど、
local port で listen とかやりたくないなら、まぁ好きにやればいいかと。

Windows 側で、コマンドプロンプトで route PRINT とかやって、ルーティング把握してないと混乱するかもね。


追記。2006/3/7
Windows から接続するときに、ループバック接続がどったらってエラーがでることもあるが、しつこくやると繋がる。
しつこくやるのがイヤな場合、/dev/pts/ の中のファイルが足りないのが問題らしいので、
ダミーで ssh 接続を同時に3つくらい繋いで(TeraTerm とかで)、すぐ3つを閉じてからやるとうまくいったりとか。
(/dev/pts/ のファイルが増えて、減る前に繋ぐ。いつ減ってるのかはまだわかんない)

もうちょい本質的な修正方法もありそうなもんだが、今は不明。
そもそも TeraTerm でやると増えて、それ以外だと増えないというのはなんでなんだろ~。

投稿者 JK : 22:33 | トラックバック

2006年02月08日

Vine で named(bind) [ カテゴリ : memo - 自宅サーバ設定(Linux、たまにWindows) ]

http://www.zoneedit.com/ のサービスを使っていたら、障害で通らなくなったりしてたので、自前のプライマリ、zoneedit.com のセカンダリという作りに変更してみた。

参考
http://cyberam.dip.jp/linux_server/dns/bind_main.html

1. Vine の rpm で bind をインストール
# apt-get install bind

2./etc/named.conf を作る
- ログは /var/log/named/named.log。ただし /var/log/message にも残る
- zone ファイルのディレクトリは /var/named/

options {
    directory "/var/named";	// ZONE FILE の置き場所		
    forwarders {		// 自前で名前解決できないときに問い合わせる外部DNSサーバ
        XX.XXX.XXX.XX;		// 利用している ISP のを使っている。
	YY.YYY.YYY.YY;	
    };
    allow-transfer {AAA.AAA.AAA.AAA; BBB.BBB.BBB.BBB ;}; // zoneedit.com の slave server へのZONE転送許可
};

logging {	//	ログの設定。よくわからんが、こんなで。
	channel default-log {
		file "/var/log/named/named.log" versions 5 size 1m;
		severity info;
		print-time yes;
		print-category yes;
	};
	category default {
		default-log;
	};
};

zone "localhost" IN {	//	localhost 正引きファイルの指定
    type master; // secondary DNS なら slave (以下同様)
    file "localhost.zone";
};

zone "0.0.127.in-addr.arpa" IN { //	localhost 逆引きファイルの指定
    type master;
    file "0.0.127.in-addr.arpa";
};

zone "pizzica.to" IN {	//	独自ドメイン正引きファイルの指定
	type master;
	file "pizzica.to";
};
192.168.*.* とかをLAN内で扱って、DNSサーバに扱わせる場合は、そのあたりの内部情報は外部から引けないように設定する必要あり。
そゆときは、たぶん1つの host を LAN では local ip address で、外部からは global ip address で引きたい場合になるだろうから、 view と match-client 使って分ける。
うちではやってないけど。

あと、zone "." について、キャッシュを置くのが一般的らしいので、そのうちやろう。

このあたり、全部参考URLに書いてあった気がする。

3.
/var/log/named ディレクトリを owner named:named で作る。
/etc/logrotate.d/named を直す(/var/log/named/named.log を指すように) 。

4./var/named/の中にzoneファイルを作る
- localhost 正引きファイル
- localhost 逆引きファイル
- 独自ドメイン正引きファイル

独自ドメインを 固定 IP Address でやっているが、
逆引きは ISP の DNS に登録されているので、独自ドメイン逆引きはやらない。

以下設定そのまんま。dig れば解ることなんだけど、一応一部伏せつつw

file:localhost.zone
$TTL 1D
@   IN    SOA    localhost.    root.localhost. (
       2005021401
       3H
       15M
       1W
       1D )
       IN    NS     localhost.
       IN    A      127.0.0.1


file:0.0.127.in-addr.arpa
$TTL 1D
@   IN    SOA    localhost.    root.localhost. (
                      2005021401
                      3H
                      15M
                      1W
                      1D )
    IN    NS     localhost.
1   IN    PTR    localhost.

file:pizzica.to の抜粋
$TTL 3600
@    IN SOA jk4.pizzica.to. hogeroot.pizzica.to. (
	2006020801	    ;serial
	3H		    ;Refresh 3H
	15M		    ;Retry 15M 
	1W		    ;Expire 1W
	1D		    ;Minimum 1D
	)

	IN NS XXxXXxXXxXXX.xxxx.xxxx.xxxx.ne.jp.
	IN NS nsXX.zoneedit.com.
	IN NS nsXX.zoneedit.com.

	IN MX 10 eighty.pizzica.to.
	IN MX 20 jk.pizzica.to.

@	IN A 59.87.28.134	
jk	IN A 59.87.28.130
eighty	IN A 59.87.28.134
www	IN A 59.87.28.134
om	IN CNAME www
・$TTLは、他のサーバがキャッシュする時間なので、設定変更中は短く最終的には長く。全てのファイルで指定。
・SOA/NS は全てのファイルで指定。
・SOA 行頭の @ は、 named.conf で定めたドメイン名(pizzica.to.)になる。他でも同様。
・IN は internet のことだそうで、常にIN。NS でも MX でも A でも CNAME でも。
・hostname 等の最後は . をつける。つけないと、ドメイン名が追加される。
om = om.pizzica.to. om.pizzica.to. = om.pizzica.to. om.pizzica.to = om.pizzica.to.pizzica.to と解釈される。
・SOA は hostname serveradmin で、server admin はメアドだが、@ ではなく.をつけ、最後の.も忘れずに。
・SOA のカッコ内は、pizzica.to ファイルのコメントのとおりだが、Serial ってのは、ファイルを変更する都度数字を増やす。増やし忘れていると、セカンダリが情報を更新されてないとみなしてしまう。日付+枝版にするのが解りやすくていいらしい。Serial 以外はよくわからん(爆)

・NS はネームサーバ。セカンダリを指定しておかないと、情報が転送されない。自分自身も指定しておく。
・NS 登録は localhostの正/逆引きでは localhost だけでいい。
・NS の zoneedit.com の奴はもちろん、zoneedit.com が指定するものを。

・MX はメールサーバ。優先順位を示す番号をつける他はNSと同様。IPアドレスではなく hostname で書くものらしい。

・A は正引き用の名前とIP アドレスの対応づけを定義する。 「名前 IN A IPアドレス」
・CNAME は別名を定義する。

・PTR は逆引きの定義なので、逆引きファイルにしか書かれていない。
 たぶん、行頭の1 は 127.0.0."1" の 1なんだろうな。(引けるからいいや)

5.設定確認 /sbin/chkconfig で自動起動の設定。 /sbin/service で起動。
設定ファイルのチェックは

#/usr/sbin/named-checkconf /etc/named.conf
#/usr/sbin/named-checkzone pizzica.to /var/named/pizzica.to

とかやることで出来る。エラーでないのを確認したら、chkconfig/service で起動。

# /sbin/chkconfig named on
# /sbin/service named start

/var/log/messages, /var/log/named/named.log を確認する。

6.zoneedit.com で slave として登録をしてやる。
無料でプライマリセカンダリ両方でも、セカンダリ2つでもできるというサービスなり。
英語読めない人にはつらいのかもしれないけど、日本語でも似たサービスあるんじゃないかと。

7. dig で動作確認
dig が入ってないなら、 apt-get install bind-utils で。nslookup もこれで入る。

$ dig @localhost ANY pizzica.to
$ dig @other-dns-server.zoneedit.com SOA pizzica.to
$ dig @other-dns-server.dokkanodomain.com SOA pizzica.to
$ dig om.pizzica.to
$ dig MX pizzica.to
$ dig @localhost 1.0.0.127.in-addr.arpa

とかやって引けるかどうか。@でDNSサーバを指定できるので、zoneedit.com のセカンダリや、関係ない外部DNSサーバなんかを指定して情報の流通状況を把握し、行き渡ったら終了。
DNSサーバの指定がない場合、/etc/resolv.conf の中のサーバ使ってくれる。

ちなみに、最後のは逆引きの確認。arpa とかよくわかんないってんなら、

$ nslookup 127.0.0.1 -server localhost

とかやってもいい。

うまくいかないなら、ps aux で named 走っているかってのと、ログの内容見直すのと。
まぁ、当然 slave が情報もっていくまで時間はかかるが、ZONE転送があると履歴がログに残るので、それ見てから。

8./etc/resolv.conf は好きに書き換える。
自分は敢えて ISP のを指定して、ヨソで正しく引けているか確認している。

投稿者 JK : 15:41

2006年02月07日

postfix で queue に溜まりっぱなしのメールを調べたり消したり [ カテゴリ : memo - 自宅サーバ設定(Linux、たまにWindows) ]
[ カテゴリ : ★postfix ]

まぁ、明らかに存在しないアドレスへの再送信試行がやたらログに残っちゃってるときとかに。

# postqueue -p
で、ID のリストを見る。
9DE9182F10 とかいう ID はここでわかる。
(ログなり spool のファイルなり漁ってもわかるけど)

# postqueue -f
で、全部の溜まってるメールの再配送を試みる。

もう、配送しなくていいやってメールは

# postsuper -d 9DE9182F10

とかやって消す。

以上。

投稿者 JK : 17:49 | トラックバック

2006年02月01日

postfix で virtual domain [ カテゴリ : memo - 自宅サーバ設定(Linux、たまにWindows) ]
[ カテゴリ : ★postfix ]

main.cf (Vine なら /etc/postfix/main.cf) で

virtual_alias_domains = om.pizzica.to
virtual_alias_maps = hash:/etc/postfix/virtual

とか書いて、 /etc/postfix/virtual で

address@virtualdomain address@realdomain

みたいなのをずらずら書けばいい。

virtual_alias_domains に書いたドメインは、mydestination に書かなくても平気。
簡単だった。

投稿者 JK : 10:20 | トラックバック

cygwin で日本語(SJIS)環境 [ カテゴリ : memo - CUI環境 ]

SHIFT-JIS にしたいわけだが。

.inputrc で
set meta-flag on
set convert-meta off
set input-meta on
set output-meta on

(だけだとEUCは入力できるけど~という状態。bash 取り替えないとだ。)

.bashrc で
alias ls="ls -F --color=auto --show-control-chars"
export JLESSCHARSET=japanese-sjis
export LANG=ja_JP.sjis

(といいつつ、日本語 less 入れてないけど。)

.emacs とかで
(set-default-coding-systems 'japanese-shift-jis-unix)
(set-buffer-file-coding-system 'japanese-shift-jis-unix)
(set-terminal-coding-system 'japanese-shift-jis-unix)
(set-keyboard-coding-system 'japanese-shift-jis-unix)

.vimrc で
set encoding=sjis
set fileencodings=iso-2022-jp,sjis,utf-8,euc

さらに、コマンドメッセージの対応として
http://www.sixnine.net/cygwin/cygwin-doc/japo.html
ってのが。 nkf が必要って書いてあるが、他に、 gettext , gettext-devel, 関連ライブラリも必要。

あとは、SHIFT-JIS をコマンドラインで使える日本語 bash が欲しいところだが(ls とかのパラメータがSJISなので)、Cygwin JE の奴がなんかヘンなので、宿題。

投稿者 JK : 00:37 | トラックバック