2010年4月30日金曜日

さて IPv6 ( その6 )

LAN内からの ping6 がどうもうまくいかないのでいろいろ模索しているのだけれど、たぶん、IPv6関係の default gateway が上手く設定されていないような雰囲気。

気になるのが、2001:で始まる IPv6アドレスが LAN内の機械にいつのまにか振られていること。6to4で割り当てているのは、2002:なので、いったい何処から来ているのだろう。

ネットで調べていると、FletsのNGN網から? という記事に出くわした。
ping6も 2001:c90:1429... から communication prohibited で返ってくるし、これってもしかしたらFletsに向っている?

---
default gateway の件は、 /etc/rtadvd.conf に、fxp0:raflags=h: と記述することで解決しそう。ついでに icmp6 の 128,129,135,136(echoreq,echoreply,neighbrsol,neighbradv)を通過するように設定。
ping6 のエラーメッセージも、よく見かける Request timed out になった。もう少し通過させないといけないものが残っているらしい。

---
[追記:2010/05/01] icmp6 の 133,134(routersol,routeradv)を追加すればよいらしい。

---
[追記:2010/05/10] NGNの件で少し気になったので、PR-200NEを使っているLANを調べてみたら、こちらでは、2001:c90: で始まるアドレスは広告されていなかった。RT-200KIだけの問題なのか、それともバージョンによって違うのか...

2010年4月28日水曜日

さて IPv6 ( その5 )

stfを使った 6to4 が楽ではあるのだけれど、いろいろ調べてみると、どうもセキュリティ的には問題の多い方法のようで、公開サーバーで使うのはどうも良くないらしい。

道理で GENERIC kernelのオプションに含まれていない訳だ。そうすると、やはり、DTCPで何とかするか、VPSサーバーが IPv6リーチャブルなのを利用するかということになるのだろうか。

FreeBSD同志なら、gifを使って IPv4をトンネルするのが普通のやり方なのだろうが、相手が linux のときに gifに相当するものは何なのだろう。( もしあったとしても、VPSが故に、カーネルデバイスは使えないという可能性もあるが。)

NTTのGPL違反 ( その3 )

ソースCDが届いたので、atherosのドライバ関連を調べてみる。

ath-wlan-5.3.0.13.tar.gzがファイル名からして、それっぽいのでそれから調べてみるが、こちらには、ath_pci.o のソースらしきものは見つからず。

もしやと思い、linuxのソースを調べてみると、drivers/vr/madwifi/madwifi/ath/ の下にあった。

でも、おかしい。ソースコードには、それらしき場所は、
{ 0x168c, 0x0013, PCI_ANY_ID, PCI_ANY_ID },
{ 0xa727, 0x0013, PCI_ANY_ID, PCI_ANY_ID }, /* 3com */
{ 0x10b7, 0x0013, PCI_ANY_ID, PCI_ANY_ID }, /* 3com 3CRDAG675 */
{ 0x168c, 0x1014, PCI_ANY_ID, PCI_ANY_ID }, /* IBM minipci 5212 */
{ 0x168c, 0x101a, PCI_ANY_ID, PCI_ANY_ID }, /* some Griffin-Lite */
{ 0x168c, 0x0015, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x0016, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x0017, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x0018, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x0019, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x001a, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x001b, PCI_ANY_ID, PCI_ANY_ID },
{ 0x168c, 0x001c, PCI_ANY_ID, PCI_ANY_ID }, /* PCI Express 5424 */
{ 0x168c, 0x001d, PCI_ANY_ID, PCI_ANY_ID }, /* PCI Express ??? */
{ 0 }

と、対応のカードのリストが全部並んでいるのに、ath_pci.o の方には、
{ 0x168c, 0x001b, PCI_ANY_ID, PCI_ANY_ID },
に対応する行しかみつかない。

この配列の直前部分の 50byte分くらいは 00 で埋まっている。
ソースコードは『修正後』のもののはずなのに、ソースは修正した痕跡がない。
objectに直接 binary patch を当てたのだろうか?

object の方だと、
{ 0x168c, 0x001b }
{ 0x1021, 0x1010 }
{ 0x168c, 0x001b }
{ 0x168c, 0x1062 }
{ 0 }

もし推測が当っているなら、00で埋まっている部分を元に戻せばいいだけなのだけれど。

---
OKIが納入したものを、NTTが修正したという可能性もあるなぁ。
[互換カードが使える/使えないは、OKIにとってはどうでもいいことだし]

---
[追記]気になるのは、ver 1.06.0001の atheros のドライバは、ar5drv.o で、このファイル名の5.3.0.13にも符号しているのだけれど、6.30.0018 のドライバは ath_pci.o というまったく別の系列の名前が付いていること。ドライバの大きさも、一方は1MB近くあるし、一方は100KB強しかないし、てっきり 1.x 系と 6.x 系は違う系列のソースかと思っていたのだけれど、担当者は 6.30のものだとはっきり言っているんだな。もしかしたら、いろいろなバージョンのソースが混ざっているのかもしれない。
busyboxが二つ異なるバージョンのソースがあるのも不自然だし。( wgetは、実際に wgetとwget19の両方があるのだけれど。)

2010年4月27日火曜日

さて IPv6 ( その4 )

設定がまだ中途半端なせいだと思うけれど、LAN内の名前解決?がやたら遅くなった。
LAN内にIPv6アドレスを振っているのに、ルーターですべて通信を遮断しているせいだろうと思う。名前解決に軒並み20秒かかっているので、たぶん1回目に失敗して2回目で成功というパターンなのだと思う。

IPv4 Onlyなサイトでは特に問題はない。

---
[追記] IPv6 のアドレスでアクセスしようとして失敗して、IPv4 のアドレスで接続しなおしているのかな。

2010年4月25日日曜日

さて IPv6 ( その3 )

IPv6で接続するのに、どこかと契約する必要があるのかと思っていたら、AnyCast という適当な近くの 6to4ゲートウェイを選んで接続してくれる仕組みがあるのね。
/etc/defaults/rc.conf に
#ipv6_defaultrouter="2002:c058:6301::" # Use this for 6to4 (RFC 3068)
とコメントアウトしてあるのがそれ。

最初、dtcpを使って feel6.jp につなぐ記事が検索でひっかかったのでそれで試していたのだけれど、Windowsからだとすなおに繋がるのに、FreeBSDからだとどうも IPv6アドレスがうまく割りあてられてくれないし、エラーメッセージもなんだか文法エラーのような接続以前のエラーが表示される。たぶん、記事の書かれたころとソフトウェアのバージョンが相当に違うのだろうということで、しばらく苦戦したあげくにdtcpによる方法は却下することにした。

結局 stf を使った 6to4 が一番楽なよう。
pf.conf の方には、とりあえず、pass on stf0 all を追加して、無防備状態にしてテスト。
VPSまでのping6 は
--- 2001:2e8:xxx:x:x:x:x:5e ping6 statistics ---
6 packets transmitted, 6 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 112.768/125.282/178.599/23.928 ms
程度。

telnet は相変わらず、Escape character is '^]'のプロンプトが出たあと接続が切られる。
hosts.allow の設定が変なときの症状だと思うのだが、理由はよくわからない。

/sbin/ip6tables がまともに機能していないようなので、無防備のままあまり放置したくないのだけれど...

2010年4月24日土曜日

さて IPv6 ( その2 )

とりあえずできる範囲で、ということで、

% telnet ::1
Trying ::1...
Connected to ::1.
Escape character is '^]'.
Connection closed by foreign host.

あれ? login できない。
Escape character is '^]'. でてるということは telnetd自体は動いていて、何かの理由で切断されているのだよね。
localhostからの接続はすべて許可してあるはずなのに、どこでミスったのかな。

やっぱり基本的なところから調べないとダメだね。

---
[追記:2010/04/26] hosts.allow に書くときは、[::1]と書かないといけないということらしい。

2010年4月23日金曜日

さて IPv6

VPSサーバーのもう一つの売りが、IPv6対応 ということなのだけれど、

とりあえず、ping を打ってみる。

% ping6 2001:503:BA3E::2:30
PING 2001:503:BA3E::2:30(2001:503:ba3e::2:30) 56 data bytes
64 bytes from 2001:503:ba3e::2:30: icmp_seq=0 ttl=57 time=381 ms
64 bytes from 2001:503:ba3e::2:30: icmp_seq=1 ttl=57 time=121 ms
64 bytes from 2001:503:ba3e::2:30: icmp_seq=2 ttl=57 time=121 ms

確かに繋がってはいるみたいだけれど、さてどうしよう。

v6の世界は殆ど未体験ゾーンなので勝手がよくわからん。
ネームサーバーはどこを指定したらいいものやら、いきなりルートサーバーを参照してもいいものなのだろうか?
[ 追記: IPv4と同じネームサーバーでいいみたいね。v4 と v6 の両方の答が返ってきた。ただ、このネームサーバーは v6のアドレスが振られていないみたい。なんか中途半端だな。]

今月号の SoftwareDesign 誌でも、v6 の話が少し書かれていたけれど、Fletsのv6 は、NTTはプロバイダ行為をしてはいけない規制があるらしくて、巨大なプライベート空間にすぎないらしい。
まず、どこにつなげたらいいのか、そこからだね。

2010年4月22日木曜日

490円/月の VPSサーバー ( その7 )

あれ?

23時35分現在、サーバーが落ちてるっぽい。

---
[追記] 翌2時30分頃、復帰していました。が、reboot 付きでした...

---
[追記:2010/04/26] この3時間に渉る障害が、メインテナンス情報や障害報告に何も書かれていないのは、どういうわけなんだろう。単に輻輳してたというわけじゃなし、あきらかに人為的に reboot されているのだから、『自然復旧』でないのはあきらかなのだけれど。

490円/月の VPSサーバー ( その6 )

pthread の default stack size が 10MB!
メモリが256MBしかないマシンに、いくらなんでも、これは大きすぎる。

どの辺で調節したのだっけ?

---
[追記] とりあえず、ulimit -s unlimited で様子を見てみることにする。
( つまり stacksizeは defaultの2M になる。)
libpthread.so を修正しないとだめかも。

---
[追記:2010/04/23] ulimit -s unlimited は、そこそこ効果があるみたい。
深夜の予期しない robootで、すべて初期化された状態になった訳だが、以前に 80~90MBだったメモリ使用量が、65MBまで減った。まあ、常識的な値にまで下がった、ということだけれど。

2010年4月21日水曜日

490円/月の VPSサーバー ( その5 )

2週間に一回メインテナンスが入るとは聞いていたけれど...

2:30amから5:30amまで3時間も止まってた

しかもrebootしているし...

単にアクセスできないだけかと思っていたのだけれど、これだとかなり用途が限られてしまうなぁ。

2010年4月20日火曜日

490円/月の VPSサーバー ( その4 )

だいぶ要領がわかってきたので、おうちサーバーの中身をぼちぼちと移動してみる。
外にサーバーを置きたかったのは、メインテナンス中に一緒に巻き添えになるのがいやなのが、一番の理由。サーバーを2台に分離すれば巻き添えになることは減るのだけれど、電気代だけで数百円/月の余分な出費になるので、490円/月ならまあto payか、というところ。

もう一つの理由は、spamチェックをかなり厳しくしているので、同居人から少し不平がでているのを解消したいということ。まあ、弾かれるのはメーカーなりの定期的なアナウンスだったり、ユーザー登録の確認のメールだったりするわけなんだが、そして弾かれる原因は、発信側のメールサーバーのいい加減な設定(存在しないメールアドレスからだったり、ホスト名を正しく名乗っていなかったり、メッセージIDがいい加減だったり、自分で設定したspfレコードに記載されていないサーバーから送ってきたり)や、広告にありがちな、不必要な強調や、やたらに多いリンクだったりが原因で、言うなれば弾かれて当然の兆候が満載なわけだか、それでも受け取れないと困ることもあるわけで...

固定IP一つだと、メールの受け口も一つなので、ここでドメイン別に判定ルールを変えるのも大変だ(分岐してからスパムチェックだと、判定に有用な情報がかなり失われるのし、一旦入り口を通り抜けたものを内部で拒絶してもうれしくない)し、入り口を分けるには別の受け口が必要というわけだ。

さて、そうなると外側のメールサーバーに届いたメールを内側にどうやって取り込もうかというのが問題となるのだが...
GoogleMailを使っていたときは、個別に転送するか、popで取りにいくかしかないので、選択肢がないわけだが、あまり嬉しい方法じゃない。外と中で同期できるような方法があればいいのだけれど。

cyrus-imap2.3にレプリケーションの仕組みがあるので試してみた。
どうも、メールアカウント自体はあらかじめそれぞれに作っておく必要があるらしい。パスワードは別々のパスワードが設定できる。ただ、マスター・スレーブの関係で見ると、マスターへの変更はスレーブに反映されるが、スレーブへの変更はマスターに反映されない。
つまり、マスターにアクセスしにいかないと期待している動作はしてくれないらしい。どうやら、スレーブはマスターがダウンしたときのバックアップを想定しているようだ。
cyrus-imapには、もうひとつ mupdate という同期法があって、今考えている状況ではこちらの方が近いらしい。ただ、こちらの構成は、バックエンド・調停役・フロントエンドの3段構成なので、すこし大げさかもしれない。cyrusの説明文には、小規模な構成の時には、proxyで間に合わないかどうか検討してみろ、とも書かれている。

2010年4月18日日曜日

490円/月の VPSサーバー ( その3 )

どうもこのCentOS(というかRedHat)は、かなり癖があるね。
saslauthd が --enable-auth-sasldb 付きでコンパイルされていないから SMTP-AUTHで失敗してしまう。 sendmail + cyrus-imap という組み合わせは考慮に入っていないみたい。
確かに uw-imap との組み合わせなら不要なんだけどさ。

他にもいろいろコンパイル時のオプション指定やデフォルトの設定値が、思い込みが強いみたいで、想定外に使い方をしようとすると結構ややこしいことになっていることが多い。

ま、linux屋さんの発想(特定の環境に最適化すればよし.. 気に入らなければ別のdistributionを..)だとこうなってしまうのだろうな。

2010年4月16日金曜日

490円/月の VPSサーバー ( その2 )

結局、 isc_thread_create() failed の直接の原因は、メモリ不足ということらしい。
ただ、メモリを使い切った状態でも別のプログラム(例えば ls など)は普通に使えていたりするので、実態はおそらく、thread関係の処理がメモリが不足気味の時に雑だということなのだろう。

namedも isc_thread_create() failed のエラーを吐き出していた(これはメモリはまだ残っている状態でも)ので、これは、ソースから再コンパイルして thread を使わないようにしたら、動くようになった。
ついでに、mysqldも 130MB もメモリを消費していたので、 40MB程度の消費になるようにスリムに再コンパイル。
これで、httpd と imapd と mysqld と named が動いている状態でなんとか 80MB程度に収まった。これならなんとか使い物になりそう。

(ただ、mysqld は 256MBのメモリでは、セルフコンパイルができなかった。別の機械でコンパイルしてその結果をインストールするという手順が必要。実稼動状態だとメモリ不足はもう少し深刻になりそうなので、開発環境を別に用意するのは必須。)

2010年4月15日木曜日

490円/月の VPSサーバー

値段と無料お試し期間につられて申し込んでみたのだけれど...

夜になったら、やたらと
socket.c:3560: isc_thread_create() failed
host: isc_socketmgr_create: unexpected error

のエラーが出るのだよね...

随分と申し込みが殺到してたらしいし、今頃大勢の人がせっせとインストール作業をしていて資源が不足ぎみということなのだろうけれど、この状態が続くようなら使い物にならないなぁ。


もう一つの、先月のアップグレード以来不調なサーバーは、今も相変わらず不調のまま。そろそろ一ヶ月になるのでいいかげん客離れが始まっている。まあ、メール機能が全然ダメ、コントロールパネルも入れたり入れなかったり、昨日使えた機能が今日は使えなかったり。WEBサーバーだけはかろうじて動いているものの、頻繁に更新する人はやってられないだろうな。
サポートからくるメールアドレスのドメイン名も変ったみたいだし、やっぱり裏で資本関係の変化があったと思うのが妥当な推論だろうな。まじに引越し先を検討しないと...

2010年4月4日日曜日

合本

未確認情報だけれど、来年にはフランシスコ会訳の合本版がでるとか。

2010年4月3日土曜日

サーバートラブル ( その3 )

まだ、メールサーバーが復旧していないみたい。
もし、メールを送ったけれど返事がない という心当たりのある人は、少し日数を置いてから、もう一度送ってみてください。

中国からの不審なアクセス

何だか変なアクセスパターンがある。
同じファイルに同時に4回アクセスして、それっきり。
それが、中国のいろんなところから(きちんと数えていないけれど、転送量から逆算すると 200ヶ所以上から)同じパターンでアクセスしてくる。
時間帯がずれているので、DOS攻撃ではなさそうだし、プロバイダも違っているので動的IPでアクセス元が違っているせいでもなさそう。
Refererもないので、どこかからリンクされたというわけでもなさそうだし。

2010年4月2日金曜日

ブラウン訳

ライフセンターに行ったら、ブラウン訳聖書の復刻版が置いてあった。
限定300部だったか350部だったか。昔のひらがなで書いてあるので、そのままではちょっと判読できない。
それなりの値段だし、コレクタじゃないので眺めてみるだけにしたが、たぶん二度と入手できない本なんだろうな。