【Apache】穴

会社の自分のマシンは、NIC二枚挿しで、一方をネットワークテスト用のローカルネットが切ってある。

そのローカルネットで、motionを動かしているが、こいつは8081番のポートを、Webブラウザで叩いてやると、カメラ画像がモーションJPEGで見る事ができる。

これは、当然、ローカルネットの外では見る事ができないので、自分のマシンのApacheの特定ディレクトリの.htaccess で

RewriteEngine ON
RewriteRule  (.*)/ http://$1:8081/ [P]

なんてやって、ローカルマシンの motion のモーションJPEGを外部公開する設定にした。

http://localhost/hoge/camera/172.16.0.12/

とやると、外部から参照可能の自分のマシンのApacheが、
http://172.16.0.12:8081/

を実行して、先のURLのコンテンツを置き換えてくれる。

しかし、これって、camera以下のIPアドレス部分を変えれば、どんなホストにもアクセス可能だから、どうみても穴だよなあ…。

ただ、色々と制約があって、
・DNSは使えない
・閲覧するカメラの数は決まっていない。
・motionの動くマシンのネットワークは決定していない。

という理由から、mod_rewriteを使って、URLに任意のIPアドレスをぶら下げるというインターフェースしか思いつかぬ。

PHPで、proxyモドキを作ってみたが、JPEGの画像が書き換わってるのが分かる程、オーバーヘッドがでかいので、動画データの転送には向いてないから断念した。

なんかいい方法ないかなあ。

早弁小僧

中学生の時に、弁当箱が先生から見えないように教科書を立てて、早弁してる奴がいたが、会社で見れるとは思わなんだ 🙂

早弁してる訳では無いが、わしから自分のパソコンのディスプレイが見えないようにしているようで、ファイルを立てている位置が極めて不自然。

帰る時は、キチンと机の奥の方に立てかけているのに、出社してから、わしとの壁を作るようにファイルを立てかけ、勤務中にこまめに位置をずらすが、ファイルを見る訳でも無い。

チョーウケル(笑)

今、溜め込んでる仕事をサボタージュしていれば、適正無しとして配置転換して貰えるとでも思っているのか?

そもそもネットワーク技術者がデザイン部門へ配置転換して貰って何をするつもりだ?デザイン部門はデザインの仕事をする所で、ネットワーク設定をやる部門じゃないから、人事的に絶対に配置転換はあり得ない。

今の配属は、社長が役割を決めて、部門を新設して配置した訳だから、それに大した理由も無く異を唱えるつーのは、明らかに心証を悪くするだろうな。

まあ、わしは自分のスキルアップしつつ、ついでに会社の利益になるようにするだけだし、結局の所、自分のやった結果が自分に返ってくるだけだ。

天は自ら助くる者を助く。

UCAM-DLF30MBK

UCAM-DLF30MBKを社長に買っ貰った。
早速、Linuxマシンに接続してみたが、xawtvで何の苦労も無くあっさり使えた。

で、キャプチャソフトを探してみると動体検知ができる motion なるものがあった。
これは良くできていて、daemonとして常駐し、httpでコマンドが送れる。

マニュアルでスナップショットを取るとかできるし、イベントトリガーで、キャプチャが終わったら、任意のコマンドを実行するとかできる。

組み立て方次第で、機能拡張できるから、システムに組み込むのに便利だ。

家で色んな箇所を監視するんだったら、これよりも、ZoneMinderの方が良さそう。

お勉強

新基幹システムの開発リーダから、Javaの学習の取っ掛かりとなるサンプルを作れとか言われた。

わしとしては、皆で分担して NetBeansを触って、互いに教えあって、組織としてのJava開発能力を上げるという相互利益になる方法で開発力を上げる方針だった。

で、そういう形式にしたらどうだ?と言ったところ、自分は文書書きをしなくてはならないからできないと宣うた。

この開発では、できる限り、文書作成を省略してやるという話で、このリーダの作る文書というのは、データフロー図等であり、上部に評価する組織があるなら必要だろうが、それを理解、評価できる人物がそもそも存在しない。

画面遷移図を作成し、実際に使う現場の承認を取れば良いのではないか?とわしが言っても、頑として、誰も理解できない図を作る事が必要だと言い張り、コーディングから逃げようとする。

つまり、このリーダは、人の組んだコードを少し弄って「ぼくが作りました」ってのをやりたいようだな。

恐らく、今まで人の組んだコードを少し弄って改造ってな仕事しかして来ていないのだろう。わしはそういう仕事もしてきたが、NetBeans のサンプルを触りあぐねている状態だから、その作戦は確実に失敗するだろうな。

だが、わしにしてみれば、当初目標の Java開発能力の習得ができるから、せいぜいわしの技術者としての価値を上げる事に利用させて貰おう。

今の部門は3人居るが、幸いあと一人は全くやる気が無いようだから、わしとしては、悪いけど最初から開発メンバーとは見ておらず、員数外だ。

しかし、妙にやる気を出して「教えて下さい」なんて来た日には、わしのコーディングに支障が出るから、今の状態は、かえってありがたいな。

RTX-1200設定

ひかり電話で使用しているフレッツ光のインターネット回線が、接続されずに遊んでいるそうなので、RTX-1200の設定弄って、メインのインターネット接続が障害で落ちた場合に、フレッツ光の回線を使うように設定した。

ip route default gateway pp 1 hide gateway pp 2 weight 0
ip lan3 address dhcp

pp select 2
description ntt
pp keepalive use off
pp always-on on
pp address 192.168.24.1/32
pp enable 2

と設定して、CTUの線をRTX-1200のlan3へ入れた。
RTX-1200はCTUのDHCPからIPアドレスを貰って、lan3インターフェースのIPアドレスが決定する。

自席のマシンから、ping 192.168.24.1 ってやると応答があるので、ちゃんとルーティングされてるっぽい。

非常時の回線として、一応、インターネット接続だけは確保できるが、VPNまでやろうと思ったら、CTUを取っ払って、ONUへRTX-1200を繋いでPPPoEとかでネゴればいいのかな?

しかし、VG820aを普通にRTX-1200にぶら下げて、ひかりオフィス電話が使えるのかよく分からん。多分、VG820aのパケットを、ONUのインターフェースを通るようにRTX-1200を設定してやらないと電話は使えないだろう。

あ、VG820aに固定IPアドレスを振って、
ip route 192.168.XXX.YYY/32 gateway pp 2
って設定してやればいいのか。

まあ、VPNを完全にバックアップ回線対応とするには、VPNの接続相手のルータ全ての設定やらないといけないから、お手軽にできるのは、CTUにぶら下げるところまでだな。

AHCI HotPlugを試す

Ubuntu 9.04 desktopでSATA IIディスクのHotPlugを試してみた。

挿した途端に、/var/log/messagesに認識されたログがでて、fdisk /dev/sdb もちゃんとできた。2台めの増設とか、RAID1の不良ディスク交換などは、AHCIなら無停止でできる訳だな。

あとやってみたいのが、RAID1で/dev/sdaがdegradeしたケース。
抜いたら /dev/sda が消えて、挿したら再び、/dev/sda が現れるのかな?

/dev/sdb になる場合は、抜き差ししても /dev/sdb として認識したから、多分、 /dev/sda でも大丈夫そう。

いつもは、VirtualBoxでシミュレーションしているが、SATA IIのディスクのHotPlugだけは、実機を使わないと試せないから、今の内にノウハウを貯めておこう。

YAMAHA RTX-1200のVPN

ここ二週間ほどRTX-1200同士で接続するVPNでのファイル転送が遅い問題と格闘していた。おかげで、結構YAMAHAのルータに詳しくなった 🙂

FTPで

本社→東京 30Mbps
本社←東京 300kbps

という感じで、片道だけ遅いという状況。

結局、東京のRTX-1200のPPインターフェースのMTUを1454→1400とてきとーに下げたら、遅いのが直った。

BフレッツMTUサイズ(1492ではなく1454の理由)

これによると、L2TPヘッダが付くので、MTUは1454で良いようで、インターネットの通信では特に遅い現象は発生していないので、問題は無いようだ。

しかし、VPNの時だけ著しい速度低下が発生し、尚且つ、MTUの値を下げれば改善するという事は、これはVPNのパケット送信時にdata fragmentが発生しているのではないかと予想される。

MTU1454byteって指定してるんだから、それに収まるようにやってくれているものとばっかり思ってたな。

問題は最適なMTUの値だが、1454byteで糞詰まり現象があったという事例が殆ど無いので、何が最適値なのかさっぱり分からない。

パスMTUディスカバリブラックホール問題」とは:ITpro

なんて、相当古い話だし、VPNの話とはいえ、今更、こんなのに悩まされるとは思ってもみなかった。

ピンボケ

面接に立ち会ったが、終始こちらの質問にピンボケな回答だった。

同僚は教育する前提で入れたいと言っていたが、こちらの質問に対し、ピンボケ回答をするって事は、論理的思考に難ありという事で、これは即ち、そもそも素質が無いという事だ。

そして思うのは、やっぱ国語は大事だねえという事。
いくら難しい数学の公式が解けたところで、こちらが話している事の意図を正確に理解できていないのでは話にならない。

テレビでやっていたが、工場で、張り紙に書いてある言葉の意味が理解できず、事故を起こすなんて事例もあるそうで、そこでは工員の基礎学力から教育しているとか。

そもそも安い賃金で募集してるのだから、それ相応の人材しか来ない事は分かっていて、逸材というのは万に一つの可能性だろう。

そして、地位なんぞには全く興味が無いわしは、逸材が入ってきて、上司の器であるならば、年齢には拘らず、その元でお仕えするつもりだ。その方が組織としてベストな結果になるし、第一楽だ 🙂

しかし、そういう夢のような結果にはならんので、現実を直視せねばならぬが、教育するにしても「義務教育からやり直せ!」というのは勘弁して欲しいものだ。

RAID

会社のasteriskのサーバのハードディスク冗長化を計画している。

LVM使ってたりするが、わしはLVMは全く弄った事が無いのでよく分からぬ。
しかし、Webにそのものズバリの手順が書いてあったので利用させていただいた。

そのシミュレーションとして、VirtualBoxでTurbolinux Client 2008 Live Edition のCDを使い、まず、LVMでファイルシステム構築。

そして、HDD追加してRAID1のアレイを作って、bootパーティションとrootパーティションをコピー。元のLVMをRAIDパーティションにしてアレイに追加。

無事LVM+RAID1の構築ができた。
で、HDDとっぱらって片肺起動テストすると、起動で止まる。

fsck.ext3で不正なパラメータとか言われる。
rootシェルで見ると、/dev/md0が無いという状態。色々検索しまくって、

mdadm –run /dev/md0

で有効にして、init 5で起動した。しかし、これでは迂闊にリモートで再起動かけられんぞ…。

Ubuntu server 9.04 でRAID1構築したら、片肺でも起動するけど、ディストリビューションによって、起動しないのもあるんだなあ。

HDP725050GLA360初期不良交換

BTOパソコンで、オプションで買ったHDP725050GLA360は、DFTというツールでErase Diskをやったが、0x75のコードで、ハードディスク故障というステータス。

販売元にメールしたら、初期不良で交換しますとの事で、着払いで送った。

F-Secure linuxゲートウエイ構築用で、RAID1で構築したが、足らない分は、わしが自腹切って買ったWestrn Digitalの500GBを使ったので、代わりのハードディスクが送られてきたら、わしのハードディスクは返してもらう。

返して貰ったところで、家には繋げられるパソコンが無いから、本当はどうでも良いのだが、会社のマシンに繋いで、RAID構築して、色々と技術習得させてもらうかな。