Monday, June 29, 2009

Computer::KUROBOX - VPNサーバ構築開始

朝飯食ってから就寝する生活を続けていたせいか、
口の中が風邪を引いたときみたいな感じで乾いています、最近。

さて、いよいようちのKUROBOXにVPNサーバを走らせてやろうとおもい、
カーネルの再構築を行ってみました。
今度は.configのCONFIG_TUNをYにして再コンパイルです。
こちら(Buffalo @ NAS-Central)に書いてある手順を若干はしょり、
make uImageを実行してできたイメージでは起動できず。
ちゃんと書いてあるとおりzImageをuImageに変換したら起動できました。
うーん、以前再構築したときそんな手順ふんだんだっけか。

再構築したカーネルで起動させる前に、tunデバイスを作っちゃいました。
こちらに記載してあるとおりに、mknodコマンドでtunを作ります。

ここまででTUN/TAPサポートを有効にできたのですが、
VPN接続の形態をどうするか、です。

自宅のネットワークに参加させるかたちにしたいので、
そうするとブリッジ接続だよなぁ・・・という話になりました。
ん?そうするとNICが二枚いるような。
KUROBOXにはもともとNICはひとつしか載っていません。
あー追加か。
ということで、USBハブとUSB接続のネットワークアダプタをAmazonで発注。
ネットワークアダプタはもちろん1000BASE-T対応。
せっかくネットワークにつながっている機器全部がジャンボフレームに対応してるんですから。
1000BASE-Tにしないともったいない。

あとできることとして、bridge-utilsをインストールしました。
ソースをダウンロードしてきて、configureかと思いきや、
autoconfなのですねー。
autoconfを実行するも、autom4teがないとかいわれます。
いや、単にautom4teが呼び出してるperlのパスが違うだけでしたが。
あとautom4teで呼び出してるm4のパスも違っていました。
/usr/bin/perl => /usr/bin/local/perlに書き直すだけでOKです。
m4も同様。

あとはconfigure & makeで終了。

次は発注したものが届いてから、VPNサーバ構築再開ですね。

Sunday, June 21, 2009

Work::SoftwareDevelopment - 社長の日本語が最近いよいよヤバいですよ


最近社長の日本語がますますやばい気が。
何かというと端折りすぎな感があります。
ま、それで通じると思ってらっしゃるのでしょうが、
私の持てる背景知識を総動員してやっとこさ理解できる程度です。
ほかのメンバーはかなりちんぷんかんぷんっぽいです。
ちょっと意地悪して、社長と会話していて困っている後輩を放置してみました。
会話がまったく進まなくなってきたときに、助け舟を出してあげましたが。
開発にかかわるなら、もうちょいきちんと話をしてほしいなー
と思いつつ、これが普通なんでしょうねー社会ってもんは。。。
とか思ったりしてしまいます。

Saturday, June 20, 2009

Work::SoftwareDevelopment - 相当負荷がかかってたようです


タブレットを買ったので、日常の一コマを描いてみました。

私が受け持ってる三つのプロジェクトのうち、
二つに参加している開発メンバーの後輩君。
C#をやったことがないってことで、日々ひぃひぃ言ってます。
ある程度の習熟レベルになるまではひぃひぃ言い続けるんでしょうなぁ。

今日メールで血尿が出たって言ってたんで、
ちょっと負荷をかけすぎてたのかもしれません(汗
まー先日学会の原稿の締め切りでして、
そのまま休む暇もなく開発開発なので、
予想以上にストレスたまってたのかも。
血尿の原因がストレスって決まったわけじゃないのであれですが。
(今日検査に行ったようです。結果はまだ聞いてません。)

もうちょい余裕が持てるようなスケジューリングにしてあげようかな
とか思いました。

Thursday, June 18, 2009

Computer::KUROBOX - DNSサーバ(続)

何か数分おきにnamedが死ぬー、なんでやー、とわめいていました。
あれこれいじくった結果、/etc/named.confのrecursionをnoにすればOKでした。

yesにすれば、再帰的な問い合わせをする。
ようは外部DNSの問い合わせ結果をキャッシュしておいて、
そのキャッシュから検索してくることで外部DNSとの通信を減らすそうで。
http://www.ipa.go.jp/security/awareness/administrator/secure-web/chap4/4_bind.html

ん?てことはキャッシュの更新に失敗していたとか?
でも書き込み権限あるしなぁ。

まぁ目的が内部ネットワークの名前解決をやりたかったので、
別にキャッシュが働かなくても今までとかわらない。

内部向けDNSサーバもたったので、やっぱりぼちぼちVPNサーバでしょうか。

Tuesday, June 16, 2009

Computer::KUROBOX - DNSサーバ

TinyDNSのほうが入れにくかったという。
普通にBINDが入りました。

時間が少々たってしまっているので、
本当にこれが正しい手順かどうかは不明ですが。
以前、BINDのソースを落としてきてconfigure、make、make installをしたんです。
で、今日なんとなーくWebを巡回していて、BINDでmake testをして・・・
という文を見かけました。
make testあるのかー、じゃやってみようかと思い、実行してみたら
ことごとくtestに失敗していました。
えぇぇぇと思いながら何気なくmakeを実行してみたら
何かゴリゴリmakeし始めてます。

以前makeしたとき、makeし切れていなかった?

よくわかりませんが、とにかくmakeを実行してみたら
最後まで実行できました。

あとはこちらとかを参考にしながら
せっせせっせと設定ファイルを作成。
あ、上記サイトを流れに沿って作ったら途中で失敗しました、起動に。
こうやったら失敗しましたというのも記載されているという。

スタートアップスクリプトも掲載してくださっているので、
/etc/init.d以下に作成して、/etc/init.d/rcSに、起動時に作成したスクリプトを
呼び出すような記述をします。

digコマンドやらnamed-checkconfやらnamed-checkzoneやらで動作確認。
問題なしです。
別のPCから名前解決できるかどうか確認してみてもばっちり。

素の玄箱から育ててきていますが、ついにDNSサーバも導入することができました。
・・・そろそろホントにメモリがやばいかな?
空きメモリあとだいたい5M。
とにかく、やりたかった内向きDNSサーバの構築もこれで完了です。

あと入れたいのはVPNサーバですかね。
一応今仕事では立てなくてもよい体制を作ったので、
VPNサーバを立てることは急務ではないんですよね。
SSHが使えれば、まぁだいたいやりたいこともまかなえますし。

ほかには以前チャレンジして挫折したメールサーバ構築ですかね。
でも今以上にメールアカウント増やしても使い道が・・・
BSDマニアなうちの准教授が、こういうのって立てること自体が楽しいよね~と
おっしゃってました。
また確かに立てること自体は面白いんですが。
立てるからには何かしら役に立てたい。


ほかにやりたいことっていえば、
研究室のマシンやうちの玄箱が死んだときの予備マシンの構築ですね。
でもお金が・・・(汗

ほかには・・・もう一台玄箱購入してHeartbeat導入とかw
もともとディスクレスなうちの玄箱を冗長化て。
耐故障性どんだけたかいねんっていう。

でもやるにしてもNICを増やさないといけないんですよね・・・
次は冗長化でも試してみましょうか。
お金に余裕ができたら、ですけどね。

Work::Discussion - 社長の書き込み

話の流れをまるで把握していない、質問の意図をまるで理解していない、
日本語の誤字脱字は日常茶飯事、自分しかわからない略語・・・

そんな書き込みを見ていちいちいらだってる私は
きっとまだまだ若造なんでしょうね。

立派な経営者目指して、精進しますです、はい。

Friday, June 12, 2009

Computer::Availability - アベイラビリティを高くしたいんですが

酒好きなのに、焼酎が苦手だったので、飲めるようになりたいー
ってことで今晩は焼酎を飲んでおります。

と、関係のない話で書き始めてみましたが。
私が管轄のサーバのアベイラビリティを高くしたいという欲求が高まってまいりしまして。

いや、一昨日開発用サーバが一台お亡くなりになったんですよね。
思うに電源かマザーボードが逝ったんだと思います。
IDEのハードディスクにUSBで接続できるキットを使い、
何とかデータはサルベージしました。
ハードディスクが生きてるんで、たぶん上記のどちらかじゃないかなぁと
思うわけです。

お亡くなりになったサーバ、こいつはWindows XPが入っていて、
SQL ServerとIISのFTPが動いていたのです。
先代の開発者の方が、こやつら依存のシステムを書いていたのです。
私はLinuxのほうが得意なのになぁ・・・と思いつつも、
顧客が病院なので、Windows系がいいのかなぁとも思いつつ。
まぁWindowsのほうが安心感があるといえばありますし、
顧客が使用しているOSが基本的にWindowsのみというのもあります。

Linux入る余地なーしですはい。

まぁそこを嘆いていても仕方ないので。
おかげでWindows Serverに触れる機会もできましたし。

話を戻しますと、サーバがお亡くなりになったので、
何とか早急に復旧しないことには開発が滞ります。
いやまぁ滞るというほどでもないかもしれませんけど。
というのも、このサーバにかかわっているメンバーが
このプロジェクトに入りたてなので、一日単位の開発効率はまぁまだ緩やかなものです。
とはいえ納期は決まっているので、
納期のことを考えると一日でもおしい。
必死こいて復旧しましたよ、ええ。

代替機が用意できない
(というかバイト用に研究室のマシンを拝借するのは少々気が引ける)ので
仮想マシンでサーバを構築することにしました。
ま、その仮想マシンはどこで走ってるんだってい(ry

なんとか復旧できましたが、私の開発時間がそがれたという事実が残ります。
あぁサーバ停止時間なくしたい!!という欲求が沸きます。
別プロジェクトでサーバの冗長化は経験してるので、
冗長化の手段は知っています。
・・・それを研究室でできるか?
いや、バイト用マシンを増設するのはだめでしょう。
研究目的ならともかく。

じゃあ自宅?
部屋の気温と電気代があがる・・・
いや、電気代は今のプロジェクトの報酬でまかなうか?
どうせ今の流れでいくと我が家は事務所化しそうなので。
騒音が増えるのはいやなので、マシンのチョイスがむずいところですね。

Friday, June 05, 2009

Computer::Network - VPNもうちょいがんばってみる?

自宅にVPN張って、大学のPCをVPNに接続する。
で、VPNに参加してきてる大学のPCへ自宅からリモートログインして
TeXで論文を書きまくる。
研究室へ行かなくてもよい図ができあがり!

・・・っていうのはだめなんでしょうね、
セキュリティポリシー的に。

いや、研究室が最近騒がしすぎて、
部屋にいたくねーと思うときがほんと多くて。
たまに私たちも騒がしくするときがあるので、
あんま人のこと言えないんです。

まーうちの研究室のネットワークを牛耳っているのは私なので、
上記のVPNうんぬんかんぬんはやれるんですが、
学科のポリシーとしてはアウトなでしょうねぇ。

そこまでやらなくとも、自宅のサーバたちにはつなぎたい。
OneNoteのファイルとかはバックアップとったり、
私のノートPCと同期を取りやすくする意味合いでもつなぎたいですね。

また近いうちに、KUROBOX-PROにOpenVPNを入れる挑戦をしてみましょうか。
カーネルの再構築が必要くさいので、
やな予感するんですよねー。
先日、なんだったっけかな・・・
なんか再構築してみて、そのカーネルでのブートに失敗して。
シリアルコンソールで動作をのぞいてなかったので、
何でブートに失敗したのかさっぱりわからないままですが。
あぁもっと正確にカーネル再構築手順を記録しておけばよかったと
いまさら後悔。

KUROBOX-PROが死亡した時のプランも想定しておかないとまずーですよね。
構築手順をなるだけ明確にドキュメント化して・・・
って段々のりが仕事調になってきてたりして。
ハードディスクはRAIDだから大丈夫だとして。
ソフト開発プロジェクトを二つ背負ってますから、うちのKUROBOXは。
・・・あれ、冗長化したほうがいいのか?w
私の部屋の温度がどんどん上がっていきそうな悪寒。

Wednesday, June 03, 2009

Computer::VMware - Vista on VMwareでワイドな解像度








どうやって1600x900の解像度にするんだろう?と思ってたんですが、
Vistaのレジストリエディタで
上記のキャプチャ画像のキーとバイナリ値を追加するとOKでした。
Linux上でVistaが走って、しかも解像度も適切に設定でき、
うっはうはですね。

1600x900の解像度でMS Office Project使うとすっごい気持ちいいですね。

Computer::Network - WZR-HP-G300NHでVPNやりたかったけど

BUFFALOのWZR-HP-G300NHでVPNが一応できるにはできたんですが、
VPNで接続した状態ではポート変換が無効にならないんですね。
Amazonのレビューにも書いてあります。
私が発注したときには書いてあったっけか。
とかくあまり評判を調べずに買ってしまったので、
若干後悔。

仕方ないので、研究室のマシンから自宅のKUROBOXに対してfuseのsshfsを使って
マウントするようにしました。
研究室のマシンとKUROBOXに対してsshのトンネルを掘ろうかと思ったんですけど
80はうまくいきました。
445、139がうまくいかず。
うーん、何でなんだろう。何かまずったかな。

とりあえず研究室のマシンにOneNoteのファイルをKUROBOXにsshfs経由でコピーさせて、
KUROBOXにNASへバックアップをとらせてます。cronで。
VPNを張ることができない状態になったので、
開発メンバーサイドからすればわずらわしい操作が一個減りました。
PC起動時にVPN接続しなくてよいんですから。


WZR-HP-G300NHの評判を調べてみたところ、
高性能だけど不具合が大量の様子ですね。
ファームウェアのアップデートに期待です。
アップデートでVPN利用時にはポート変換を無効にする機能が搭載されなかったら、
私としてはルータが一個無駄になってしまいます
(古いルータを置き換えるしかなくなり、古いのが無駄になります)。

VPNがまともに使えるようになるのはBUFFALOさんしだいなので
VPNには過度の期待はせず。
なんかルータの面白い使い道ないかなぁ。
無駄にネットワークが二つある我が家w

WOLが使えるので、Linux機を置いて、研究用マシンを作るとおもろいかなぁと
考えています。
うるさいマシンを置いても、普段は電源を切っておけばいいんですから。
使いたいときは、外部ネットワークから起動させて、リモートログイン。

最近研究室内の人口密度があがりやすいので、
自宅でも研究やれたらなー、なんて。
研究のデータを、
研究室のネットワーク外に置くのはちょっと気持ち悪いですけどね。

Tuesday, June 02, 2009

Computer::KUROBOX-PRO - cronで定期バックアップ

ここのブログとソフト開発でのソースコードバックアップをかねて、
crontabを書いてみることにしました。
デフォルトではcrontabが書けないみたいなので、
http://www.asahi-net.or.jp/~EA7K-SMMR/kurobox.htm
を参考に設定してみました。

mkdir -p /etc/cron/crontabs

をやらんといかんのですね。
で、上記のを参考にバックアップスクリプト書いてたんですが、
なんかdate -d がうまく動きません。
仕方ないのでPerlで日付文字列を生成するようにして、
tar+gzで必要なディレクトリを固めてNASにおくようにしました。
外部のサーバにあるsvnリポジトリを定期的にtarで固めて、
wgetでKUROBOX-PROに落としてくる。
その二時間後ぐらいにでもRAIDのNASに移動させてやるかなーと考えています。
もちろん外部のサーバにはKUROBOX-PROからしかアクセスできないよう
アクセス制限かけてます。
(開発環境用ネットワークからもアクセス可能にしてますけどね)
OneNoteのファイルもKUROBOX-PROにおいてるので、
それもtarで固めてます。

外部においてるサーバ、RAID構成にしたいんですが、
買い替え要求出したら許可下りなかったんでね。。。
いや、必要性を理解してもらえなかっただけなのかも。
今日話をしてたら、別に金欠ではないらしいので。
ソースコードとデータベースの安全性は、うちのKUROBOXに任せるとして。
アベイラビリティは知らんよーほんと。

しかしながら、PPTPサーバ立てられるBUFFALOのルータとRAID USBディスク、
KUROBOX-PRO、RAID NASディスクのコンボはすごいです。
素のKUROBOX-PROからいろいろ弄繰り回しているので、
いろいろ不便はありますけどね。