- 2010-10-24 (日) 18:23
- コンピュータ
さて、前回も書いたがこのNASは非常に評判が悪い。
少しググっても、あそこが悪い、ここが気に入らないといったネガティブな情報しかない。
また、この機種を利用してlinuxbox化したというサイトになかなか巡り会えない。
ポツポツとそれらしい情報が引っかかるが、日本語サイトはほとんどない。
少ない情報を読み進めていると、どうもfun_plugという機能拡張ツールがあるらしいことがわかった。
CK’s IT blog: PCI MZK-NAS01SG / MZK-NAS02SG modding
このページによるとD-linkのDN-S323というNAS用のfun_plugパッケージを流用して機能拡張が出来るようだ。
今回は以下の機能拡張を行う。
拡張する機能
- SSHサーバの実装
- 汎用webサーバの実装
- データベースの実装
- phpの実装
以上の4点である。
これで、何をするかはご想像にお任せする。
うまくいけば、ドメインを設定して、CTUのポートを空けて・・・、
いつの間にか踏み台になってたと言うような事にならないように注意したい。
作業内容の詳細は、上記サイトに委ねる
充分な検証が出来てないが、今のところ何とか動作しているというレベルである。
作業に際しての注意点
まずはBitTorrentとFTP、Sambaサーバーの設定を確実に行うこと。
FTPとSambaについては、このNASの導入時点から運用していたので問題なかった。
しかし、BitTorrentの機能は設定してなかったので途中、随分困惑した。
このBitTorrent機能の設定は肝であった。
sshや、データベースのインストールは問題なく、設定もできる。
ただし、電源を落とすとこれらは全てリセットされてしまうという問題があった。
このNASの起動の仕組みが判らないので間違っているかも知れないが、今回、経験的に判明したこととして、起動時に、ROMにあるブート用の各設定データをHDDの指定領域(/DataFolder)に毎回書き込んでいるようだ。
したがって、/DataFolder内で変更した環境設定ファイル(/etc/profile)は起動の度に上書きリセットされていた。
また、シンボリックリンクでさえもリブート後は、なかったことになっている。
これでは、電源を落とすたびに、または不意の停電があるたびに環境構築をやり直さなくてはならない。
もちろん、自宅のLANなので、UPSなどという便利なものなどない。
もともとNASなのだから当然と言えば当然の安心仕様であるが、linuxboxとして使う場合は迷惑なことこの上ない。
設定した環境の永続性
上記サイトには、設定手順の冒頭に
(2) Setup the BT Downloader and FTP / Samba server via the web admin of the NAS
と記されていた。
最初、きちんと読まなかったのが失敗のもとであった。
Bittorrentの設定は、BitTorrent機能を活かすための手順と勝手に思いこんでいた。
上記サイトでは、リブート後も環境設定を保持する方法として、拡張機能として実装されているBitTorrentを利用する方法が紹介されていた。
このために、使う使わざるに関わらず、BitTorrentの設定が事前に必要であった。
確かに、ファームウェア 1.4.2への更新の際に、注意書きとして書かれていたのだが、
HDDを初期化したり装換した場合は、BitTorrentのバージョンアップについて、1からやり直すよう指示されていた。
つまり、この部分はROM内ではなく、HDDに書き込まれるようだ。
この点を利用して、環境設定をブートの度に設定する方法が紹介されている。
(いわゆるバックドアを管理者自ら仕込んでいるわけだ、、、。)
詳しくは、上記サイトに記されている、”/DataFolder/.bittorrent/bin/btdog”の内容を確認頂くとして、シンボリックリンクを張り直したり、PATHを通したり、パーミッション変更したり、sshdを起動させたりしている。
力業であるが、なるほど納得した。
また、第一回で触れた某掲示板では、プリントサーバー機能を利用する方法について触れている書き込みもある。
BitTorrentの機能は使わないので、余計なプロセスが起動するというのもどうかと思い、こちらの方法も試してみた。
先ほどのbittorrentを利用する機能は、ひとまず全て解除した。
それから、プリントサーバ名を設定する場所に次のように書き込んだ。
start’;/mnt/USB5/C:/start/start.sh;echo ‘
この場合、プリンタ名:start、シェルスクリプト:start.shとした。
/DataFolder/start/と言うディレクトリを作成して以下の内容でスクリプトを書いた。
#!/bin/sh
FFP_LOG=/mnt/USB5/C:/my_boot.log
exec >>$FFP_LOG 2>&1### Create Link for ffp ###
ln -s /DataFolder/ffp/ /ffp### Set Path ###
export PATH=/ffp/bin:/ffp/sbin/:/usr/bin:/bin:/usr/sbin:/sbin### Set profile ###
cp /DataFolder/start/profile.bak /etc/profile
これで、起動時に毎回、pun_plug環境が構築されるようになる。
(冒頭の3行はlog取得のためのものなので、環境設定に影響はない)
当初、この中にsshやlighttp、mysqlの起動設定を盛り込んでいた。
ログを確認すると、このスクリプトは4回繰り返されるようなので、いろいろ不都合もありアプリケーションの起動設定は外した。
今は、次のような内容のスクリプトを必要な時に手動で起動している。
#!/bin/sh
### Start sshd service ###
#chmod 600 /DataFolder/ffp/etc/ssh/ssh_host_rsa_key /DataFolder/ffp/etc/ssh/ssh_host_dsa_key /DataFolder/ffp
#chmod 600 -R /DataFolder/ffp/var/lib/sshd
#chmod 111 /DataFolder/ffp/var/lib/sshd
#sh /DataFolder/ffp/start/sshd.sh start
#sh /DataFolder/ffp/start/telnetd.sh start### Start lightypd service ###
/DataFolder/ffp/sbin/lighttpd -f /DataFolder/ffp/etc/lighttpd.conf&### Start mysql service ###
cp /DataFolder/ffp/etc/my.cnf /etc/my.cnf
chmod 644 /etc/my.cnf
chmod +x /DataFolder/ffp/start/mysqld.sh
sh /DataFolder/ffp/start/mysqld.sh start&
ln -sf /DataFolder/ffp/var/mysql.sock /tmp/mysql.sock### Change Promission for phpMyadmin ###
chmod 644 /DataFolder/www/phpmyadmin/config.inc.php
sshdについては、起動しないようにコメントアウトしている(行頭に”#”を付加している)。
これはまだまだ外部に公開できるような状況にないため、sshは不要だからである。
いずれ必要になれば、プリントサーバのスクリプトにてきちんと起動するようにしたい。
その際は、標準のtelnetdを停止する方法も試してみることにする。
chmod -x telnetd
これを行えば良いのではないかと想像している。
重要事項
これらの内容は、「全て自己責任で実施している」ということを表明しておく。
システムの設定変更は、慎重を期してほしい。
telnetdの停止は、車内に鍵を閉じ込める事に似ており、設定したバックドアが不完全だった場合、二度とNASに入れないなど、取り返しのつかない事態も予想されるので、特に注意が必要である。
番外:リモートアクセスについて
先日、ブルーレイレコーダを買い換えた。
Panasonic BW-890という機種だ。
これは妻がメインユーザーのBRレコーダなのだ。
リビングにいる時、実機が目前にある状況でも、リモコンを利用して予約を行うことはない。
妻は、PC部屋からインターネット経由で録画予約や、録画したコンテンツの管理を行っている(実機が持つ機能よりも、web経由の方が多機能ということもあると思うが・・・)。
私たち夫婦は、遠隔操作が大好きなようだ。
- Newer: これはOK
- Older: MZK-NAS01SG05、linuxbox化(?)計画 1回目(全3回くらい予定)