2007年7月24日火曜日

実録男前豆腐店 男の3連チャン

例の、「男前豆腐店」の豆腐で、新しいのを見かけました。



実録男前豆腐店
男の3連チャン



20070723


意味わかんないですが、名前、干支、星座が書かれてます。どうでもいいところまで無意味に丁寧な仕事がされてます。



  • リュウイチ  寅年 牡牛座


  • テツオ  寅年 山羊座


  • マサヒロ  丑年 蟹座




男前豆腐店のウェブサイトを見たら、やかましくて、げんなりしました。
見なきゃよかった・・・あーあ。





昨日の予定では、玄箱でfetchmailを動かす話を書こうと思ってたのですが、今日は、憑かれた、じゃなくて、疲れちゃったんで、明日にします。



疲れちゃった理由ってのが、CentOSをネットワークブートさせて動かそうとして、あれこれやってたら、けっこう時間がたってしまいました、ってことなんですけど。



FreeBSDならそこそこわかってるつもりでしたが、リナックス方面は、もうほとんどわかんなくて。

なんとなく腕試しに、FreeBSDをネットワークブートさせることは、わりとすぐできましたけど。



でも、1つ大失敗しました。



ディスクレスクライアント用のファイルシステムを用意するときに、make installworld DESTDIR=/mnt ; make installkernel DESTDIR=/mntとかやって用意したんですが、それじゃダメなんですね。make installworldしたときって、/etc内のファイルは、ごく一部しかコピーされないので、それじゃ、まともにはブートしませんでした。
よく考えれば、そりゃーあたりまえだわ・・・(笑)

昔、debianやfedora coreをネットワークインストールしたことがあったので、ディスクレスなLinuxマシンを作るのなんて、すぐできるだろうと思ってたら、意外とはまって、結局、今日は途中で断念しました。



  • CentOSを動かしたいディスクレスクライアントは、PXEブートできる


  • DHCPサーバは、FreeBSDで、isc-dhcpd


  • ファイルは、FreeBSDマシンから、tftpでダウンロードさせてやる(なんかエラそうな態度だ)


  • ルートファイルシステムは、FreeBSDをNFSサーバとして、NFSマウントさせる。initrdは使わない


  • pxelinuxとかは、昔ネットワークインストールしたときのがあるので、それをそのまま使う


  • とりあえず、HDDにCentOSをインストールしておいてから、ファイルをすべて、FreeBSDのファイルサーバ上へdump & restoreしてコピー。なんかたくさんエラーがでてたけど・・・


そうして、さっそくブートさせると、ルートファイルシステムをマウントするところでエラー。



なるほど、標準のカーネルでは、ROOT_NFSという機能が組み込まれていないためですね。FreeBSDだとGENERICカーネルで有効になってたりしますが。



というわけで、久しぶり、10年ぶり?くらいに、Linuxカーネルを構築しちゃいましたよ。あーもー、かなりわかんなくなっちゃってます。make menuconfigが懐かしかったです。



で、けっこうはまりつつも、なんとかROOT_NFSを有効にしたカーネルを作って、ブート。



やっぱり、ルートファイルシステムをマウントするところでエラー。



tcpdumpした結果や、カーネルブート時のログよく見ると、そもそも、IPアドレスも取得していない。



とゆーか、ネットワークデバイスを認識していない。



・・・ああ、なるほど、ネットワークデバイスのドライバが、モジュールになってて、カーネルに組み込まれてないんだ!



で、もういちど、カーネルを再構築。



ブートさせると、今度はDHCPでアドレスなど情報を取得しています。



でも、やっぱりルートファイルシステムをマウントできずpanic。



NFSサーバ側で、showmountしてみると、マウントした痕跡は残っていたのですが・・・



明日、もう一度、よくLinux方面を勉強しなおしてから、再挑戦しようと思います。




(2007/7/24)



FreeBSD 5-STABLEをNFSサーバしたとき、どうも、うまくいかない。マウントは成功するものの、そのあとのNFSアクセスでエラーがでて、ディスクレスマシン側で自滅。tcpdumpでながめてみて、なんとなく変。



CentOS 5をNFSサーバとしたら、うまくいったと思いきや、ディスクレスマシンのroot権限でファイルを書き込むことがでいない。nobodyにマップされてしまう。NFSサーバではもちろんno_root_squashを指定してexport。FreeBSDなNFSクライアントでマウントしてみて、root ownerでファイルを作成できることは確認済み。tcpdumpでながめてみても、ファイルをcreateするときにuidが指定されてなくて、なんとなく変なかんじ。それにAUTH_NULLってうまく動いてるの?みたいな。





というわけで、とりあえず、書き込みができないけど、single userモードではブートできた。



どうも、Root_NFSで実装されているNFSクライアントが、うさんくせー実装になっているんじゃないか?説が強くなっています。



ふと思ったのですが、ウェブで公開されている、リナックスをネットワークブートするドキュメントのいくつかで、/tftpboot以下をNFS exportしろって書いてあるのがあったのですが、セキュリティ的に、非常に気持ち悪いです。それだと、tftpを使って、ディスクレスマシン用のファイルが自由に読めるようになっちゃいますよね?!
たしかにtftpd経由のアクセスは、そこそこのアクセス制限がかかるわけですが、それでも、本来は読めないはずのファイルが、だれでも自由に読めるようになってしまうってねぇ・・・なんか勘違いしてるかなぁ





■ 過去記事





0 件のコメント:

コメントを投稿