iどさにっき shuffle 〜2007年5月中旬〜

by やまや
<< = >>

2007年5月15日(火)

えすぷれっそ

_ なんかずいぶん書くのをサボったな。日記のかきかた忘れそうだ。というわけでリハビリをかねて、ひじょーにどうでもいい話。

_ コンビニで見つけたとある商品。
ICED ESPRESSO AU LAIT
言葉のつかいかたにはそれほど目くじらを立てるつもりはないので、意味はわかればまあそれでいいんだけど、とはいえこの節操なし言語ちゃんぽんはたいしたもんだ。

_ エスプレッソに牛乳を入れました、ということならば、espresso au lait なんてキメラな言葉をつくらなくても、すでに日本語としても定着してるカフェ・ラッテでいいはずなんだけどなぁ。いちいち明示しなくたってイタリアで caffe といえばエスプレッソなんだから。

_ というか、どう注文したらイタリアでふつーのレギュラーコーヒーが出てくるんでしょーか。以前コーヒー大好き名古屋人、だけど慣れた味しか受け付けない年寄り、という難儀な人といっしょにイタリアにいったとき、その名古屋人がコーヒーを飲みたいと駄々をこねたもんだからたいへんな目にあった。エスプレッソしかないんだもん。いろいろ苦労したあげく、とりあえずカフェ・アメリカーノなるもので妥協してもらえたんだけど、これはいわゆるアメリカンコーヒーではなく、エスプレッソのお湯割りだったりなんかする。けっきょくふつーのコーヒーを何と呼べばいいのか最後までわからんかった。


2007年5月16日(水)

inbound 帯域制御

_ ipfw の man を(いまさら)読んでたら、こんな例があった。

ipfw add pipe 1 ip from any to any out
ipfw add pipe 2 ip from any to any in
ipfw pipe 1 config delay 250ms bw 1Mbit/s
ipfw pipe 2 config delay 250ms bw 1Mbit/s
帯域制御の設定例なんだけど、これちゃんと動くのかいな。out は自分が「これからパケットを送出する」んだから制御可能だけど、in ってよそから自分のところに「すでに届いちゃってる」パケットなんだから今さらトラフィック制御のしようがないと思うんだけど。ipfw だろうが pf だろうが tc だろうが関係なく。実際に消費される帯域とは別に、そのパケットを受け取るべきプロセスに渡されるパケットのレートが制限されるってことなのかしらん。

_ まあ、いまどき ipfw ってこともないだろうし、いちいち確認する気にもならないけど。といいつつまだまだ動いてるけどなー。


2007年5月17日(木)

無題

_ ボケてるなぁ。

  1. インスタントのコーヒーを飲もうとするも、粉を入れてないからっぽのカップにお湯を注ごうとした。
  2. アホだなーと苦笑いしながらカップに粉を入れるも、そちらではなくコーヒーの瓶の方にお湯を注ごうとした。

inbound 帯域制御

_ きのうの続き。やっぱり自分のところに届くパケットの帯域制御はできない。少なくとも pf + ALTQ では。ipfw + DUMMYNET ではできちゃうんだろうか。できるはずないと思うんだけど。

_ たとえば、pf でこういう設定を書く。

altq on $ext_if bandwidth 1000Mb hfsc queue inbound
queue inbound { normal, tarpit }
queue normal bandwidth 999Mb hfsc(default)
queue tarpit bandwidth 128b hfsc(upperlimit 128b)
pass in log on $ext_if proto tcp from any to any port {smtp,submission} keep state queue tarpit
外からの SMTP 接続に対してだけ 128bps という超ナローバンドに絞ってやるぜ、という設定。しかし、実際には絞れないので数 MB のメールを送っても 128bps 以上の速度は出る。

_ が、これはこれで使い道があるかもしれない。この設定の場合、入ってくる SMTP 接続のパケットだけでなく、それに対する応答も 128bps に制限される。こちらから出ていくパケットの帯域制御は可能なので、つまり相手が送ってくるコマンドに対してのんびり応答する tarpitting が実現できちゃっているのである。デカいメールを送る前の EHLO や MAIL FROM などにはゆっくりと時間をかけさせるけど、DATA で 354 を返した後は制限なしですいすいと送れる。しかもカーネルだけで処理するから軽いし追加のツールもいらない。spammer っぽいクライアントにイライラ大作戦をしかけるのに好都合。

_ ……などという思いつきに浮かれていたが致命的欠陥に気がついた。たった 128bps しかない帯域を複数のクライアントでシェアするので、同時接続数が増えると tarpitting どころじゃないほとんどつながらない状態になってしまう。それじゃ使いものにならんでしょ。1コネクションあたりの帯域幅の制限とかできないかしら。

_ ちなみに、ALTQ の帯域制御スケジューラは cbq と hfsc があるけど(priq は優先制御だけで帯域制御はなし)、cbq は 5.8kbps 以下には設定できないらしい。いや、そんな超低速に設定することなんてありえないけど(←128bps に設定したじゃないか)。

Re: Postfix + clamav-milter (rc.subr 起動)

_ postfix で milter を使うときにソケットのパーミッションがうんこだから起動後で自分で修正してやる必要があるよの件。うちでは起動スクリプトは ports でインストールされたものをそのまま使い、/etc/rc.conf.local の方に start_postcmd を書いている。こんな感じで。

case $name in
milterdkim|miltersid|clamav_milter)
    start_postcmd="
	case \$${name}_socket in
	inet:*);;
	*)
	    count=10;
	    until [ -S \${${name}_socket##local:} -o \$count -le 0 ]; do
		sleep 1;
		count=\$((\$count-1));
	    done;
	    chgrp postfix \${${name}_socket##local:};
	    chmod g+rw \${${name}_socket##local:}
	    ;;
	esac"
    ;;
esac

_ 見てのとおり clamav 以外の milter でも共用している。かなりトリッキーではあるけど、ローカルの設定変更だけで済ませられるのなら改造はしないようにしてる。あるいは起動スクリプト程度ならば、いっそ hoge_enable=NO にしてしまっておしきせのものは使わず、自作したものを別の名前で置いておく。ささいな修正でもバージョンを上げたりするときには気にしておかなきゃいけないので、そういうのはできるだけ少なくしておいた方がメンテがラク。大がかりな改造よりもささいな変更ほど忘れられがちだし。


2007年5月20日(日)

はじめてのゆにっくす

_ おかしいなぁ。 ずいぶん最近の話のようだ。年はわしと3つしか離れてないはずなのに。

_ わしがはじめて UNIX というものを知った大学2年のとき(94年)には apt-get ができる Linux なんかなかった。というかそもそも Linux なるものを知らなかったし、さらにいえば自分がさわってるのは UNIX という名前の OS だと信じていた:-)。正しくは SunOS と呼ぶのを知ったのは機材が更新されて OS が Solaris 2.5 に変わった後だった。更新されたといっても、わしら下っ端学生がさわるのは TAKAOKA の X-MiNT のまま変わらなかったけど。

_ WWW が誕生したばかりのころで、そんなあやしげなものを知ってる人なんかほとんどいない。そのかわり、tty ベースのヘンなサービスがけっこうあった。ダイアルアップではなく telnet でつなげる草の根 BBS とか、telnet でつなぐと nethack がはじまるとか。で、WWW の発祥の地 CERN でもそういうサービスをやってたんだよね。telnet すると CERN line mode browser が動くの。まあ、WWW や gopher を使うためにいちいち CERN に telnet しなくても、その数日後には大学のマシンにちゃんと xmosaic が入ってたことに気がついたんだけどな(コマンド名が mosaic じゃなかったから起動しなかった)。大学の X 端末のモノクロディスプレイで playboy.com とか penthouse.com とかにいって洋モノエロ画像でハァハァしてた。JPEG 画像のインライン表示ができないから、いちいち外部ビューワの xv が起動するんだぜハァハァ。

_ root 権限をもらって自分でコンパイルするようになったのはそれから3年ぐらい経ってからだけど、そのときでも configure; make; make install なんてしくみじゃなかった。つーか xmkmf でずいぶん泣いた。むしろ Makefile を直接いじるのがあたりまえ。そういえば、この前 vmware の Solaris10 で top をコンパイルしようとしたら、最新版の top では Configure が configure に変わっていてぶったまけだ。大文字小文字の違いは大違い。つーか、最近の人は top のような基本的なツールを自力でコンパイルしたことなんかないんだろうなぁ。わしも数年ぶりだったわけだし。

_ あのころあんなふうにハァハァしてなかったら、今の自分はなかったんだろうと思うとなんだか感慨深い。若いころのハァハァはしておくもんだ。


<< = >>
やまや