2006年5月7日日曜日

ジャンク・ノートパソコンで家庭内サーバ



実家で24時間これまで動いていたサーバは、寄せ集めの不要パーツをリサイクルして組み立てたものでした。



  • DELLのマザーボード。1000円くらいだったジャンク品。一見ATXのようで、電源ピンの配列がATXとは違うという、かなり怖い代物。仕方ないので変換ケーブルを自作した


  • ごみ捨て場で拾ったPentiumII 233MHz。CPUファンが壊れて回らなくなったので、似たようなものを見つけていて、ねじりっこで、しばりつけてある


  • 64MBとか128MBくらいの、あまってたSDRAM


  • 64MBのコンパクトフラッシュ(CF)と、CFをATAに変換するアダプタを使って、ハードディスク代わり


  • 電源は、余ってたATX電源。静穏化のために、ファンの電源を12Vから5Vに変えた


  • OSはFreeBSD(の5.1とか古かった・・・)。CFは書き換え回数に寿命があるので、すべてread onlyでマウント。書き換えが必要なところはMFSで用意する


今回これを、年末に買ってきた(これもジャンクですが・・・)

FMV-650MC8/W (FMV8MCHTL6)

というノートパソコンで置き換えました。



200605061





  • 今回も、ハードディスクは内蔵せず、コンパクトフラッシュを使ったので、0スピンドルノートパソコンです。容量は256MBのCFを使いました。


  • バッテリは完全に消耗していて、そんなのをつけてても仕方ないの出で、はずしてしまいました。そのおかげで、とても軽くなりました。これくらい軽いと、外出時に持ち歩いても快適です。ただ、バッテリがないので使い物になりませんね・・・


  • メモリは・・・買おうと思ったら、けっこういいお値段でしたので、64MBのまま


  • OSは、年末頃にビルドされた、FreeBSD 5.4-STABLE。


  • vtunを使って(昨日の話)、実家~自宅をVPN接続。


  • 簡単なスクリプトを書いて、新着メールがあると、音を鳴らして知らせる。


  • sambaのnmbdだけ動かして、Windowsパソコンの名前引きをする(VPN接続した向こう側のWindows PCにアクセスするために必要・・・後述)


  • sshで外部ネットワークからログインできるようにしておく。


  • ダイナミックDNSの更新処理を行う。


  • 前はnamedを動かしていたけど、なんで動かしていたのか理由を忘れてしまったので、今は動かしていない。


  • ふたを閉めても、サスペンドしないように、BIOSメニューで設定。なぜか、FreeBSDでは、ほったらかしていても、液晶パネルのバックライトはつきっぱなしでした。greenというスクリーンセーバーを使うと、画面の電源が落ちるようになるはずですが、画面は真っ黒になるものの、バックライトはついたまま・・・


・・・というようなかんじで、帰省している間は、ちゃんと動いているか様子を見ているところです。先代よりもマシンのスペックはあがっているので、もう少し仕事をさせてもいいかな?



今後は、メール周りの環境をもう少しよくしたいと思っています。自宅ではfetchmailでプロバイダからとってきたメールを、spamassassinでスパム・メールのチェックをしたあと、imapで読めるようにしています。



一方、実家では、別のプロバイダを使っていて、ごく単純にPOPでメールを読むだけでした。最近、迷惑メールが混じるようになってしまったので(辞書式のしらみつぶしで見つけられてしまったらしい)、メールサーバを自宅のほうで集中管理して、実家からは、VPN接続を経由してアクセス(FreeBSDががんばってくれるのでWindowsパソコンからは、まったく意識する必要がない)するようにしようかな、と考えています。





200605062



☆ ☆ ☆ ☆ ☆



昨日の補足。



■ vtundのクライアント側の設定



クライアント側では、/etc/rc.confにこんな風にかけば、vtundが自動起動するらしいです。

vtund_enable="NO"
vtunclient_enable="YES"
vtunclient_flags="tun-ttt ttt.example.com"

■ 異なるネットワークセグメントのWindows PCにアクセス



VPN接続した向こう側のWindowsパソコンのファイル共有にアクセスするとき、「向こう側のPC」のIPアドレスを知る必要があるのですが、これ、Windowsのネットワーク機能が、ナニなもので、いろいろやっかいです。いろいろ方法はあると思うのですが、私は、一番単純な方法として、SAMBAのnmbdに、手伝ってもらうようにしています。





smb.confでは、こんな風に指定することで、nmbdが、名前引きを代行するようになるらしいです(Windowsのネットワーク機能はチンプンカンプンでわけわからんです)。

wins support = yes
wins proxy = yes
dns proxy = yes

Windows PCがあるパソコンにアクセスするとき、そのパソコンの名前からIPアドレスを求める必要があるのですが、↑のように書いておくと、探している名前が(DNSで)引ける場合には、nmbdが代理で、IPアドレスを返答するようになるらしいのです。



DNSサーバなんて実際にはいらなくて、家庭内LANのように小規模なネットワークなら、/etc/hostsで十分です。/etc/nsswitch.confで、

hosts: files dns

とでもしておき、あとは、/etc/hostsファイルに、すべてのマシンの名前(Windowsのパソコン名)と、IPアドレスを書いておけばOK。DNSサーバを動かす必要はないです。





■ 参考





0 件のコメント:

コメントを投稿