Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
*Backtrace*(2003-07)
[go: Go Back, main page]

書いてる人: 高橋カヲル | [mixi] | [PGP] | [TETRiS DS] | [portscout] | [RSS]

トップ 最新 追記

*Backtrace*

1999|12|
2000|01|02|03|04|05|06|07|08|09|10|11|12|
2001|01|02|03|04|05|06|07|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|

2003-07-01

_ CVS committer name

CVS では committer account に @ が入ることを想定していないようだ。 ,v が使い物にならなくなる。セミコロン (;) がアウトだろうことはわかっていたのだが、@ もダメだとは。 ,v をいじって @@ に書き換えても cvs log の表示が切なくなるだけで @ には戻らない。

_ Texinfo 4.6

いまさら Language の Changes を眺める。 @/ と @dofirstparagraphindent が追加されていたのか。もう ptexinfmt.el でがんばる気なんてまったくない。手元の patch は本家の texinfmt.el で対応してもらえるように Robert にすべて投げる方向で。ほとんど吐き出してますが。古い Emacsen 使ってるなら makeinfo を使えよと。 Char-Index が欲しいなら Info-tagify だけやれよと。


2003-07-02

_ /etc/passwd

事故防止には sudo env EDITOR=less vipw が使えることにいまさら気づく。 lock するのが迷惑ではあるが。

_ メタルギア・ソリッド インテグラル VRリプレイ

ようやく DVD から吸い上げて .VOB の状態で手元に置いた。このままじゃデカすぎる。圧縮する方法を適当に調べなければいかんな。


2003-07-03

_ 買物

寺町へ買物。コンタクトレンズをついでに買おうと思ったのだが時間がない。

_

TODO を潰しまくった夜。


2003-07-04

_ 168.192.in-addr.arpa

168.192.in-addr.arpa. のレベルから乗っ取ることにした。組織内 root server を立てるのはアリエナイ。

_ ばんめし

ラーメン屋に行ってもラーメンを食わない修行。

_ router 乙

make build の負荷で router が落ちたので KRP までダッシュするハメになる。


2003-07-05

_ pop'n9

リハビリ@河原町KING。☆☆コースの98位に kaoru 京都府が残っているのを確認。 100位より下に落ちるのは時間の問題。もう一回やりなおす時間も気力もない。

_ [Emacsen] APEL 10.6

_ [Emacsen] Wanderlust 2.10.1 (Watching The Wheels)

_ pf & mssfixup

完全にうまく行く保証などないが、

scrub out on $ext_if all max-mss 1414

でひとまずなんとかなった。というわけで mpd + pf の実験運用開始。


2003-07-06

_ pop'n9

リハビリ@七条KING。郵便物受取りのついで。階段の弱さが不安定さの原因よな。 325476 タイプは得意なんだが、 234567 はもうダメ。

_ プール調教

すこし間があいたので、潜水で 25m いけるかチェックしようとしたら邪魔が入って萎え。ちんたら泳いでるならまだ許せるが、コースの途中で横切るんじゃねえよよ。

_ pf vs. アレゲルータ

一晩寝たのでまとめよう。実験環境は

  • pf_freebsd-1.0_4 + FreeBSD 5.1 (RELENG_5_1)
  • ng0 ($ext_if) の MTU は 1454 (Bフレッツ)
  • fxp0 ($int_if) の MTU は 1500

まあ経路にアレゲルータ(ブラックホールルータ)がいなければ問題ない話なんだが、「世間の対策を待っているうちに時間切れになる」ので自衛しなけりゃならない。

* ホスト名

  • trent: 自分の管理下の PPPoE ルータ
  • alice: trent より内側のネットワークにいる
  • bob: alice の通信相手
  • アレゲルータ: ICMP をすべて落としてしまうルータ

alice も bob も常に DF ビットの立った IP パケットを送るとしよう。アレゲルータはひとまず「ICMP をすべて落としてしまう」ことにする。

* 関連研究

* traceroute -P (NetBSD 限定)

alice が NetBSD なら traceroute -P が便利。

       -P     Set  the "don't fragment" bit, and use the next hop
              mtu each  time  we  get  the  "need  fragmentation"
              error, thus probing the path MTU.

traceroute が投げるパケットは udp だから、 mss の書き換えは効かない。 mssfixup にだまされずに PMTUD の様子を調べることができる。 DF ビットを落とされるとさすがに調べられない。

scrub out on $ext_if all no-df random-id

なんて激しい rule を書いてから traceroute -P の挙動の差を調べるとよくわかる。こんな乱暴なことは実験中だけ。

* まずは往路について考えよう

trent が mss 書き換えを何もしなかった場合の往路について考える。 alice は自分の MTU の限界ギリギリである 1500オクテットの IP パケットを bob に向かって送る。 1500オクテットでは大きすぎて trent の ng0 を通過できない。 trent が alice に ICMP NF (need fragment) を返し、 alice は 1454 オクテットのパケットを bob に向かって送る。ここですんなり bob に届いてしまえば往路は問題ない。つまり trent (の ng0) が往路の最小 MTU だった場合だ。

 alice --- 最小 MTU(trent) ---  bob   (アレゲルータ無し)
 alice --- 最小 MTU(trent) --- アレゲルータ  --- bob

trent が往路の最小 MTU でなくても、アレゲルータより手前に最小 MTU があれば、再度 ICMP NF が戻ってきて往路は問題ない。 alice から見れば trent だろうがそれより向こうだろうが、 ICMP が帰ってくることに代わりはない。

 alice --- trent --- 最小 MTU --- bob
 alice --- trent --- 最小 MTU --- アレゲルータ  --- bob

しかし

 alice --- trent --- アレゲルータ  --- 最小 MTU --- bob
 alice --- trent --- アレゲルータ  --- 最小 MTU --- bob

だとどうだろう。アレゲルータによって ICMP が落とされてしまう。 bob にパケットが届かず、かといって ICMP が戻ってくるわけでもない。タイムアウトを待つことになるわけだ。

* 復路

 alice --- 最小 MTU --- bob
 alice --- アレゲルータ --- 最小 MTU --- bob

は救えるが、

 alice ---  最小 MTU --- アレゲルータ --- bob
 alice --- アレゲルータ  --- 最小 MTU --- アレゲルータ --- bob

なんかだともうどうしようもない。お手上げ。

* 復路のパケットを小さくしてもらう

フレッツで PPPoE している場合だと trent (の ng0) が往路の最小 MTU だという場合が多い。

 alice --- 最小 MTU(trent) ---  bob   (アレゲルータ無し)
 alice --- 最小 MTU(trent) --- アレゲルータ  --- bob

のパターンが多くなるというわけだ。前者は問題なく通信できるから放置。後者のパターンを救うために bob から送ってもらうパケットのサイズを (アレゲルータに関係なく届く程度に)を小さくしてもらう、という戦略が考えられる。 alice が bob に通知する mss を trent が小さく書き換える。

scrub out on $ext_if all max-mss X

bob に通知される mss が X オクテット以下になるわけだから、 bob から送られてくるパケットのサイズが小さくなることを期待できる。具体的なサイズは X + 20 (IP ヘッダ) + 20 (TCP ヘッダ) [オクテット]。 bob から送られてくるパケットのサイズが、復路の最小 MTU より小さくなっていれば、復路のパケットはアレゲルータが挟まっていても届く。これで救えるのは以下の条件をすべて満たすケース

  • TCP の通信
  • mss 通知前に bob から送られるパケットのサイズが最小 MTU 以下
  • alice --- 最小 MTU --- アレゲルータ --- bob の順
  • 最小 MTU が X + 20 (IP ヘッダ) + 20 (TCP ヘッダ) よりデカい

X は 1414 以下にしないと意味がない (フレッツの場合)。ヘッダサイズが 20+20 という保証はないらしいので、実際にはそのぶんのマージンをとって設定する。

* 往路のパケットも PMTUD に頼らず小さくしてもらう

alice --- アレゲルータ --- 最小 MTU --- bob
alice --- アレゲルータ --- 最小 MTU --- アレゲルータ  --- bob

も救ってやりたいなら alice に通知される mss も縮めてしまう手がある。

scrub in on $ext_if all max-mss X
scrub out on $ext_if all max-mss X

これで救えるのは以下の条件をすべて満たすケース

  • TCP の通信
  • mss 通知前に bob から送られるパケットのサイズが最小 MTU 以下
  • mss 通知前に alice から送るパケットのサイズが最小 MTU 以下
  • 最小 MTU が X + 20 (IP ヘッダ) + 20 (TCP ヘッダ) よりデカい

trent が最小 MTU ではないケース (最小 MTU < 1454) を救いたいわけだから、 X にギリギリの 1414 を設定したのでは意味がない。経路の最小 MTUを見積もって激しくマージンをとるべき。

* まとめ

alice --- 最小 MTU(trent) --- アレゲルータ --- bob のパターンだけ救えればいいなら、

scrub out on $ext_if all max-mss 1414

1414 より小さめにする。マージンと最速 MTU を意識して 1408 = 1448 - 40 や、 1360 = 1400 - 40 あたりに設定するのも手。alice --- アレゲルータ --- 最小 MTU --- アレゲルータ --- bob も救ってやりたいなら

scrub in on $ext_if all max-mss X
scrub out on $ext_if all max-mss X

自分が見積もった最小MTU - 40 を X に設定する。


2003-07-07

_ IP-in-IP

出張のタイミングをずらして、オレが京都にいるうちにトンネル作業。

_ 七夕

.


2003-07-08

_ 東京出張

プールなんか行くもんだから、丹波口で乗り遅れていきなりタクシー使うハメになる。

_ 決算呑み

呑みとカラオケ。呑み足りないスギ。


2003-07-09

_ dnscache forwarding to 127.0.0.1

dnscache を複数のアドレスで listen させるために IP に 0.0.0.0という裏ワザ的な手を使ったこともあった。が、もう使わないことにした。 192.168.0.1, 192.168.0.2 の両方を振っている場合など、 192.168.0.2 にきた問い合わせを src 192.168.0.1 で返して困ったことになる。 IPv6 patch を当てると 0.0.0.0 で listen する技自体が使えなくなる。

* 方針

複数上げるのを嫌がった理由はなんだったんだろうか。考えてみた。

  • メモリを食うくせに cache を共有できないのが嫌
  • root/servers の設定を共有できないのがイヤ (.flets の forward など)

いろいろ逃げ道は考えられるが、forward を使うことにした。まずは 127.0.0.1 で dnscache を上げる。気合いを入れて設定するのはコイツだけ。他のネットワーク向け、例えば 192.168.0.2 や 10.0.0.2 で上げる dnscache は問い合わせを 127.0.0.1 に forward してやる。例として

  • vlan0 には 192.168.0.2 で DNS cache サーバを提供
  • vlan1 には 10.0.0.2 で DNS cache サーバを提供

する場合を考えよう。

* dnsroots.global

dnscache-conf を走らせる前に dnsroots.global を変更しておく。 my ports に放り込んであるパッチ。

  • j.root-servers.net の変更に対応。
  • 日本にあって近いとわかっている m.root-servers.net に最初に問い合わせにいく
  • a.root-servers.net は集中砲火を浴びているので最後に持っていく。
$OpenBSD$
Now j.root-servers.net is 192.158.128.30. (SERIAL 2002110501)
Use m.root-servers.net first for Japenese user.
Move a.root-servers.net to last.
--- dnsroots.global.orig	Wed Jul  9 12:45:23 2003
+++ dnsroots.global	Wed Jul  9 12:45:49 2003
@@ -1,4 +1,4 @@
-198.41.0.4
+202.12.27.33
 128.9.0.107
 192.33.4.12
 128.8.10.90
@@ -7,7 +7,7 @@
 192.112.36.4
 128.63.2.53
 192.36.148.17
-198.41.0.10
+192.58.128.30
 193.0.14.129
 198.32.64.12
-202.12.27.33
+198.41.0.4

djbdns の root server の探し方を知っていれば、この変更の効果もわかる。すでに dnscache-conf をして dnscache を運用している場合は root/servers/@ を書き換えるといい。

* 設定

# dnscache-conf named multilog /var/dnscache 127.0.0.1
# dnscache-conf named multilog /var/dnscache-vlan0 192.168.0.2
# echo '127.0.0.1' > /var/dnscache-vlan0/servers/@
# echo '1' > /var/dnscache-vlan0/env/FORWARDONLY
# touch /var/dnscache-vlan0/root/ip/192.168.0
# echo '64' > /var/dnscache-vlan0/env/CACHESIZE

要は 127.0.0.1 で普通に dnscache を上げる。名前引き関係はこっちの dnscache で設定をする。キャッシュは大盛りで。 192.168.0.2 で FORWARDONLY な dnscache を上げる。アクセス制限関係はこっちの dnscache (dnscache-vlan0) で設定する。キャッシュを激しく小さめ (ここでは 64) にしておく。 vlan1 に関して同様。 CACHESIZE は 100 未満にしても強制的に 100 になるようだ。

_ X20 fxp driver

http://support.intel.co.jp/jp/support/network/adapter/pro100/linux_driver.htmから取ってきていれよう。


2003-07-10

_ ばんめし

北海亭→白山ラーメン→そのままじゃぽん。

_ 帰宅

若いのを二人おくってから実家に戻り。


2003-07-11

_ お仕事

溜池

_ ばんめし

一蘭→大将。ダメすぎる。

_ FreeBSDでの kernel message の色を変える

ふーむ、option SC_KERNEL_CONS_ATTR でいけるのか。


2003-07-12

_ アキバ

京都に戻る前に秋葉に買物。private な買物はなんにもない。

_ ifconfig vlan0 vlandev ... link0

man ifconfig していて link0 パラメータに気づく。(OpenBSD)

Note: if the link0 flag is set on the vlan interface, thevlan pseudo interface's behavior changes: the link0 tellsthe vlan interface that the parent interface supports insertion and extraction of vlan tags on its own (usuallyin firmware) and that it should pass packets to and fromthe parent unaltered.

link0 をつけてやるとハードウェアでの IEEE 802.1Q サポートが有効になるようだ。もちろん NIC に依存する話だが。

kaoru@fomalhaut% cat /etc/hostname.vlan0
vlan 69 vlandev em0 link0
inet 192.168.69.1 0xffffff00

em は(少なくとも OPENBSD_3_3 では) パッチを当てないといかん。


2003-07-13

_ [URL] 議会制弾幕回避機関

移転していたのでメモしなおし。

_ [URL] ジャパネットたかた&ナイキ コラボレーション緊急企画

抽選で1名にマットレスのプレゼント。まあ見とけ。

_ [URL] FreeBSDでの kernel message の色を変える

続き。src/sys/dev/syscons/ 以下をあさってみた。

options SC_KERNEL_CONS_ATTR="(FG_WHITE|BG_BLACK)"
options SC_KERNEL_CONS_REV_ATTR="(FG_BLACK|BG_LIGHTGREY)"

が FreeBSD のデフォルトらしい。

* NetBSD カラー

NetBSD (i386) では特にいじらず kernel config したら opt_wskernattr.h がこんなになるようだ。

/* option `WS_KERNEL_MONOATTR' not defined */
/* option `WS_KERNEL_COLATTR' not defined */
/* option `WS_KERNEL_BG' not defined */

src/sys/dev/wscons/wsemul_vt100.c に書いてあるデフォルトは以下の通り。


とりあえず似せるなら

options SC_KERNEL_CONS_ATTR="(FG_GREEN|BG_BLACK)"

としてやればいい。SC_KERNEL_CONS_REV_ATTR と区別がつかなくなるのは困るので、とりあえずここまで。

_ [URL] NIC MANIA

memo


2003-07-14

_ 戻り

京都に戻ってまいりました。


2003-07-15


2003-07-16

_ [URL] RjpWiki

懐かしいのぅ。

  • #Ruby:*.jp 方面でCRANって名前だとカブりますよと微妙に警告
  • この日記に GNU S って書くと typo みたいだなオイ
  • ESS をいじろうとして放置プレイ
  • メルセンヌツイスターな R 関数を作ろうとして放置プレイ

とかいろいろあったな(遠い目)。[/.J]psppが (今の) SPSS コンパチだなんてのは大嘘だ。

_ 寺町

間違って届いた PC のクレームの一報を入れにいく。


2003-07-17

_ プール調教&マシントレ

新しい水着が欲しくなった。プロテインも切れそうだ。

_ トンネルビルド

KRP でトンネルビルドの準備。人間のための温度設定じゃないのはわかっているのだが、寒すぎる。

_ $NetBSD$

持ってきたソースの $NetBSD$が展開されているかを手軽に確認するにはどうしたらよいのだろう。 $FreeBSD$ や $OpenBSD$ でも同じことなのだが。 $NetBSD$ の状態(展開されていない)で commit されたファイルを知っていればそれを調べるのが早い。 Revision 1.1 のものは、たいてい $NetBSD$ で commit されている。たとえば src/usr.sbin/unlink/Makefile が使える。


となっていれば展開に失敗していることが一目瞭然。正常に展開されていることを確認するには、レポジトリにあたらないといけない。 src/usr.sbin/unlink/Makefile はいつ変更されるかわからないからだ。


ちなみに $NetBSD$ の展開はサーバー側の責任である。 cvsup mirror を立てるときは CVSROOT/options の扱いに気をつけろ。 cvs mirror の場合もまあよろしくやってくれ。

_ 電子署名≠秘密鍵で暗号化

メモしわすれいたらしい。 DSA の署名の図がイイ。


2003-07-18

_ 新しいNetBSDのシステム起動方式

/usr/pkg/etc/rc.d/ から symlink を張ると /usr の mount 前でハマるんだよな、これ。コピーするか、 rc.local で叩いてやるかになる。[void GraphicWizardsLair( void ); //]

_ Apache 1.3.28

うーむ、仕事が増えてしまいました。

_ nttwest.flets. zone

東西両方のフレッツスクエアにアクセス可能な謎環境での DNS 設定。 NTT 東日本を優先するのが肝。 NTT 西日本のコンテンツを見たい場合には http://www.nttwest.flets/ とする。 www.ntteast.flets と www.flets は同じ A レコードを持つが、 http://www.ntteast.flets/ と (NTT東日本の) http://www.flets/ は大違い。

zone "flets" {
        type forward;
        forward only;
        forwarders { 172.26.35.171; 172.26.35.172; };
};
zone "nttwest.flets" {
        type forward;
        forward only;
        forwarders { 10.60.22.72; };
};

逆引きも設定したいなら適当に。

zone "26.172.in-addr.arpa" {
        type forward;
        forward only;
        forwarders { 172.26.35.171; 172.26.35.172; };
};
zone "10.in-addr.arpa" {
        type forward;
        forward only;
        forwarders { 10.60.22.72; };
};

2003-07-19


2003-07-20

_ cvsupd mirror

日記から切り出して cvsupd-mirror.html にまとめつつある。三つの *BSD の cvsupd のミラーを立てようなんて粋狂な人向け。社内ミラーなら必要なところはとっくにやってるだろうから役に立つまい。手元にレポジトリを持つメリットはあっても、手元で cvsupd を上げるメリットは普通の人にはないだろうね、 NetBSD で src/ が統合されてからは。もう時代はcvsyncですか、そうですか。


2003-07-21

_ お仕事

ツール・ド・フランスの見ながら仕事。このステージはアツスギ。


2003-07-22

_ プール調教

だるだる

_ [URL] PROJECT "D"

いつのまにかDOWNLOAD ページから聞けるようになっていることに気づく。「お兄ちゃんどいて!そいつ殺せない!」を省略すると「おにどけ」ですか。


2003-07-23

_ [IRC] riece-skk-kakutei.el

SKK 使いで三角が残ってしまう人向けの add on をかなり適当に書いてみた。riece-skk-kakutei.el


2003-07-24

_ [URL] OpenVPN ported to Windows

  1. OpenVPN has finally been ported to Windows.
  2. TCP protocol support has been added.

モノはopenvpn-1.4.99.3.zip [Mimori's Algorithms tDiary]

_ OpenBSD current

引退させておいた ska を OpenBSD current に upgrade する。間違っても a.out 時代から ELF に make build しようなんて考えてはいけない。「*.tgz ほどいて reboot すりゃいいんだろ」なんてことも思ってはいけない。バックアップをとってクリーンインストールが本来の道。どうしてもクリーンインストールができない場合にかぎってインストール CD なり FD なりを使って upgrade する、仕方なく。

_ SKK-JISYO.L

録画しておいたスヌーカーを見ながら、SKK-JISYO をいじる。 registdic.cgiから誤登録をチェックして SKK-JISYO.wrong に移していく作業。 ケツに沈んでいるエントリこそ重要。人のチェックしないところを見る。


2003-07-25

_ adduser.sh

ska を OpenBSD-current にあげたことだし、更新しておく。 /etc/group は一発でいい、 /etc/passwd の merge は一回で十分だ。

[ `uname -s` != OpenBSD ] && exit
VAREMPTY=' -d /var/empty -s /sbin/nologin '
NONEXISTENT=' -d /nonexistent -s /sbin/nologin '
groupadd -g 68	_isakmpd
groupadd -g 59	_kdc
groupadd -g 60	_kadmin
groupadd -g 73	_syslogd
useradd -u 59 -g _kdc -c 'Kerberos Server' ${VAREMPTY} _kdc
useradd -u 60 -g _kadmin -c 'Kerberos Admin' ${VAREMPTY} _kadmin
useradd -u 68 -g _isakmpd -c 'isakmpd privsep' ${VAREMPTY} _isakmpd
useradd -u 73 -g _syslogd -c 'Syslog Daemon' ${VAREMPTY} _syslogd

_ しごと

vpopmail & .qmail と格闘。ちょっとだけミスしておった。終ってからツールみながらだらだら。


2003-07-26

_ [IRC] riece-skk-kakutei.el

動かなかったのを修正。 SKK 使いで三角が残ってしまう人向けの add on.riece-skk-kakutei.el

_ SKK-JISYO.L

誤登録報告のチェック。


2003-07-27

_ プール調教

.

_ SKK-JISYO.L

また激しくいじってしまった。


2003-07-28

_ [ports] games/gnubg

ようやく commit されたようだ。

_ Add i386 a.out emulation for dynamic binaries.

plus.html を見ていて気づく。 しかし今の時期に OpenBSD を新規 install するとなると迷うな。 3.3-current (tag=.) にするか 3.3 (tag=OPENBSD_3_3) にするか。

あと2ヶ月強を current で戦えるなら 3.3-current にするのは手としてアリ。3ヶ月後にクリーンインストールできる余裕があるマシンなら OPENBSD_3_3 で過ごすのもアリだ。2ヶ月強を current で戦うリスクと3ヶ月後に入れ直すコストを天秤にかける、か。


2003-07-29

_ プール調教

.

_ PostgreSQL 7.3.4

こう微妙にいいタイミングでリリースされますね。ギリギリで間に合うから入れ直し。 my ports の更新もしないといけないな。

_ カードひきつぎについて

ふむ、pop'n 10 へのカード引き継ぎとな。

ポップン9で使ってくれたエントリーカードは10でも使えるよ。でも一度ポップン10で遊ぶと、もう9では遊べなくなってしまいます。また、なくなってしまうデータもあるので注意してね。

クリアメダルは引き継がれるようだ。


2003-07-30

_ OpenBSD-ports

infrastracture/mk/ が current 専用になったようだ。新しいと patch のオプションが足りなくて終了。

_ S/KEY

なんで OTP の FTP を説明をしなきゃいけないんだろうな。もう、WinSCP 推奨コースでいきましょう。


2003-07-31

_ [ports] games/gnubg

ダメダメな ports に patch を送ってくれた親切な人がいる。直そう

_ 焼肉さかい@百万遍

ばんめし。いつまで持つかな。


トップ 最新 追記

謎 queue & status

Powered by 早起き生活
[Powered by OpenBSD] [Powered by たん清] [やる気のないサイト] Valid HTML 4.01 Strict Page Rank Checker [VALID RSS!] RSS feed meter for http://triaez.kaisei.org/~kaoru/diary/