白箱/玄箱

    1. Debian GNU/Linux
    2. KNOPPIX
    3. 白箱/玄箱
      1. はじめに
      2. 白箱 LAN Tank
      3. 白箱 GLAN Tank
      4. 玄箱
      5. 補記

はじめに

これから取り上げる白箱 LAN Tank,GLAN Tank、玄箱はNAS(Network Attached Storage)と位置づけられています。あまりこれらのことを意識しなければ、LAN接続のHDDなのですが、LAN接続 HDDの他の商品と見比べると、少々戸惑うことになるやもしれません。商品を購入するとHDDはありません。説明書もない。ですので、HDDを自前で用意してOSをインストール後に組み立てて使用するということになります。そのぶん安いといえますが、OSのソースなどが公開されているのでNASとは違った使いかたもできると思います。
ここではOSをDebian GNU/Linuxに入れ換え(白箱は元からDebian GNU/Linuxですが)て、それなりの処をえたコンパクトなWANサーバに仕立てて見ようと思いました。例えば、セカンダリDNSサーバやLinuxBoxルータなどを想定しています。この想定だけであれば、そう作業量は多くないでしょうが、あにはからんや筆者はDebian GNU/Linuxに接するのは、ほぼ初めてです。いざ作業を始めてみたものの、少々戸惑っています。これまで親しんできたLinuxディストリビューションと操作感が違います。なれるしかありません。同時にRPMとは違う、インストールシステムの全体性やその利便性には驚いてしまいます。そんなあれやこれやを、ディストリビューションを乗り換える気で進めた作業やらを、ここで報告できればと思っています。(06.05.18)
NAS(Network Attached Storage : ナス)

別名 : ネットワークストレージ
 ネットワークに直接接続して使用するファイルサーバ専用機。ハードディスクとネットワークインターフェース、OS、管理用ユーティリティなどを一体化した単機能サーバ(アプライアンスサーバ)で、記憶装置をネットワークに直に接続したように見えることからこのように呼ばれる。ネットワークに接続されたほかのコンピュータからは、通常のファイルサーバと同様、共有ディスクとして使用することができる。ファイルシステムやネットワーク通信機能は最初から内蔵されているため、システムへの導入や追加が容易で、異なる種類の複数のサーバからのデータの共有も楽に行なうことができる。高級機になると、複数のディスクを備え、RAID機能やホットスワップ機能を持ったものもある。
http://e-words.jp/-IT用語辞典 e-Wordsから引用

白箱 LAN Tank

白箱は玄箱に対する通称であり、LAN Tank(SOTO-HDLWU)とGLAN Tankがある。GLAN Tankが後継機であり、CPUやメモリーなどが違う。
筆者が利用しているのはLAN Tankです。この機種について見て行くことにします。LAN Tankのホームページをのぞくとスペックは以下のようになっています。
CPU  	SH-4/266MHz
メモリ 	64MB
インターフェイス 	100BASE-TX(ストレート/クロス切り替え可能)
USB 2.0×2(ホスト)
対応HDD 	3.5インチIDE HDD×1?2 (Big Drive対応)
対応RAIDモード 	ミラーリング(RAID 1)、スパンニング(JBOD)、シングル(RAIDなし)
OS 	Debian GNU/Linux SH(iohack版)ベース
カーネル 	2.4.21
デーモン 	mt-daapd(iTunesサーバ)
akaDAV(WebDAV/HTTPサーバ)
vsftpd(FTPサーバ)
wizd(AVeL Link Playerサーバ)
telnetd
《 ■ インストール LAN Tank ■ 》
インストールは組み立てたLAN Tankにたいして行うことはできません。組み立てる前のHDDをPC/AT互換機にセットして行う。CD-ROMから起動し対話形式でインストールをするのですが、これらの詳細はインターネット上の他のサイトやマニュアル本に譲ります。わたしに報告できることがあるとすれば、再インストールした際の経過です。
インストールしてtelnetでloginできるようになった段階で、暇がなくなりうちゃっていたのですが、手順を忘れたころ、http://192.168.0.200/にWebブラウザでアクセスしてみたが、ログインプロンプトが現れない。「Directory listing for / Filename Content type Content encoding」表示されるだけでした。
記憶をたどる術もなく、いや壊れたのだと判断して再インストールとなった次第です。
インストールがなり、組み立てhttp://192.168.0.200/にWebブラウザでアクセスができました。が、「SET SINGLE MODE」のクリックで、そのままとなる。システム上の作業が終われば、自動で再起動となるらしいのだが、いっこうに変化がない。そのまま一晩放っておきました。翌日も変化ない。しかたがないので、強制的にオン/オフスイッチで再起動です。再びhttp://192.168.0.200/にWebブラウザでアクセスしてみた。やはりエラーページです。ここまでの工程を、何が悪いのかわからないまま、PC/AT互換機条件を変えながら、HDDも変えて、塩で身を清めて作業行ったが変化はない。
お手上げする前にと、http://192.168.0.200/cbi-bin/にWebブラウザでアクセスしてみた。ところがログイン画面が現れてしまった。ログインしてとりあえずtelnetを起動させる。さらに自LAN IPアドレスの192.168.xx.200に変える。
ブラウザのキャッシュの問題だったのでしょうか?いまだに闇のなかです。
  1. 初期ip   192.168.0.200
  2. 初期ID   admin
  3. 初期password   [空白]
こうしてLANのハブへと接続を変えLAN TankをLAN内に取り込むことができました。
《 ■ 環境設定 LAN Tank ■ 》
作業を進めるには、この段階ではtelnetでログインするしかありません。Windowsの「コマンドプロンプト」やlinuxのクライアントからコマンドでログインします。たぶんLAN Tankの初期DNS設定がうまくないのでしょう。なかなかつながらない。だめかと思うほど待つとログインプロンプトが出る。LAN Tankの初期クライアントは「admin」です。
  1. 初期クライアントユーザ   admin
  2. 初期 password   password
  3. 初期 root password   tmaster
telnetでログインしてやるべきことをやっておきます。
  1. 初期クライアントユーザ admin の削除
  2. root password の変更
  3. クライアントユーザ tako の登録
  4. クライアントユーザ tako のrootグループへの追加
《 ■ DNSキャッシュの設定 LAN Tank ■ 》
/etc/hosts

127.0.0.1 localhost
192.168.xxx.200 LANTANK

# The following lines are desirable for IPv6 capable hosts
# (added automatically by netbase upgrade)

::1      ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

/etc/network/interfaces

#interface file output sample
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.xxx.200
netmask 255.255.255.0
gateway 192.168.xxx.yyy

/etc/resolv.conf

# Domain name searches will fail until you point this to a real DNS server.
search ns.tako.ne.jp
nameserver 61.xxx.xxx.3


これらの設定が済めば、ネットワークを再起動します。

# /etc/init.d/networking restart

《 ■ メンテナンス LAN Tank ■ 》
LAN Tankの初期インストールは、最新のソフトウエアではないと考えた方がいいようです。そこで「apt」を使う。まず更新データベース先の指定、データベース更新、つづいてソフトウエアのアップデートとなる。
/etc/apt/sources.list

deb http://iohack.sourceforge.jp/debian ./
deb http://debian.dodes.org/debian sid main non-free contrib

# apt-get upate
# apt-get upgrade

《 ■ sshの導入 telnetの停止 LAN Tank ■ 》

# apt-get remove ssh
# apt-get insutall ssh

# /etc/init.d/telnetd stop
# update-rc.d -f telnetd removed

これでtelnetは使用できません。sshはWindowsならputtyで、Linuxならシェルプロンプトでアクセスします。が、まだパスフレーズでの接続ではありません。
《 ■ カーネル2.6へ LAN Tank ■ 》
LAN Tankのカーネルを2.6へアップグレードした。参考にしたのは「日経Linux 2006,1月号」です。
なんとか以下のように、あいなった。

# kernelversion
2.6

上記の本を読みながらやったのですが、こちらの環境やら、古いHDDを流用しながらの作業は、当然のことにスンナリとはいきません。個別的な条件は列記してもせんない。ここでお伝えできることがあるとすれば、以下の二点です。
インストールCDから起動し、最初の選択画面はどのHDDにインストールするかとなる。ここでわたしの思い込みが作業を遅延させた。

Select target device ...
1) hda     3) hdc     5) hde     7) hdg     9) quit    
2) hdb     4) hdd     6) hdf     8) hdh    
# ? _

「# ?」のあとに、例えば「1」などの数値を打ち込みますが、わたしは何故だか「hda」と文字列を打ち込んでいた。何故だかわからない。そう思い込んでいた。このため「HDDが見つからない」の旨のメッセージが出る。準備のやりなおし、HDDの交換、PC/AT機の交換とやりなおすことになる。手動でのインストールにも挑戦しました。
あきらめた。
夜になって、稽古場にでかけるついでに、インストールCDも持って出た。小懲りもなくあきらめていなかったのです。
サーバ室(?)にいき、とりあえずの予備機にCDを挿入して起動させる。選択画面が出る。数値に目がいく。「1」と打ち込んでみた。
なぜ数値に目がいったのか、これもわからない。視野が変わったので、視線の先のポイントを、少しずらすことができたのかもしれない。

インストールが終わってHDDをLAN Tankに組込み、立ち上げる。telnetでloginとなる。「su」で、IPアドレスの変更、DNSサーバの指定、ホスト名の明記等で「reboot」です。
再起動後telnetでアクセスできなくなった。第二の問題点。しかたがないので再インストールです。問題は解決しなかった。
teknet環境を疑った。sshでのアクセスをと思うが、インストールされていない。LANが変わったのでloginできないとインストールもできないのです。新しいIPアドレスにpingは通る。この一点で予測できるのはtelnetのアクセス制限がどこかでかかっている、と仮定して再インストール。再作業の後、「hosts.allow」に以下の一行を書き加えました。
    /etc/hosts.allow

ALL : 192.168.xx.xxx 61.xxx.xxx.xx


現存のLANやサーバ機からもアクセスできるようにした。ようやくWANにアクセスできるようになったので、

# apt-get update
# apt-get upgrade
# apt-get install ssh

として、sshを動かすことができました。
ようやく出発点にたどり着いたことになる。先は長い。(06.05.11)


白箱 GLAN Tank

ホームページをのぞくとスペックは以下のようになっています。
型番			  SOTO-HDLGW(JAN:4957180061665)
CPU 			    Intel Xscale/400MHz
メモリ			128MB
インターフェイス 	   1000BASE-T/100BASE-TX(MDI/MDI-X切替)
USB 2.0×4(ホスト)
対応HDD			 3.5インチIDE HDD×1?2 (Big Drive対応)※8GB以上の容量のHDDをご用意下さい。
OS 			    Debian GNU/Linux
カーネル 			2.6.10
《 ■ 1, カーネルの再構築 ■ 》

# cd /usr/src
# apt-get install kernel-source
# bzip2 -dc /share/others/linux-2,6.10-iop1-20050909snap.tar.bz2 | tar xvf -
# ln -s linux-2,6.10-iop1-20050909snap.tar.bz2 linux
# cd /usr/src/linux
# cp config .config
# make menuconfig
# make-kpkg clean
# make-kpkg --revision xxxxxver2.0 kernel-image
# dpkg -i kernel-image-2.6.10-iop1_xxxxxver2.0_arm.deb

《 ■ 2, カーネルの再構築 GLAN Tank編 ■ 》
一般的なDebian GNU/Linuxのカーネルの再構築は上記の手順であろうと思われます。GLAN Tankの場合は、ちょっと触っただけであるが、どうも癖があるように思われる。そこであらかじめ、商品に同梱されているCD-ROMのカーネルソースを利用することから始めました。
CD-ROMから「linux-2,6.10-iop1-20050909snap.tar.bz2」をどこでもいいから取り込む。ここでは「/usr/src」内に置きました。展開して、「linux」リンクを張っておきます。

# cd /usr/src
# bzip2 -dc /share/others/linux-2,6.10-iop1-20050909snap.tar.bz2 | tar xvf -
# ln -s linux-2,6.10-iop1-20050909snap.tar.bz2 linux

コンパイラなどを導入します。

# apt-get install binutils gcc g++ gcc-3.4 g++-3.4 make libncurses5-dev dpkg-dev       ←コンパイラ等導入
# cd /usr/src/linux
# cp config .config       ←カーネル設定ファイルのコピー
# make menuconfig       ←カーネルパラメータの設定
# make modules       ←モジュールの作成
# make module_install       ←モジュールのインストール
# depmod -a       ←モジュールの依存関係の整理

ここまではカーネル設定ツールで必要なものをモジュール化しただけです。
必要なものをモジュール化するのではなく、カーネルに取り込む場合もある。「zImage」で新しいカーネルを作ります。

# make-kpkg clean
# make zImage

「zImage」コマンドで「/usr/src/arch/arm/boot/」に「zImage」ができています。これを「/boot/zImage」に上書きコピーすれば作業は終わりです。万が一の場合があるので「zImage」はバックアップしておくことをお薦めします。

# cd /boot
# cp zImage zImage_old
# cd /usr/src/arch/arm/boot
# cp -rf zImage /boot/

筆者の場合、再起動で立ち上がりませんでした。この場合は、GLAN TankからHDDを外し、PC/AT互換機に接続して、バックアップしたものを元に戻します。
《 ■ 3, サインはVGA(USB接続Vカード)の利用 ■ 》
やはりすんなりとはできなかった。とりあえずGUI環境は構築できたが、再現しろというと難しい。まずはやった作業やら、参考サイトを列記することから整理しておきます。

1,『日経Linux 2006,4.5.6月号』

ここでいう「サインはVGA」はUSB接続のビデオカードです。GLAN Tankをモニターとキーボード、マウスで扱おうという思いでした。
《 ■ 4, DNS bind9 ■ 》

# apt-get install bind9
# apt-get install dnsutils

パッケージ「dnsutils」のインストールでコマンド「nslookup」や「dig」が使用できるようになります。
状況を /var/lor/messages で見てみましょう。
# cat /var/lor/messages 
May 15 06:36:47 GLANTANK named[2xx0]: starting BIND 9.x.x -u bind
May 15 06:36:47 GLANTANK named[2xx0]: using 1 CPU
May 15 06:36:47 GLANTANK named[2xx2]: loading configuration from '/etc/bind/named.conf'
May 15 06:36:48 GLANTANK named[2xx2]: no IPv6 interfaces found
May 15 06:36:48 GLANTANK named[2xx2]: listening on IPv4 interface eth0, 192.168.x.xxx#53
May 15 06:36:48 GLANTANK named[2xx2]: listening on IPv4 interface lo, 127.0.0.1#53
May 15 06:36:48 GLANTANK named[2xx2]: command channel listening on 127.0.0.1#953
May 15 06:36:48 GLANTANK named[2xx2]: zone 0.in-addr.arpa/IN: loaded serial 1
May 15 06:36:48 GLANTANK named[2xx2]: zone 127.in-addr.arpa/IN: loaded serial 1
May 15 06:36:48 GLANTANK named[2xx2]: zone 255.in-addr.arpa/IN: loaded serial 1
May 15 06:36:48 GLANTANK named[2xx2]: zone localhost/IN: loaded serial 1
May 15 06:36:48 GLANTANK named[2xx2]: running
Debian GNU/Linuxの場合上記ログは、/var/log/syslogと/var/log/daemon.logに排出されます。[2xxx2]等はプロセスNoで、/var/run/bind/run/named.pidで登録されます。
この段階でlogファイルがスクロール表示できませんでした。「less」コマンドが使えません。インストールしておきました。

# apt-get install less

bind9の作動は以下のコマンドで確認できます。

# ps aux | grep named

《 ■ 5, iptables ■ 》

# cd /usr/share/doc/iptables/examples/
# gunzip ./oldinitdscript.gz
# cp ./oldinitdscript /etc/init.d/iptables
# chmod 755 /etc/init.d/iptables

この「iptables」が、わたしにとって最大の難関でした。このためのカーネルの再構築なのですから。しかしうまくいっていません。そこで、転がって、お蔵入りになっていたPC/AT互換機を取り出し、Debian GNU/Linuxのインストールという挙に出ました。モジュールを見比べてみようという算段です。先が見えません。作業中です。報告は後日。(06.05.18)

1,Networking options のIP: Netfilter Configuration の中のオプションを設定
1,EXPERIMENTALになってるものくらいは外す
1,FTP protocol supportとIRC Protocol supportはモジュールにする
1,IRCは引数にポート番号を入れる
# MODULE='ip_nat_irc,ip_conntrack_irc,ip_nat_ftp,ip_conntrack_ftp'; \
PORTS='6660,6661,6662,6663,6664,6665,6666,6667'; \
echo $MODULE | awk '{ gsub(/,/, "\n"); print }' >> /etc/modules; \
echo "options ip_nat_irc ports=$PORTS" > /etc/modutils/99iptables; \
echo "options ip_conntrack_irc ports=$PORTS" >> /etc/modutils/99iptables; \
update-modules
《 ■ 6, netqmail ■ 》
MTA(Mail Transfer Agent)に、こちらの使い勝手でqmailの導入を予定していました。が、インストール手順がどうも飲み込めません。いろいろ調べて見ましたが、どうやらDebian GNU/Linuxでは、qmailのライセンスの関係で、簡潔なパッケージを用意できないようです。たぶん「qmail-src」パッケージがそれですが、いろいろ自動化されていて、何が何やらよく判らないのです。これが一つ。
いまひとつは、qmailはここ何年メンテナンスされていません。qmailの作者のものいいを体現するなら、バグがないのでヴァージョンアップする必要がない、ということになるのでしょうが、この関係でqmailを取り巻く環境が推移することに対応できていないように思われます。事実、Turbolinux8Sではなんら問題のなかったtar展開のインストールが Turbolinux10Sではビルドエラーを招きます。このため、現状では「netqmail」を使うのが主流のようです。qmailとnetqmailがどのような関係にあるのか、いまのところつまびらかではありませんが、少々戸惑うしまつです。
要は、問題解決のためいくつかパッチが当てられて配布されているソースである、と読んでいます。Debian GNU/Linuxではこのインストール事例を多く見かけます。
これらのことがあいまって、どうしたものかと、踏み止まっているのが現状です。整理してみることにしました。ちなみに、Debian GNU/LinuxのデフォルトMTAはEximでした。(06.05.20)

netqmail




玄箱 KURO-BOX/HG(ギガビット版)

ホームページをのぞくとスペックは以下のようになっています。
製品仕様:  			    NAS組み立てキット 3.5インチ1台内蔵可能
				 BigDrive対応/HDDレスでは動作しません
				「HDD全容量のうち、システム領域に2GB、スワップ領域に256MB使用します」
ハードウェア仕様: 		CPU:PowerPC 266MHz、RAM:128MB、Flash ROM:4MB
				1000BASE-T/100BASE-TX/10BASE-T×1ポート、USB2.0×2ポート
ソフトウェア仕様: 		Linux(Kernel-2.4.17)搭載
ファイルサーバー機能搭載	     (Samba、netatalk、telnet、ftp、thttpd、perl等)
ネットワーク: 		  AUTO-MDIX搭載
USB: 				USB タイプA×2ポート
《 ■ EMモードの切替え ■ 》
EMモードという言葉が出てきますが、このEMがなんの略かは判りませんでした。意味内容は玄箱のフラッシュ・メモリにあるOSから起動すること、です。このことであるなら、下記のコマンド操作とともに、玄箱背面の初期化スイッチを使うことでも同等ではないかと思います。確信はありません。

# echo -n 'NGNG' > /dev/f13
# reboot

# echo -n 'OKOK' > /dev/f13
# reboot

《 ■ OSのDebian GNU/Linux化 ■ 》
「玄箱うぉううぉう♪」で配布されている「debian_2005_04_09_dist.tgz」を使用しました。



補記

《 ■ 参照URL   ※サイト内参照ページ    引用、参照書籍 ■ 》
Debian 便利ワザ集
白箱 LAN Tank
白箱 GLAN Tank
玄箱
サインはVGA
netqmail
『日経Linux 2006,1月号』 刊/日経PB社


【注記】このページの作成にあたり、上記に掲げたURLや書籍を参考にしました。謝意を表します。具体的な引用については明記しました。
内容の間違いや、誤字は筆者の責任であり、関係する参照先の責任ではありません。

rss rdf xml     ▲ top   home:top   server library:top   PHP PostgreSQL MySQL サンプルスクリプト   SiteMap   Open SiteMap