FreeBSD to Linuxサーバ移行顛末記

我が家のネットワーク図

我が家のネットワークの構成を図に示しました.ドメイン名はhomelanです. pahterがメインのデスクトップで Windows98が走っています.uhuはノートマシンでFreeBSDを入れてあり, 学校のネットワークにも接続する関係上,DHCPクライアントになっています. kaiserが旧サーバでFreeBSDマシン(たまにDOSのゲームもやる), kaiserinが今回新しく導入したサーバで, NetGenesis4はルータです.

友人から1.2GBのハードディスクを譲り受けたので,初代自作機を サーバとして甦らせることにしました。名前はKaiserin.前のサーバが Kaiserだったからという安直な理由です. 余談だが,このマシンのケース、DOS/VパラダイスのオリジナルでTW-777C というやつですが,安かろう悪かろうを地で行く粗悪品で、ケースがゆがんでいて, 上の方のスロットに挿した拡張カードは,すぐに接触不良になるわ, スリーブもたわんでいるは,電源はうるさいはでかなり買ったことを後悔してい ます.

閑話休題. 今までは、PC-9821As2/U2でFreeBSD2.2.8を動かしていましたが, 今度のサーバではLinuxを動かすことにします.個人的にFreeBSDよりLinuxの方が カオスなパワーがありそうで好きなんです.(旧サーバ構築時にはLinux/98はまだなかった.)

ディストリビューションはVine Linuxにしました.手元にあるディストリビューショ ンでもっとも新しかったからです.なぜか、LILOからのブートに失敗(LIで止まる) したので,フロッピーにカーネルを入れてブートします. が,毎回フロッピーからブートすると遅いので,調べてみると,どうもBIOSと linuxのでCHSの変換が食い違っているようです. そこでlilo.confでliloにBIOSと同じ数値を渡すようにしたらうまく行きました. (結局はgrubを入れてしまったが)

最初に、カーネルを2.2.10にアップグレードします。2.2.xもそれなりに安定して いるようだし、性能がだいぶ上がっているらしいとうことを考慮したうえでの 決定です。LinuxJapan1999年8月号 の付録CDには都合良く、2.2.x化キットというものが入っていたので使いました.

以下に各サーバの移行顛末記を記します.

name server(bind)

ダイヤルアップ接続のくせに生意気にも,ルートネームサーバから自分で引 きに行くことにしました. あとは,CNAMEレコードを変えただけ。 で,テストしてみる.ローカルの名前しか引けません.ログを見ると, ルートネームサーバにアクセスできないようです.pingを打っても届きません. なんと,デフォルトゲートウェイの設定を忘れていました. 大ポカです.

これに伴い,kaiserで運用していた旧サーバをスレーブネームサーバにします. typeをmasterからslaveに変更し,mastersにマスタネームサーバのIPアドレスを 書きます.

mail server(fetchmail+procmail+WU imapd)

imapd4.5をコンパイルしまた.telnetコマンドでテストしてみます.ログイン に失敗.PAMを使うようにしましたが、他のPAMを使ってい るプログラムをlddで見てみると,リンクしているライブラリが違います. libcrypt.so.1というライブラリをリンクしています. RedHat6.0用のSRPMを持って来てコンパイルしてみてもうまく行かないので, Redhat5.2用のimapd4.4バイナリを使いました.結局libcrypt.so.1はリンクしなくても 良いみたいです.imapdに関しては以上で完了です.その後, VineUpdateでimpd4.5があったので,入れました さらに後,imapd4.7を導入しました.今度はPAMを使うLinuxターゲット`lnp' を指定しただけで上手く行きました.最初に失敗したのはなんだったんだろう?

ついでに,IMAPのCRMA-MD5認証に対応できるようにしました. UW-IMAPDは普通にコンパイルした場合,/etc/cram-md5.pwdがあるとCRAM-MD5認 証に対応してくれます. /etc/cram-md5.pwdにはユーザ名とパスワードをTABで区切って書くだけです. プレーンテキストで書き込むので,通常のログインパスワードとは別にし, パーミッションを600にしておくべきでしょう.

次はfetchmailです. FTPで一括転送して来たので,.fetchmailrcのパーミッションが rx-r--r--となっていて不正と言って怒られてしまいました. 直します。procmailによるメールの振り分けがうまく行きません.ログを見ると、 sendmailが.forwardの|exec /usr/bin/fetchmailをunsafeと文句を言っていて良 く分かりません.メールのリファイル先のファイルが, rw-r--r--となっているのが原因かと思い修正するが変わらず. その後ログを見ると,procmailに.procmailrcがsuspicious rcfileと言われ たので、.procmailrc,.forward,.fetchmailrcあたりの パーミッションをいじったら,直りました.このあたりのファイル のパーミッションは,セキュリティ上うるさいようです.

smb server(samba)

/etc/smb.confをいじって,smbpasswdで暗号化パスワードを登録しただけで す.とくにトラブルなし.smb.confの修正点を書いておきます.

workgroup = homelan
client code page = 932
codingsystem = SJIS
encrypt passwords = yes
smb passwd file = /etc/smbpasswd

workgroupはその名のとおり,ワークグループ名の設定です. client code pageとcodingsystemの設定は日本語のファイル名のための設定です. codingsystemはEUCにしたほうがいいのかもしれませんが,以前2Byteのファイル 名が化けたことがあったのでSJISにしています. encrypt passwordsとsmb passwd fileは暗号化パスワードのための設定です. 最近のWindowsは暗号化されたパスワードを流すのでWindows側で平文 のパスワードを流す設定にしない限り,必要な設定です.

dhcp server(ISC dhcpd)

Packet Filterがカーネルに組み込まれていなかったので,カーネルの 再構築を行いました.その他はとくに問題なし.

option domain-name "homelan";
option domain-name-servers kaiserin.homelan, kaiser.homelan;

option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
option domain-name "homelan";
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
}

host uhu {
hardware ethernet 0:0:c0:5d:bd:95;
fixed-address uhu.homelan;
option host-name "uhu";
}

最後のhostステートメントではuhuに固定IPアドレスを渡すために EthernetカードのMACアドレスを渡しています.

proxy server(wwwoffle)

今まではsquidを使ってたが、これは常時接続でこそ有効なものの, オフラインでキャッシュの中身をじっくり見るというものではありませんでした. wwwoffleというものがダイアルアップ環境に都合よさそうだったので,使って みることにしました.

こいつには,オンラインモードとオフラインモードというのがあって, オンライン時は普通のプロクシサーバとして働きます. オフライン時にはキャッシュ内にあるものは普通に見られますが,キャッシュさ れていないものはダウンロードするチェックをつけるだけで, インターネット側にアクセスしません. これで, オフライン時に見たいサイトをダウンロード予約しておく→テレホ時間に予約ペー ジを取得→オフラインでゆっくり見る というサイクルができます.

コンパイル&インストールはmake&make installだけです.そのままだとlocalhostからしか 接続できないので, wwwoffle.confのAllowedConnectHostsにローカルのLANのアドレスを追加.

AllowedConnectHosts
{
*.homelan
}

ついでに,LocalNetにもLANのアドレスを追加しておきます.

LocalNets
{
*.homelan
}

コントロールページのリンク先アドレスが127.0.0.1になっているので, LocalHostの先頭に,サーバのアドレスを追加.

LocalHosts
{
192.168.0.5
kaiserin.homelan
}

IE5で接続.つながらないページがあります.wwwoffleはhttp1.1に対応していない らしいので,http1.1 を使わない設定にしました.IEのヘルプにも 多くのwebサイトはまだhttp1.1に対応していないと書いてありました.でも駄目.変 わりません. キャッシュから名前解決したときに失敗しているのかも.

その後Version2.5cを導入したところ,おおむねうまく動いているようです. たまに前述のエラーが出ますが,リロードすれば大丈夫です.

ホームページに戻る