2007年10月31日水曜日

[PHP] イヤーな はめられ方

とある集計ができていない、という。

とりあえず引き継いだ自分がやらなきゃならんので、調査。
cron で実行してる。

運良く?実行時にログを吐くようにしているのでそれをみる・・。

fopen で ファイルが開けてない。んー。パスがおかしくね?

経緯
・こないだサーバ移行した (したのは別の人)
・構成は全く同じ
・それ以降変更はなし


んー。どうしたもんか。
とりあえず3,4年前のふるーいコードを追っていく。
やっぱりパスの解釈がおかしい??

でも・・・ 変更してないならなぜおこる?


調査結果
移行前は cgi 版を使って実行していたけど、 移行後は cli 版で実行していたため。
$_SERVER['DOCUMENT_ROOT']があるとき、
空であることは考えてなかった模様。。。

cronで実行させるんなら、 フツー cli だから合ってるんじゃね?とも思うけど、旧環境はcgi 版。自分の常識は通用しない。

cronで実行してるスクリプトの一部分だけもってきて、
似たような感じにしてテスト。

こんなかんじ。

--

if (isset($_SERVER['DOCUMENT_ROOT'])) {
$hoge = sprintf("%s/../hoge/fuga", $_SERVER['DOCUMENT_ROOT']);
} else {
$hoge = sprintf("%s/../hoge/fuga", $_SERVER['PWD']);
}

print "$hoge\n";
--


cli, cgi 版それぞれでチェック

cli
% cat /tmp/test.php|php -q
/../hoge/fuga

cgi
% cat /tmp/test.php|php-cgi -q
/home/katsuji/../hoge/fuga

正解。
cli版だと期待したパスになってない。
そらそーだ、$_SERVER['DOCUMENT_ROOT'] が空だから。

こんなかんじ。

% php -i |grep -i document
$_SERVER["DOCUMENT_ROOT"] =>
% php-cgi -i |grep -i document


・if (isset($_SERVER['DOCUMENT_ROOT'])) が悪
か、
・移行するときにちゃんと前の環境とそろえとけ
と。。。

if (isset($_SERVER['DOCUMENT_ROOT']) && $_SERVER['DOCUMENT_ROOT'] != NULL)
のような具合なら cli 版でもよかったね ( -_-)

2007年10月30日火曜日

Leopard で 「おおっ」と思ったり思わなかったり

あまり予備知識がないまま
ちょっと使ってみたところ、以下。

・メニューバーが渋く
・オーロラの画像
・Finder 改良
・クイックルック
・Spaces が小気味良い
・Terminal タブ化、ちょっと嬉しい。 あと、テーマがいくつか選べる。
・ssh がキーチェインに統合 ?された
こんな感じ


・Safaril 3.0.4
・プルダウンメニューのフチが丸くなった気がする

Time Machine は外部ストレージもってないのでしばらく出番はないかな・・・。
カーネルはバージョン 9.0.0 らしい
Darwin Kernel Version 9.0.0: Tue Oct 9 21:35:55 PDT 2007; root:xnu-1228~1/RELEASE_I386

10/9 なんだね

/mach_kernel は 10/10
-rw-r--r--@ 1 root wheel 9.8M 10 10 13:38 /mach_kernel

2007年10月28日日曜日

ThinkPad がクラッシュしまくる

X32 がクラッシュしまりんぐ。

再現方法は以下だった。今は直ったので再現しない。

・リモートデスクトップで X32 につなぐ
・リモートデスクトップ切る
・X32 に直接ログオンする

ログオン後、なにも操作ができずに BSOD

wdf01000.sys でぐぐる

こんなのがみつかる
---
WindowsXP質問スレ 178ページ目
wdf01000.sys のブルースクリーンエラーが出現します。 ("ハード ディスクの保護" をオフにしない限り、現象は続きます) でないようにすることは可能でしょうか? OS:WindowsXP SP2 機種:色んなPCで試したが同現象 HDD: 2.5inch HDD を2種類で試した ...
pc11.2ch.net/test/read.cgi/win/1191985360/338-438 - 39k - キャッシュ - 関連ページ

---
ThinkPad X series Part59
wdf01000.sys - Address F6907C80 base at F68E8000, Datestamp 444738f2 個別環境の問題ということで、 ATOK, firefox, thunderbird, e-mobileくらいかな。 あとはアクティブプロテクションとか、クライアントセキュリティとか。 ...
pc11.2ch.net/test/read.cgi/notepc/1192934541/363-384 - 17k - キャッシュ - 関連ページ
---

見つかった先に書かれているものをよく読む。
どうもトラックポイントのドライバが腐っているとかなんとか。

つい最近 windows update でドライバ更新したから、そのせいか ?

自分の使っているのは X32 、でドライバのバージョンも違ってたんだけど
怪しいところから突くってことで、まず ThinkPad ソフトウェア導入支援で古いの(?)を入れる。
そのあといっぺん windows update してみた。このへんよくわからん。なんとなくでポチポチっと。

その後直ったように見える。暫く様子見。

・・・・直っていなかった orz...


あれこれするのも面倒なので、
必要なデータを待避後、工場出荷時に戻して再セットアップした。
これで直ったはずだ。。


やれやれ・・・

2007年10月27日土曜日

VPSなサーバに

某国内のサーバを借りているけど、やめることにした。
今度使うのはvpslink.

・おうちに置かずに
・ssh ではいれて
・root つかえる

ということであればどこでもよい。
同等のスペックで選択。
アドレス3つついてきた。そして費用は安くなった。
VPSなサーバで、OpenVZ か Xen か選択。 -> Xen にして Ubuntu 7.10 を入れた。

ssh で入った感じ、思ったより「遠い」感じがしなくてよかった。

とっとと国内のは片付けてしまおう。

おまけ
大分前つかってたところ
linode
今回つかうとこ
vpslink
候補にあがったところ
provps

2007年10月21日日曜日

ポリフォニー・デジタル

「『グランツーリスモ』年収別スタッフ募集。最大1000万円」

というのがあったのでみてみたら、「ネットワークエンジニア」もあり。
オフィスが「オフィス」じゃないらしく、「スタジオ」と呼ぶらしい。
いい拘りだと思う。

まぁそれはさておき、つい DNSサーバを調べてしまう。
やや中毒気味になってきた。

===> domain: polyphony.co.jp
---> ns01.pwd.ne.jp: x
---> ns3.polyphony.co.jp: o
---> ns.polyphony.co.jp: o
<===

polyphony.co.jp な ネームサーバは o

2007年10月20日土曜日

Mac OS X と Ruby と Python などなど

MacOS X v10.5 Leopardて、

アップル - Mac OS X Leopard - テクノロジー - UNIX
---
Ruby 1.8.6とPython 2.5は、Cocoaブリッジ、 Xcode とInterface Builderのサポート、DTraceモニタリング、Frameworkビルド、さらに 新しいScripting Bridgeを使ったAppleEvent バインディングにより、Mac開発のためのファーストクラス言語になっています。Rails、Mongrel、Capistranoが同梱されたLeopardは、Ruby on Rails開発に理想的なプラットフォームでもあります。
--

Rails, Mongrel, Capistrano もコミコミなんだね。

UNIX認定がどうウマーなのかよくわからないけど、ほにゃらら準拠、ていうのは悪くはない出来事なんだろうな。

前のバージョンだとBSDのことが少し書いてあったりデーモンくんの画像があったけど、無くなったのかな。無くした?

セキュリティには
--
CERT/CC、FIRST、FreeBSDセキュリティチームをはじめとする数多くのセキュリティ機関のほか、米国国土安全保障省とも協力しています。
--
とは書いてあるなぁ

キャッシュNS, コンテンツNS -- 結論

こうして
何度か
DNSを
チェックしてみたんだけども

・ITが本業な企業はコンテンツNSだけ機能させている (のが多い)
もちろん必ずしもそうではない。

・ITが本業でない企業はキャッシュNSも機能させている (のが多い)
これは、以下のように勝手に推察する。
「え?DNS? 使えてるからいいよね」
「別のアドレスを使うようにして機能を分ける?なんじゃそれ?」
「別のアドレス?アドレス追加するの、予算おりないんだよね」
「それか、制限をかける?いやそんな設定ワカラン」
というのがあるんじゃないかなと。

2007年10月19日金曜日

kldload zfs

メモリ、最低で512MB要るんだね。。。

---
kernel: WARNING: ZFS is considered to be an experimental feature in FreeBSD.
kernel: ZFS WARNING: Recommended minimum RAM size is 512MB; expect unstable behavior.
kernel: ZFS filesystem version 6
kernel: ZFS storage pool version 6
--

2007年10月18日木曜日

人気企業の DNS サーバ

また、例のこれ

人気企業は日経ナビ2008のを利用
今回は nsa.gov の A RR を引いてみた。

結果は以下。

===> domain: ana.co.jp
---> ns-kg022.ocn.ad.jp: x
---> ns.ana.co.jp: o
---> nss.ana.co.jp: o

===> domain: toyota.co.jp
---> royal.tns.ne.jp: o
---> majesta.tns.ne.jp: o
---> ns1a.toyota.co.jp: x
---> ns1b.toyota.co.jp: x

===> domain: panasonic.co.jp
---> dns1.mei.co.jp: x
---> dns0.mei.co.jp: x

===> domain: suntory.co.jp
---> nst1.sgn.suntory.co.jp: o
---> nst2.sgn.suntory.co.jp: o
---> ns.center.web.ad.jp: x
---> nso1.sgn.suntory.co.jp: o
---> nso2.sgn.suntory.co.jp: o

===> domain: bk.mufg.jp
---> dns2.ibps.ne.jp: x
---> dns01.mufg.jp: x
---> tokio.mind.ad.jp: x
---> ns1.idc.mind.ne.jp: x
---> dns1.ibps.ne.jp: x

===> domain: mizuho-fg.co.jp
---> w-ns3.agilit-hosting.com: o
---> w-ns1.agilit-hosting.com: o
---> w-ns2.agilit-hosting.com: o

===> domain: hitachi.co.jp
---> ns1.hitachi.co.jp: x
---> ns2.hitachi.co.jp: x
---> ns3.hitachi.co.jp: x
---> ns4.hitachi.co.jp: x

===> domain: mitsui.co.jp
---> tkacu126.mitsui.co.jp: o
---> dns2.mki-net.co.jp: x
---> tkacu125.mitsui.co.jp: o

===> domain: mitsubishicorp.com
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o

===> domain: sharp.co.jp
---> ns1.iij.ad.jp: x
---> ns1.sharp.co.jp: o
---> tg1.sharp.co.jp: o

===> domain: honda.co.jp
---> hornet.honda.co.jp: x
---> slasher.honda.co.jp: x
---> ns.spin.ad.jp: x
---> ns.tokyo.spin.ad.jp: x

===> domain: jal.co.jp
---> ns01.vips.ne.jp: x
---> ns01.jal.co.jp: o
---> ns02.jal.co.jp: o
---> ns00.vips.ne.jp: x

===> domain: sony.co.jp
---> ns3.sony.co.jp: x
---> ns.ssd.ad.jp: x
---> ns.sony.co.jp: x
---> ns2.sony.co.jp: x

===> domain: canon.jp
---> ns3.jp.canon.com: o
---> ns1.canon.net: x
---> ns2.canon.net: x
---> ns1.jp.canon.com: o
---> ns2.jp.canon.com: o

===> domain: dentsu.co.jp
---> www.dentsu.co.jp: o
---> ns1.iij.ad.jp: x

===> domain: shiseido.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o

===> domain: jtb.co.jp
---> ns.spin.ad.jp: x
---> ns.tokyo.spin.ad.jp: x
---> jtbdns.jtb.co.jp: o
---> ns.jtb.co.jp: o

===> domain: fujitsu.com
---> ns1.fujitsu.com: o
---> ns2.fujitsu.com: o
---> ns3.fujitsu.com: o
---> ns4.fujitsu.com: o
---> ns5.fujitsu.com: o
---> ns6.fujitsu.com: o

===> domain: toshiba.co.jp
---> ins11.toshiba.co.jp: o
---> inet-tsb.toshiba.co.jp: o
---> ins5.toshiba.co.jp: o

===> domain: itochu.co.jp
---> ns2.crc.ad.jp: x
---> mx.bxn.ne.jp: x
---> ns.itochu.co.jp: x
---> ns1.itochu.co.jp: x

===> domain: tokiomarine-nichido.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o

===> domain: hakuhodo.co.jp
---> idih01.hakuhodo.co.jp: o
---> ns-tk013.ocn.ad.jp: x
---> ns2.nttdatacenter.com: o

===> domain: fujitv.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o

===> domain: nec.co.jp
---> tyo267.gate.nec.co.jp: x
---> ns1.iij.ad.jp: x
---> tyo200.gate.nec.co.jp: x
---> tyo220.gate.nec.co.jp: x
---> tyo265.gate.nec.co.jp: x

===> domain: smbc.co.jp
---> sec.smbc.co.jp: o
---> pri.smbc.co.jp: o

===> domain: sumitomocorp.co.jp
---> ns1.iij.ad.jp: x
---> www.sumitomocorp.co.jp: x

===> domain: benesse.co.jp
---> dns3.odn.ne.jp: x
---> eksv01.synform.ne.jp: o

===> domain: dnp.co.jp
---> cosmic.dnp.co.jp: o
---> planet.dnp.co.jp: o
---> bluesix.dnp.co.jp: o
---> moondance.dnp.co.jp: o

===> domain: jr-central.co.jp
---> ns02.jr-central.co.jp: o
---> ns1.jtis.co.jp: o
---> ns2.jtis.co.jp: o
---> dns3.dion.ne.jp: x
---> ns01.jr-central.co.jp: o

===> domain: jreast.co.jp
---> ns01.vips.ne.jp: x
---> dns1.jeis.co.jp: x
---> ns00.vips.ne.jp: x

===> domain: nissan.co.jp
---> nvs001.nissan.ne.jp: x
---> sj000030.nissan.co.jp: x

===> domain: mhi.co.jp
---> kobens.mhi.co.jp: x
---> ns1.iij.ad.jp: x
---> mhins.mhi.co.jp: x

===> domain: nri.co.jp
---> ns1.index.jp: o
---> ns2.index.jp: o
---> ns3.index.jp: o

===> domain: daiwa.jp
---> ns05.mesh.ad.jp: o
---> ns04.mesh.ad.jp: o

===> domain: tepco.co.jp
---> tdns4.tepco.co.jp: o
---> tdns5.tepco.co.jp: o
---> tepcogw.tepco.co.jp: o
---> tdns2.tepco.co.jp: o
---> tdns3.tepco.co.jp: o

===> domain: kao.co.jp
---> ns-tk021.ocn.ad.jp: x
---> aube.kao.co.jp: o

===> domain: tv-asahi.co.jp
---> dns-c.iij.ad.jp: o
---> dns-b.iij.ad.jp: o

===> domain: tr.mufg.jp
---> tokio.mind.ad.jp: x
---> ns1.idc.mind.ne.jp: x
---> ns2.dhs.jtidc.jp: x

===> domain: sekisuihouse.co.jp
---> ns7.eonet.ne.jp: o
---> ns1.eonet.ne.jp: x

===> domain: kodansha.co.jp
---> ns1.kodansha.co.jp: x
---> ns0.kodansha.co.jp: x
---> ns1.nssol.ne.jp: x

===> domain: nomura.co.jp
---> ns3.index.jp: o
---> ns1.index.jp: o
---> ns2.index.jp: o

===> domain: asahi-kasei.co.jp
---> ak.asahi-kasei.co.jp: o
---> ak2000.asahi-kasei.co.jp: o
---> ns6-tk02.ocn.ad.jp: x

===> domain: marubeni.co.jp
---> mario.marubeni.co.jp: x
---> mcorp.marubenicorp.com: x
---> mario3.marubeni.co.jp: x

===> domain: kirin.co.jp
---> ns.kirin.co.jp: o
---> ns2.kirin.co.jp: o
---> ns02.pwd.ne.jp: x

===> domain: bandai.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o

===> domain: nttdata.co.jp
---> ms51.nttdata.co.jp: o
---> ns.via.or.jp: x
---> ms1.nttdata.co.jp: o
---> ms0.nttdata.co.jp: o

===> domain: kagome.co.jp
---> ns1.kagome.co.jp: x
---> ns12.pwd.ne.jp: x

===> domain: toppan.co.jp
---> dns-a.iij.ad.jp: o
---> celia.toppan.co.jp: o

===> domain: nttdocomo.co.jp
---> edison20.is.nttdocomo.co.jp: x
---> ns1.iij.ad.jp: x
---> edison.is.nttdocomo.co.jp: x
---> dns0.yrp.nttdocomo.co.jp: o

===> domain: takeda.co.jp
---> ns00.vips.ne.jp: x
---> ns01.vips.ne.jp: x
---> dns01.takeda.co.jp: o
---> dns02.takeda.co.jp: o

===> domain: sompo-japan.co.jp
---> ns.forward.ad.jp: x
---> ns1.sompo-japan.co.jp: o
---> ns2.sompo-japan.co.jp: o

===> domain: recruit.jp
---> ns2.tisidc.net: x
---> ns1.tisidc.net: x

===> domain: ntt-east.co.jp
---> ns2.ntt-east.co.jp: o
---> ns3.ntt-east.co.jp: o
---> ns4.ntt-east.co.jp: o
---> ns1.ntt-east.co.jp: o

===> domain: denso.co.jp
---> s-ref.denso.co.jp: x
---> majesta.tns.ne.jp: o
---> s-server.denso.co.jp: o
---> royal.tns.ne.jp: o

===> domain: lotte.co.jp
---> ns2.sphere.ad.jp: x
---> dns1.lotte.co.jp: x

===> domain: shueisha.co.jp
---> ns2.hitotsubashi.org: o
---> ns1.hitotsubashi.org: o

===> domain: toray.co.jp
---> dns2.toray.co.jp: x
---> speak.cable-net.co.jp: x
---> dns1.toray.co.jp: x

===> domain: olc.co.jp
---> ns1.savvis.net: o
---> ns3.savvis.net: o
---> ns2.savvis.net: o

===> domain: nhk.or.jp
---> ns01.nhk.or.jp: o
---> ns.nhk.or.jp: o
---> ns1.iij.ad.jp: x

===> domain: ajinomoto.co.jp
---> ns05.mesh.ad.jp: o
---> ms.ajinomoto.co.jp: x

===> domain: pg.com
---> ns04.savvis.net: o
---> pdns1.isc.savvis.net: o
---> pdns3.isc.savvis.net: o

===> domain: kokuyo.co.jp
---> ns05.mesh.ad.jp: o
---> ns04.mesh.ad.jp: o

===> domain: meiji.co.jp
---> ns102.sinfony.ad.jp: o
---> ns01.sinfony.ad.jp: x
---> ns101.sinfony.ad.jp: o

===> domain: mitsuifudosan.co.jp
---> dns2.smc.mki.co.jp: x
---> ns.mitsuifudosan.co.jp: x

===> domain: adk.jp
---> gatekeeper.asatsu-dk.co.jp: x
---> dns3.odn.ne.jp: x

===> domain: tbs.co.jp
---> ns.tbs.co.jp: o
---> ns.tokyo.spin.ad.jp: x
---> ns.spin.ad.jp: x

===> domain: ibm.com
---> internet-server.zurich.ibm.com: o
---> ns.almaden.ibm.com: o
---> ns.austin.ibm.com: o
---> ns.watson.ibm.com: o

===> domain: microsoft.com
---> ns1.msft.net: o
---> ns2.msft.net: o
---> ns3.msft.net: o
---> ns4.msft.net: o
---> ns5.msft.net: o

===> domain: shogakukan.co.jp
---> oceanus.shogakukan.co.jp: o
---> ns02.idc.jp: o
---> ns03.idc.jp: o

===> domain: mew.co.jp
---> ms-06s.naisis.co.jp: o
---> ms-06.naisis.co.jp: o

===> domain: fujifilm.jp
---> ns2.fujifilm.co.jp: x
---> ffilmcc2.fujifilm.co.jp: x

===> domain: mec.co.jp
---> mbdmsv03.mec.co.jp: x
---> mbdmsv04.mec.co.jp: o
---> ns.mec.co.jp: x
---> ns.itplugin.net: x
---> mectop.mec.co.jp: x

===> domain: morinaga.co.jp
---> ns01.morinaga.co.jp: o
---> ns04.morinaga.co.jp: o
---> ns2.iprevolution.co.jp: x
---> ns02.morinaga.co.jp: o
---> ns03.morinaga.co.jp: o

===> domain: nintendo.co.jp
---> zephyr.nintendo.co.jp: o
---> tempest.nintendo.co.jp: o
---> dns3.odn.ne.jp: x

===> domain: ricoh.co.jp
---> name.ricoh.co.jp: x
---> ns.ricoh.co.jp: o
---> ricohigw.ricoh.co.jp: x

===> domain: sfc.jp
---> dnsrv.starnet.ad.jp: x
---> dns.sumirin.co.jp: x

===> domain: konami-digital-entertainment.co.jp
---> dns2.konami.co.jp: o
---> mx1.konami.co.jp: o
---> mx2.konami.co.jp: o

===> domain: nisshinfoods.co.jp
---> ns07.mesh.ad.jp: o
---> ns06.mesh.ad.jp: o

===> domain: fhi.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o

===> domain: asahi.com
---> dns01.asahi-np.co.jp: o
---> dns02.asahi-np.co.jp: o

===> domain: daiwahouse.co.jp
---> tokyogw.daiwahouse.co.jp: x
---> ns.center.web.ad.jp: x
---> ns22.pwd.ne.jp: x
---> ns.daiwahouse.co.jp: x
---> dns-a.iij.ad.jp: o
---> osakagw.daiwahouse.co.jp: x

===> domain: boj.or.jp
---> ns04.pwd.ne.jp: x
---> x6nat712.mail.boj.or.jp: x
---> x6nat713.mail.boj.or.jp: x
---> x6nat715.mail.boj.or.jp: o

===> domain: nykline.co.jp
---> z034200.nykline.co.jp: o
---> z129200.nykline.co.jp: o
---> ns.gblx.ad.jp: o
---> ns1.gblx.ad.jp: x

===> domain: ntt-west.co.jp
---> ns2.mcnet.ad.jp: o
---> ns.mcnet.ad.jp: o

===> domain: dai-ichi-life.co.jp
---> rmxex001.dai-ichi-life.co.jp: x
---> rmxex002.dai-ichi-life.co.jp: x
---> dns-a.iij.ad.jp: o

===> domain: ntv.co.jp
---> enma.ntv.jp: o
---> kodama.ntv.jp: o
---> ns1.iij.ad.jp: x

===> domain: aisin.co.jp
---> ns01.aisin.co.jp: x
---> royal.tns.ne.jp: o
---> majesta.tns.ne.jp: o

===> domain: tokyo-gas.co.jp
---> ns.spin.ad.jp: x
---> tgmail01.tokyo-gas.co.jp: x
---> tgmail02.tokyo-gas.co.jp: x
---> ns.tokyo.spin.ad.jp: x

===> domain: ntt.com
---> ns-os001.ocn.ad.jp: x
---> pns.ocn.ad.jp: x

===> domain: taisei.co.jp
---> gate-e.taisei.co.jp: o
---> ns2.iprevolution.co.jp: x

===> domain: glico.co.jp
---> dns2.odn.ne.jp: x
---> fr1.glico.co.jp: x

===> domain: goldmansachs.com
---> auth03.ns.uu.net: o
---> auth51.ns.uu.net: o
---> cmtu.mt.ns.els-gms.att.net: o
---> dbru.br.ns.els-gms.att.net: o

===> domain: mol.co.jp
---> molkwsm02.mol.co.jp: x
---> ns2.mol.co.jp: o
---> mars.kcom.ne.jp: x

===> domain: nttcom.co.jp
---> mail.nttcom.co.jp: o
---> ns.nttcom.co.jp: o
---> ns1.iij.ad.jp: x

===> domain: mazda.co.jp
---> ns-tk012.ocn.ad.jp: x
---> ns2.mazda.co.jp: o
---> rx7.mazda.co.jp: o

===> domain: kose.co.jp
---> ns1.broad.ne.jp: o
---> ns2.broad.ne.jp: o
---> ns3.broad.ne.jp: o

===> domain: nissay.co.jp
---> ns.nissay.co.jp: x
---> marathon.nissay.co.jp: x

===> domain: takashimaya.co.jp
---> dns1.ibps.ne.jp: x
---> dns2.ibps.ne.jp: x
---> dns0.ibps.ne.jp: x

===> domain: chuden.co.jp
---> dns1.chuden.co.jp: o
---> dns2.chuden.co.jp: o

===> domain: housefoods.jp
---> gemini.starnet.ad.jp: o
---> pleiades.starnet.ad.jp: x

2007年10月17日水曜日

munin

munin を導入。

$ sudo portinstall sysutils/munin-main sysutils/munin-node
(muninユーザつくるぜ? > はい)

munin-node 起動
$ sudo /usr/local/etc/rc.d/munin-node.sh forcestart
(あとで /etc/rc.conf に書く)

munin ユーザの cron に以下エントリが登録される。
とくにやることなし。ラク。
#BEGIN_MUNIN_MAIN
MAILTO=root

*/5 * * * * /usr/local/bin/munin-cron
#END_MUNIN_MAIN

あとは /usr/local/www/munin (munin が生成してくれる html やら画像がおかれる)を みられるように Apache で Alias 設定。

んー。デフォルトのままでもけっこー良い感じ。
プラグインもなかなか充実してそう。

2007年10月16日火曜日

MySQL と Postgres

MySQL はマルチスレッド
Postgres はマルチプロセス
だよな
と思っていたけど、なにかの文書で「両方ともマルチスレッド」
というのを見た。

FreeBSD 4.x で MySQL つかうとスレッドライブラリが
libc_r でアレだよね (なので linuxthreads つかっとけ)
というのはあったんだが Postgres はそんな話聞いたことがない。
マルチプロセスでやってるから共有メモリまわりでごそごそするんじゃないのかなー。

以前みた、
検証「Postgres と MySQL」
これに書いてあるとーりだよねぇ。

2007年10月15日月曜日

日本の自動車メーカーのドメインのDNSサーバ

また、例のこれ
副産物として、IIJ に任せているところが三社ある模様。

トヨタは tns.ne.jp のDNSサーバがコンテンツNSのみ、toyota.jp な ns1a, ns1b はキャッシュ使えそう。
ホンダは自ドメインのDNSサーバはコンテンツNSのみっぽい。
ダイハツ、日野はトヨタの子会社からか、おなじ tns.ne.jp な DNSサーバを利用。
マジェスタとロイヤル。
===> domain: isuzu.co.jp
---> ns2.iprevolution.co.jp: x
---> elflock.isuzu.co.jp: o
<===
===> domain: suzuki.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o
<===
===> domain: subaru.jp
---> dns-c.iij.ad.jp: o
---> dns-b.iij.ad.jp: o
<===
===> domain: daihatsu.co.jp
---> majesta.tns.ne.jp: o
---> royal.tns.ne.jp: o
---> dkdns.daihatsu.co.jp: x
<===
===> domain: nissan.co.jp
---> sj000030.nissan.co.jp: x
---> nvs001.nissan.ne.jp: x
<===
===> domain: toyota.jp
---> majesta.tns.ne.jp: o
---> ns1a.toyota.co.jp: x
---> ns1b.toyota.co.jp: x
---> royal.tns.ne.jp: o
<===
===> domain: honda.co.jp
---> slasher.honda.co.jp: o
---> ns.spin.ad.jp: x
---> ns.tokyo.spin.ad.jp: x
---> hornet.honda.co.jp: o
<===
===> domain: mazda.co.jp
---> ns2.mazda.co.jp: o
---> rx7.mazda.co.jp: o
---> ns-tk012.ocn.ad.jp: x
<===
===> domain: mitsubishi-motors.co.jp
---> dns-b.iij.ad.jp: o
---> dns-c.iij.ad.jp: o
<===
===> domain: hino.co.jp
---> dutro.hino.co.jp: o
---> royal.tns.ne.jp: o
---> majesta.tns.ne.jp: o
<===

Introducing the HAMMER Filesystem

上限は 半エクサバイト (500ペタバイト、ってこと?)
無限のスナップショット
ストリーミングバックアップ (?)
非同期トランザクションサポート (fsck いらずに)

ここで
ZFSは冗長すぎるぜぃとかなんとか言っておられる。

2007年10月14日日曜日

ThinkPad

眠ってた ThinkPad を再利用することに。
モノはこれ

windows2000 いれて、かなり使いたおしたなぁ。。
厚みに今更ながらおどろく。

キーボード、「K」のキーがもげたんだよね。。
ショボイサーバとして使うので(予定)、別に問題なし。
FreeBSD 7.0-PRERELEASE にして、快調、快調。

さて、おうちは固定アドレスじゃないのをどうするか。
よさげな DDNS さがそう。

LLなドメインのDNS

先のエントリ、自分の結果だと
Python がトップになったわけで。

ついでなので、この4言語のドメインの DNS を調べてみた。
ruby-lang.org のネームサーバのひとつ、pichu.netlab.jp がキャッシュNS として使えるよ!多分。

===> domain: perl.org
---> ns1.us.bitnames.com: o
---> ns2.eu.bitnames.com: o
---> ns2.us.bitnames.com: o
---> ns3.us.bitnames.com: o
<===
===> domain: ruby-lang.org
---> support.netlab.jp: o
---> pichu.netlab.jp: x
<===
===> domain: python.org
---> ns2.xs4all.nl: o
---> ns.xs4all.nl: o
<===
===> domain: php.net
---> ns1.easydns.com: o
---> ns2.easydns.com: o
---> ns3.easydns.org: o
---> ns6.easydns.net: o
---> remote1.easydns.com: o
---> remote2.easydns.com: o
<===

2007年10月12日金曜日

[FreeBSD] RELENG_7

RELENG_7
ブランチ切られた

OCSP - Online Certificate Status Protocol

結論から。
Internet Explorer 7 における HTTPS セキュリティの強化点
Windows Vista にパフォーマンス強化および OCSP プロトコルのサポートが追加されたことで、Windows Vista 上で実行される IE7 では既定で失効状態のチェックが有効になり、セキュリティが強化されます。

経緯
「vista で SSLのサイトが見られない」

!?!!?

そんなことあるかいなー
とおもって、自分は vista 使ってないので XP上で Fx, IE6 で閲覧。もんだいなし。
ん〜なんだろね〜と思ったところ、Opera だとアウト(バージョン古くても)

どうもIE6で「サーバー証明書の取り消しを確認する」の設定をオンにすると、
見られなくなる。ほうほう。

見られなくなったのは正しい挙動なんだけども、
とある事情により見られなくなると不都合だったんだなこれが。。

Firefox だと、詳細 -> 暗号化 -> 検証 -> で、OCSP を利用する設定にしてみたら、
案の定見られなくなった。

OCSP で確認できるのはデジタル証明書が失効しているか否か、なので
有効期限が切れていないかの確認ではない。らしい。ほー。

2007年10月11日木曜日

続・DNSキャッシュとDNSサーバ - キャッシュNSとして使えそうなサーバ群

前エントリの後、「世の中としてはどう設定してあるのがフツーなんだろう?」
と思い、いくつか調べてみた。

今回の調べ方。
・調べたいドメインきめる
・NSレコードをとってくる
・そのDNSサーバに対して「example.com の Aレコードを問い合わせてみる」
(どこかに存在するRRならなんでもいい、か?)
・アドレスゲットだぜ! なら利用可能っぽい
(example.com のネームサーバは a.iana-servers.net, b.iana-servers.net の2つ)
・以上のチェックをてきとーなシェルスクリプト書いて実行

兼用(コンテンツNSでありキャッシュNSとしてもつかえる) のを x
コンテンツNSのみを o

とした。x, o に意味は無い。

個人的には
o がよろしい
x はよろしくない
という位置づけ。

意図的にキャッシュNSを公開しているのかな。

結果は以下の通り。精度は保証しない。いずれ変わるし。

某大学, BIG4+UCB, いまをときめく(?)IT系いくつか, 携帯キャリア,
電機メーカー, 某ゲームやさん の順。
その後 apple.com, sun.com, hp.com, ibm.com 追加.
(free|net|open|dragonfly)bsd.org 追加.
電力系通信事業者追加.

check 用 cgi みたいなのでも作るのがよいね。

某大はいくつか 全 o
バークレイ、スタンフォード 全 o
ライブドア、楽天 全 o
google, youtube 全 o
携帯キャリアはドコモのみ 全 o
船井電機 全 o
mircrosoft, apple, sun, hp, ibm 全 o
netbsd.org 全 o

===> domain: u-tokyo.ac.jp
---> dns1.nc.u-tokyo.ac.jp: o
---> dns2.nc.u-tokyo.ac.jp: o
---> dns3.nc.u-tokyo.ac.jp: o
<===
===> domain: kyoto-u.ac.jp
---> odns-2.kyoto-u.ac.jp: o
---> ns.kuins.kyoto-u.ac.jp: x
---> odns-1.kyoto-u.ac.jp: x
<===
===> domain: tohoku.ac.jp
---> ns2.tohoku.ac.jp: x
---> ns1.tohoku.ac.jp: x
<===
===> domain: kyushu-u.ac.jp
---> ns.nc.kyushu-u.ac.jp: o
---> ns1.kyushu-u.ac.jp: o
---> nsb.nc.kyushu-u.ac.jp: o
---> ns2.kyushu-u.ac.jp: o
<===
===> domain: useoul.edu
---> hektor.snu.ac.kr: x
---> ercc.snu.ac.kr: x
<===
===> domain: snu.ac.kr
---> ercc.snu.ac.kr: x
---> hektor.snu.ac.kr: x
<===
===> domain: ntu.edu.tw
---> dns.ntu.edu.tw: o
---> ntu3.ntu.edu.tw: x
<===
===> domain: osaka-u.ac.jp
---> ns1.ai3.net: o
---> ns.osaka-u.ac.jp: o
---> vanilla-ice.gw.osaka-u.ac.jp: o
---> name-server.suita.odins.osaka-u.ac.jp: o
---> vanilla-ice.odins.osaka-u.ac.jp: o
<===
===> domain: nagoya-u.ac.jp
---> ns.nagoya-u.ac.jp: x
---> nameserv.gw.nagoya-u.ac.jp: o
<===
===> domain: berkeley.edu
---> adns2.berkeley.edu: o
---> dns2.ucla.edu: o
---> ucb-ns.nyu.edu: o
---> adns1.berkeley.edu: o
---> phloem.uoregon.edu: o
---> ns.v6.berkeley.edu: o
<===
===> domain: stanford.edu
---> avallone.stanford.edu: o
---> atalante.stanford.edu: o
---> authdns4.netcom.duke.edu: o
---> argus.stanford.edu: o
<===
===> domain: yale.edu
---> serv2.net.yale.edu: x
---> yale-server.uchicago.edu: o
---> serv4.net.yale.edu: x
---> serv1.net.yale.edu: x
---> serv3.net.yale.edu: x
<===
===> domain: harvard.edu
---> ns3.harvard.edu: o
---> ns2.harvard.edu: x
---> ns1.harvard.edu: x
<===
===> domain: princeton.edu
---> ns1.fast.net: o
---> ns2.fast.net: o
---> arizona.edu: x
---> ns3.nic.fr: o
---> ns1.ucsc.edu: x
---> dns.princeton.edu: o
<===
===> domain: livedoor.com
---> ldns01.data-hotel.net: o
---> ldns04.data-hotel.net: o
---> ldns03.data-hotel.net: o
---> ldns02.data-hotel.net: o
<===
===> domain: rakuten.co.jp
---> ns01c.rakuten.co.jp: o
---> ns02c.rakuten.co.jp: o
---> ns04d.rakuten.co.jp: o
---> ns03c.rakuten.co.jp: o
<===
===> domain: yahoo.co.jp
---> dnsg01.yahoo.co.jp: x
---> ns10.yahoo.co.jp: o
<===
===> domain: excite.co.jp
---> ns2.sphere.ad.jp: x
---> jpexciteds1.excite.co.jp: x
---> jpexciteds2.excite.co.jp: x
<===
===> domain: hatena.ne.jp
---> ns1.future-s.com: x
---> ns0.future-s.com: x
<===
===> domain: nifty.co.jp
---> ns10.nifty.ad.jp: x
---> ns11.nifty.ad.jp: x
<===
===> domain: dwango.co.jp
---> ns101.dwango.co.jp: o
---> ns102.dwango.co.jp: x
<===
===> domain: ameblo.jp
---> ns1.ameblo.jp: o
---> ns2.ameblo.jp: o
<===
===> domain: google.com
---> ns3.google.com: o
---> ns2.google.com: o
---> ns1.google.com: o
---> ns4.google.com: o
<===
===> domain: youtube.com
---> dns2.sjl.youtube.com: o
---> dns1.sjl.youtube.com: o
<===
===> domain: docomo.ne.jp
---> ns001.docomo.ne.jp: o
---> ns002.docomo.ne.jp: o
<===
===> domain: ezweb.ne.jp
---> wdns3.ezweb.ne.jp: x
---> wdns0.ezweb.ne.jp: x
<===
===> domain: softbank.ne.jp
---> dns05.softbank.ne.jp: x
---> dns01.softbank.ne.jp: x
---> dns02.softbank.ne.jp: o
<===
===> domain: sony.co.jp
---> ns3.sony.co.jp: x
---> ns2.sony.co.jp: x
---> ns.ssd.ad.jp: x
---> ns.sony.co.jp: x
<===
===> domain: mitsubishielectric.co.jp
---> ins01.melco.co.jp: x
---> tokio.mind.ad.jp: x
---> ins02.melco.co.jp: x
<===
===> domain: sanyo.co.jp
---> dns.sannet.ad.jp: o
---> dns.sannet.ne.jp: o
<===
===> domain: panasonic.co.jp
---> dns0.mei.co.jp: x
---> dns1.mei.co.jp: x
<===
===> domain: jvc-victor.co.jp
---> dns3.odn.ne.jp: x
---> ygw04.jvc-victor.co.jp: o
---> ns2.iprevolution.co.jp: x
---> ygw05.jvc-victor.co.jp: o
<===
===> domain: pioneer.jp
---> pi1.pioneer.co.jp: o
---> pi0.pioneer.co.jp: o
<===
===> domain: casio.co.jp
---> ns1.casio.co.jp: x
---> sj2.casio.co.jp: o
---> ns.center.web.ad.jp: x
<===
===> domain: kenwood.co.jp
---> ns.spin.ad.jp: x
---> ns.tokyo.spin.ad.jp: x
---> ns.kenwood.co.jp: x
---> ns2.kenwood.co.jp: x
<===
===> domain: denon.jp
---> ns.at-link.ad.jp: x
---> sv.denon.jp: x
<===
===> domain: dm-holdings.com
---> ns02.shinsei-it.jp: x
---> ns01.shinsei-it.jp: x
<===
===> domain: onkyo.com
---> ns1.omp.ne.jp: x
---> ns1.onkyo.co.jp: x
<===
===> domain: funai.jp
---> ns2.secure.net: o
---> ns1.secure.net: o
<===
===> domain: yamaha.co.jp
---> ns01.yamaha.co.jp: o
---> ns1.iij.ad.jp: x
---> yilnws.yamaha.co.jp: o
---> ns02.yamaha.co.jp: o
<===
===> domain: scei.co.jp
---> ns1.scei.co.jp: o
---> ns.scei.co.jp: o
---> ns.ntt.net: x
<===
===> domain: nintendo.co.jp
---> dns3.odn.ne.jp: x
---> zephyr.nintendo.co.jp: o
---> tempest.nintendo.co.jp: o
<===
===> domain: microsoft.com
---> ns1.msft.net: o
---> ns5.msft.net: o
---> ns4.msft.net: o
---> ns2.msft.net: o
---> ns3.msft.net: o
<===
===> domain: apple.com
---> nserver.asia.apple.com: o
---> nserver4.apple.com: o
---> nserver2.apple.com: o
---> nserver.apple.com: o
---> nserver.euro.apple.com: o
---> nserver3.apple.com: o
<===
===> domain: sun.com
---> ns2.sun.com: o
---> ns8.sun.com: o
---> ns7.sun.com: o
---> ns1.sun.com: o
<===
===> domain: hp.com
---> ap1.hp.com: o
---> am3.hp.com: o
---> eu3.hp.com: o
---> eu2.hp.com: o
---> eu1.hp.com: o
---> am1.hp.com: o
<===
===> domain: ibm.com
---> internet-server.zurich.ibm.com: o
---> ns.austin.ibm.com: o
---> ns.watson.ibm.com: o
---> ns.almaden.ibm.com: o
<===
===> domain: freebsd.org
---> ns0.freebsd.org: o
---> ns1.downloadtech.com: x
---> ns1.iafrica.com: o
---> ns2.iafrica.com: o
<===
===> domain: netbsd.org
---> uucp-gw-2.pa.dec.com: o
---> uucp-gw-1.pa.dec.com: o
---> adns1.berkeley.edu: o
---> adns2.berkeley.edu: o
<===
===> domain: openbsd.org
---> ns.appli.se: x
---> zeus.theos.com: o
---> citi.umich.edu: o
---> cvs.openbsd.org: o
---> ns.sigmasoft.com: o
<===
===> domain: dragonflybsd.org
---> apollo.backplane.com: o
---> ns.idiom.com: x
---> ns2.idiom.com: x
<===
===> domain: stnet.co.jp
---> ns1.stnet.ad.jp: x
---> ns2.stnet.ad.jp: x
<===
===> domain: enecom.co.jp
---> ns01.enecom.co.jp: x
---> ns1.cccn.ne.jp: x
<===
===> domain: qtnet.co.jp
---> ns.qtnet.co.jp: o
---> dns01.qtnet.ad.jp: x
<===
===> domain: k-opti.com
---> ns7.eonet.ne.jp: o
---> ns1.eonet.ne.jp: x
<===
===> domain: ctc.co.jp
---> ns2.dc.ctc.ad.jp: o
---> ctcsvb.ctc.co.jp: o
<===
===> domain: tohknet.co.jp
---> ns1.tohknet.co.jp: x
---> nocsv001.tocn.ne.jp: x
<===
===> domain: tohoku-epco.co.jp
---> ns001.tohoku-epco.co.jp: o
---> ns102.tohoku-epco.co.jp: o
---> ns002.tohoku-epco.co.jp: o
---> ns101.tohoku-epco.co.jp: o
---> ns2.tohoku-epco.co.jp: o
---> nocsv001.tocn.ne.jp: x
<===
===> domain: htnet.co.jp
---> ns2.htcn.ne.jp: x
---> ns1.htcn.ne.jp: o
<===
===> domain: hotnet.co.jp
---> ns.hotcn.ne.jp: x
---> ns1.hotnet.co.jp: x
<===

参考)
DNS の再帰的な問合せを使った DDoS 攻撃の対策について
DNSキャッシュとDNSサーバ
yohgaki's blog - DNSキャッシュ汚染
yohgaki's blog - SANS Top 20

BIND の総本山 isc.org のネームサーバは流石にちゃんと(?)してる。
===> domain: isc.org
---> ns-ext.lga1.isc.org: o
---> ns-ext.nrt1.isc.org: o
---> ns-ext.isc.org: o
---> ns-ext.sth1.isc.org: o
<===

ns-ext〜〜 な名前が外部向け(コンテンツNSだぜい)ってかんじを醸し出してる。

2007年10月10日水曜日

DNSキャッシュとDNSサーバ

同居してるやつを初めて目にしたので
久しぶりに読んでみた。

その「同居してるやつ」、
世界のどこからでもバリバリ(死語
キャッシュ NS として利用できちゃうみたいなんだけど、
管理外なのでなにがおきても知らない。

2007年10月8日月曜日

[FreeBSD] 3行パッチその後

アレで commit されるっぽい。めでたしめでたし。

試してみー、ともらったのが以下。

--- sched_ule.c 2 Oct 2007 01:30:18 -0000 1.212
+++ sched_ule.c 7 Oct 2007 04:01:20 -0000
@@ -743,6 +743,9 @@
int load;
int cpu;

+ if (!smp_started)
+ return (1);
+ KASSERT(steal_thresh != 0, ("steal_thresh == 0"));
/* We don't want to be preempted while we're iterating over tdqs */
spinlock_enter();
tdg = tdq->tdq_group;

こんだけで直るんだねぇ。

実際修正されたのはこう

2007年10月7日日曜日

[MySQL] MySQL辞典

でるみたい。



執筆陣はよく目にする方々。

[MySQL] 現場で使えるMySQL

買った。

---
本書は、DBマガジンの人気連載を書籍化したものです。RDBMSの利用経験者で、これから新たにMySQLを使いたいと考えている人向けに、MySQL を現場で本格利用するための知識を「深く」「幅広く」「分かりやすく」解説しています。特に、トランザクション、パフォーマンスチューニング、バックアッ プ/リカバリ、文字コードなどのシステム開発/運用管理で重視される必須知識について、マニュアルや既刊の関連書籍にほとんど掲載されていない内容まで掘 り下げて解説。MySQLによるシステム開発から運用管理までの実践的な知識を習得できます。これからMySQLを始める人も、すでにMySQLを使って いる人も必読の1冊です!
---

[Apache] mod_geoip

この間

「○○さーん、Apache で国別のIPアドレスでアクセス制限できる?」

ときかれたもので。

webalizer で geoip を使ってた経験から、mod_geoip の存在は知っていたので
それを勧めてみた。

GeoIP.dat は月一くらいで更新かなー。cronで。

[FreeBSD] 3行パッチ

この前VMware Fusion が仕様期限を迎えたため、
再び Parallels で -CURRENT をつかうことにした。

csup でソースを更新してworld と kernel 再構築。
すると、、ネットワーク周りがおかしい。

古いカーネルであげると正常。
ULE 怪しいのかなぁと思いつつ -CURRENT にメル。

まず、
o SMP オプションをきりたまへ

とキタ。確かに カーネルコンフィグから SMP を無くすとまとも。
症状としては

前提:
** Parallels は Guest を SMPで動かせないのでUPなマシン

csup 前
・SMP有効なカーネル、ULEスケジューラ -> Good!

csup 後
・SMP有効なカーネル、ULEスケジューラ -> Bad..
・SMP無効なカーネル、ULEスケジューラ -> Good!
おまけ
・SMP有効なカーネル、4BSD スケジューラ -> Good!

その後、sched_ule.c へのパッチをもらう。3行のパッチ。
smp の判定をいれただけ、なのか。

早速パッチあててカーネル再構築 & リブート。

治った。csjp さんトンクス。
この問題はこれだけで解決、なのかね。

VMware Fusion を使ってたら、わかんなかったかもしれない。(SMPで使えるため)

2007年10月5日金曜日

ssh1 は時代遅れだよね

それにセキュリティ上宜しくなかったり。
プロトコル1 で指定されて使うことがあり、そう思った。

OpenSSH セキュリティ

--
OpenSSH は SSH 1 プロトコルの欠陥を持っています。このため、 困難ではあるものの「情報を挿入させる攻撃 (insertion attack)」を受ける可能性が残っています。 CORE-SDI の 攻撃回避メカニズム (deattack mechanism) によりほとんどの場合は回避できます。でもこの問題の解決には調査が必要です。 なぜなら SSH 1 プロトコルはまだ死に絶えてはいないからです。
--

うむ。。。確かに死に絶えてない。

2007年10月2日火曜日

OpenSSH を使った簡易 VPN の構築

機能があるのは知っていたけど、試したことがなかった。
スンナリできるねぇ。

2台ともFreeBSD.

くら
tun0: flags=8051 metric 0 mtu 1500
inet 192.168.200.2 --> 192.168.200.1 netmask 0xffffff00
Opened by PID 722

さば
tun0: flags=8051 mtu 1500
inet 192.168.200.1 --> 192.168.200.2 netmask 0xffffff00
Opened by PID 51464

その後 パケットとばないなー、、と思ったら pf で遮断してた....

Mac OSX でもできる、、のかな。デバイス周りがワカラン。

2007年10月1日月曜日

ssh と リモートデスクトップ と 私

ポートフォワードしてフンフンすることになった。

Mac で Terminal.app 。

$ ssh -l [ユーザ名] -p [ポート] -T [足場サーバ] -L[任意のポート]:[リモートデスクトップなサーバ]:3389

で、RDC つかってつないだけども、、
キーボードが
Mac -> 英語配列
接続先 -> 日本語配列

なので、入力がめためた。。orz...
良い方法ないのかな。


当面は おとなしく日本語配列な windows つかいますよっと。。