A300 C700 C3000 C3200 Home

Open Micro Serverについて

これは私自身の設定記 録です。参考にしていただけることがあるのならたいへん嬉しいのですが,あく までも自己責任でお願い致します。


チューニングその1(2006.2.20)
Debian化に挑戦(2006.2.12)
OpenMicroSever到着(2006.1.28)


チューニングその1

「respawning too fast」のメッセージ

/var/log/daemon.logに5分おきに延々と以下のメッセージが残されています。 実害はそれほど無いのかも知れませんが,気になります。/dev/tty?はちゃんと 存在しているんですが,graphic cardが装着されていないせいでしょうか?

init: Id "3" respawning too fast: disabled for 5 minutes
init: Id "5" respawning too fast: disabled for 5 minutes
init: Id "4" respawning too fast: disabled for 5 minutes
init: Id "2" respawning too fast: disabled for 5 minutes
init: Id "1" respawning too fast: disabled for 5 minutes
init: Id "6" respawning too fast: disabled for 5 minutes

inittabの編集

当分の間,直接モニタをつなぐ予定はないのでこのエントリが無くとも構わ ないだろうと言うことで,/etc/inittabを編集して,上記に対応する部分 を以下のように#でコメントアウトしました。特に問題はないようです。

#1:2345:respawn:/sbin/getty 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6

ntpdのためのponの微調整

時刻を合わせるため,ntp関連のntp,ntpdate,ntp-simpleをインストールしま したが,OMSの起動時からインターネットに接続する設定にしていないため, /etc/ntp.confに記述したntp-serverを,pppoeで接続後に見に行ってくれないよ うです。そこで(これで良いのかどうか全く自信はないものの),pppoeの起動 用のshell-scriptである/usr/bin/ponの最後に,ntpdを再起動するようにコマン ドを付け加えました。これでproviderのserverを見に行っています。

ただ,きちんとscriptを置くフォルダがありそうですが。とりあえず,間に 合わせです。

その他

やっぱり,残念ながら再起動の途中で固まることがあります。ログでは確認 できない状態なのですが,iptablesが適用されるタイミングのような「感じ」が します。

ネット上でもiptablesの不具合の報告があり,SSD/Linuxのものをコピー して使用するべきということも見掛けます。natテーブルを使うとまずい,と ういう記載もありました。自分がiptablesを設定したときも何度か固まったので すが,必ずしもnatの設定が関係したという印象はありませんでした。

とりあえず,adsl-modemにつないでいるeth1のケーブルを外して再起動をか ければOKのようなので,しばらく情報を集めながら,調整を続けていこうと思 います。


Debian化に挑戦(2006.2.12)

Plathome でDebianのハードディスクイメージ(Sarge3.1)が公開されました。SSD/Linuxで 動かしてみましたが,いろいろ使いたいコンマンドもあるし,Debianそのものへ の関心もあるので,早速インストールしてみることにしました。ただし,Vineは それなり長い期間使ってますが,(Zaurusはともかく)Debianはほとんど初めて 使うという状況でしたので,案の定結構苦労してしまいました。一応,最低限の routerとしては動いているという状況まではたどり着くことができましたので, その設定メモを書いておこうと思います。後で繰り返すことが出来るように, 細かいところまでメモメモです。 勘違いも多いと思うので,間違いを教えて頂ければ幸せかな,などと思ってます。

storageの準備

予定した通り,ある程度の容量を確保したいと思い,1GBのCFカードを購入し ました。SanDiskのUltra2です。今となってはそれほど早いカードではなくなっ たと思いますが,値段もこなれてきました。ただ,CFだと書き込み耐性が不安で すが,せっかく駆動部がないメリットを活かしたいと思います。OMSに装着して 作業開始。また,これも 決して推奨はされないと思うんですが,swapの領域ををCFに確保しました。

ちなみに,OMSの設定は, 母艦の(Vine)Linux経由で行いました。初期状態でOMSのネットワークアドレスは, 通常使っているものとは違うアドレスでしたので,OMSのeth0のアドレスに母艦 のethのアドレスを合わせるため

# ifconfig eth0 192.168.252.50

としてからLANのハブにOMSのeth0をつなぎました。既定ユーザ名でtelnet経由で loginしsuします。

$ telnet 192.168.252.254
$ Login: (既定ユーザ)
$ Password: (既定ユーザのパスワード)
$ su -
$ Password: (rootの規定パスワード)

マニュアルにある通り,領域確保。デバイス名は/dev/hdaに なります。boot後にfdiskで領域を切りました。/dev/hda1が/のマウントポ イントで950MB,/dev/hda2はswap領域で,50MB程度。私の現在の使い方では,ま ずswapoutは起こらない(ですからCFの書き込み耐性もさほど問題にならないだ ろうという思い込み)と思いながらも,念のため。次に,

# mke2fs -j /dev/hda1
# mkswap /dev/hda2

として,準備完了。

HDD-imageの準備

上記のPlathomeのサイト公開されている,Debian GNU/Linuxのハードディスクイ メージsarge-mipsel-oms-20060127-1.tar.gzをダウンロードしておき, 別のstorageに保存しました(もちろん,上の初期化後のCFに直接書き込んで おいてもよいと思いますが)。これをOMSのUSB経由でCFにコピーします。 その際,CFは/mntにmountしました。

# mount -t ext3 /dev/hda1 /mnt
# mkdir /root/temp
# mount -t ext3 /dev/sda1 /root/temp
# cp /root/temp/sarge-mipsel-oms-20060127-1.tar.gz /mnt 

いよいよイメージの展開です。これもマニュアル通り。

# tar zxpf sarge-mipsel-oms-20060127-1.tar.gz

ちょっと時間がかかりましたが,無事展開完了。展開後は sarge-mipsel-oms-20060127-1.tar.gzは削除して構いません。

設定ファイルの書き換え

展開されたイメージは,USBデバイスの利用が想定されているようで, 私はCFにインストールしていますので,fstabの変更が必要です。 /mnt/etc/fstabの始めの2行を次のように書き換えました。

/dev/hda1       /               ext3    defaults        1       1
/dev/hda2       swap            swap    defaults        0       0

次に,ssh(かtelnet)をインストールしておかないと,ether経由の設定ができ なくなりますので,まずその作業。apt-getを使ってインストールしますので, 手始めにLANに参加できるようにします。LAN内はfw+MASQUERADEで外につながっ てますので,OMSには特にfw等の設定はしませんでした。OMSを直接外に向けてつ なぐ場合は,必ずfwの設定を先にしなければならないですね。

ethの設定は/mnt/etc/network/interfacesで行います。私は,この中のeth2の 部分をLANに参加できるように変更しました。変更する項目は,addressとgateway になるかと思います。また忘れずに,/mnt/etc/resolv.confもLANの設定に合わ せておきます。chrootし,networkを再起動します。

# chroot /mnt
LinuxServer: /etc/init.d/network restart

ここで母艦のeth0のアドレスを元に戻し,OMSのethケーブルはeth2に差し換 えます。次にOMSのeth2に設定したアドレスにtelnetで入ります。次にchrootし て,sshのインストールに進みます。

$ telnet (OMSのeth2のアドレス)
Login: (OMSの既定ユーザ名)
Password: (OMS既定ユーザパスワード)
$ su -
Password: (OMSのrootの既定のパスワード)
# chroot /mnt
LinuxServer: apt-get update
LinuxServer: apt-get install ssh

ssh関連のいくつかの質問が来ますが,普通に(?)設定します。

OMSのchrootから抜け,CFから起動するようにflashcfgしてからリブートしま す。

LinuxServer: ^D
# flashcfg -c hda1
# shutdown -r now

次に,母艦からsshでOMSに既定ユーザでloginし,当面必要な物をapt-get install

$ ssh 既定ユーザ名@OMSのアドレス
$ Password: (既定ユーザのパスワード)
# su -
# Password: (標準のrootのパスワード)
# apt-get install bind9

とりあえず,bind9,dnsutils,sudoとlessをインストールしました。

次に新しいユーザを作成するとともに,rootのパスワードを変更。既定のユー ザも削除しておいた方がよいでしょうね。ここで,ちょっとはまってしまったん ですが(笑)Debianでは新規アカウントの登録はadduserがお勧め(標準?)な んですね。初めuseraddを使おうとして,恥ずかしながらこんがらかってしまい ました。

その他,.bashrcの設定。特にVineのktermを使ってsshでloginして作業を行 うため,ターミナルの設定をしておかないと表示が乱れたりなにかと不便です。 そこで新規に設定したユーザとrootの.bashrcに

export TERM=vt100

を入れておきます。また,同時にプロンプトも自分の慣れた形式に変更しま した。hostnameは/etc/hostnameに書いて設定します。

BIND

上記の通り,DNS-serverはbind9をインストールしました。これは他の端末で の設定ファイルを持ってきただけで動いています。ただ,設定のdirectoryが/etc/bindであ ること。またpid-fileが/var/run/bind/run/named.pidであることに注意が必要 です。rndc-keyは,confファイルの先頭に書き込んでしまいました。とりあえず 動いているという状況なので,詳細は書かないでおきます(汗)。

またlocalのDNSからproviderのDNSにforwardersするようにしました。LANのDNS もOMSにするので,LAN内部のDNSを別に立てる(設定する)ことを避けるためです。 そこで/etc/resolv.confのnameserverの設定は,OMS自身にしておきます。

pppoeとiptables

iptablesの設定では,なぜか途中でフリーズしてしまうことが何回かありました。 原因はよく分からないままなんですが,iptablesではppp0の設定も入るので, 先にpppoeの設定をしておいた方が良いのかなと考え,iptablesの前にpppoeを設 定したら通りました。

まず,eth1でadsl-modemにつなぎ,pppoeconfというコマンドを叩くと,いろ いろ聞いて来ますので,それに答えて行けば良いようです。 前述の通りresolverを書き換えないようにするために,/etc/ppp/peers/dsl-providerで, usepeerdnsを#でコメントアウトしました。defaultrouteはそのままispに向くようにします。 また,/etc/network/interfacesのeth1の部分については,特に変更しなくて良いよう です。

iptablesについては,Vineとはちょっと勝手が違っていて,interfaceがupする前にの設定 を/etc/network/if-pre-up内に,downした後の処理を /etc/network/if-post-downにいずれもshell-scriptとして記述します。ネット 上のあるページで,この設定ファイル名にはピリオド.を入れてはいけないとの 記述を見掛けましたので,これを使うのは避けました。(本当に使えないかどう か確認はしていません。)

以上でrouterとして動作するようになりました。

# pon dsl-proviser

で,adslがつながり,iptablesの設定でMASQUERADEでLAN内の端末から外に出 て行くことができました。切断は,単にpoffと打つだけです。

結果

考えてみると,はじめから(eth0は使わなくとも)eth2を使って設定出来る のかも知れませんね・・・。ともかく,sudo,sshとexpectの組み合わせで, Vine側からコマンド一発で無事 adslの制御が出来ています。また外側からスキャンをかけて,iptablesの設定を 確認し,きちんとポートが閉っていることを確認しました。 routerとしての細かいチューニングも必要なんだと思いますが,現在adsl-8Mの環 境ですので,光を目指して徐々に設定してみようと考えています。


OpenMicroSever到着(2006.1.28)

まずは初期設定

久しぶりに新しい 機械 を買ってしまいました。職場でOpenBlockS(初代?)を FWとして使ってはいるんですが,自分では良いなと思いながらも購入はし ていませんでした。

家庭内LANも徐々に高速化していきたいと考えていましたが,プラットホームの webを眺めていたら,OpenBlockServerはGigabit-Etherのポートを2つ持っている とのこと。ちょうど古いノートパソコンで設定しているserverのハードディスク の挙動もかなり怪しくなってきていたこともあり,とっても惹かれました。

ということでオンライン発注してしまい,1月下旬にわが家に到着しました。 「50度まで耐える」という売りのため,公式にはハードディスクの内蔵は勧めて いないようです。はじめから入っているユーザーエリアで運営できないこともな いようですが,使えるコマンド類が限られるのと,設定をいちいち保存する作業 が必要となるため,storageを追加して運用するのが現実的なようです。

そこでとりあえず,現在余っていた128MBのコンパクトフラッシュ をさして設定してみました。ただし,128MBだと工場出荷時のコマンド類しか使 えないので,意味はありませんが,とりあえず試験運用です。 さて手順通り,コンパクトフラッシュに区画を1つ作りアクティブ化し, ext3でフォーマット。 マニュアル通りコマンド類をコピーして,起動デバイスをコンパクトフラッシュ に変更しすると無事起動しました。
まずは,iptables+masquerade,DNS,pppoeの設定をしました。

ただ,(当然なのか)内蔵ramの使用に比べ て,非常に起動に時間がかかります。swapを確保していないせいもあるのか も知れませんが,やはりCFの読み書き速度の問題かと思います。 十分な作業エリアの確保やコマンド類のインストールのために,もう少し投資し て1GB程度の速度の早いCFで設定してみたいと考えています。

当たり前ですが駆動部がないので当然無音ですし,熱も全く感じることがなく快 適です。スピードについては,ほとんどの機器が100Mbの環境ですので,これか ら高速化を図らないとよくわかりません。それから何より,CPUがMIPS系なので 自分がきちんとメンテナンスできるのか不安なんですが,とにかく勉強というこ とで。Debian/GNUでも運用できるということなので,勉強しつつ検討してみたい と思っています。

USBのポートを活かして,USB-VGAアダプタ接続が可能なのと,UBS接続のHDDで 起動すれば,環境の変更も容易なので,小回りの効くツールにできそうな予感も あります。

A300 C700 C3000 C3200 Home