2008年1月27日日曜日

\0 USB 延長ケーブル

自宅ネットワーク無線 LAN 化プロジェクトの一環で,デスクトップにも USB 無線 LAN モジュールを挿して使っているのだが,本体裏だとあまり電波状態がよくないので,USB 延長ケーブルで延長させる事にした.


じゃいっちょ延長ケーブル買って来るかー,とふと横を見ると,転がっている壊れた USB マウス.もしやと思って探してみると,このマウスに付属していた USB→PS2 変換コネクタも見つかった.

というわけで,これらをくっつけて 0円 USB 延長ケーブルの出来上がりwww
耐ノイズ性とかまったく考慮してないけど,普通に使えてるみたいだからいいや.

2008年1月22日火曜日

DNSMasq で DHCP 登録されたホスト名から IP アドレスを解決させる

DNSMasq は,DNS 機能とともに DHCP サーバ機能も持っている.で,FON にインストールされていた DNSMasq では,DHCP により登録されたホスト名でも IP アドレスを解決できていたので,DHCP の特性上動的に IP アドレスが変わっても,ホスト名でアクセスできて便利だったのだが,Linux にインストールしたものは /etc/hosts しか見ない.

こんな機能もともと持ってるはずだよなぁと思ってオプションや conf ファイルを見てみたけど,それらしき設定がない.でもそれを間接的に実現できそうなオプションが見つかった.

具体的には,dnsmasq.conf 内の
dhcp-script=<コマンド>
で,DHCP にマシンが登録・削除されるたびにこのコマンドが呼び出される.そのときの DHCP アドレス貸し出し状況は (デフォルトで) /var/lib/misc/dnsmasq.leases に書かれているので,これを元に /etc/hosts を書き直した後,DNSMasq に /ets/hosts をリロードさせるために,kill -HUP すればよい.

というわけで,↓こんなスクリプトを書いて dhcp-script に指定してみた.

#!/usr/bin/perl -w

$Hosts = '/etc/hosts';
$Leases = '/var/lib/misc/dnsmasq.leases';

exit( 0 ) if( !( $ARGV[ 0 ] eq 'add' || $ARGV[ 0 ] eq 'del' )
&& -e $Hosts || ! -e $Leases );

open( fpIn, "< $Leases" );
open( fpOut, "> $Hosts" );

print fpOut << 'EOF';
# DO NOT EDIT THIS FILE
# This file is generated automatically by dhcp_update.pl
127.0.0.1 localhost localhost.localdomain

# これ以下~EOF の間に,固定 IP アドレスのホスト名を書く
192.168.0.254 ephemeris dds_svr

EOF

while( <fpIn> ){
@_ = split;
print( fpOut "$_[2]\t$_[3]\t# $_[1]\n" ) if( $_[3] ne '*' );
}

close();

kill( HUP, `cat /var/run/dnsmasq.pid` );

/etc/hosts はこのスクリプトにより完全に上書きされる形になるので,DHCP 以外の固定的なホスト情報は,このスクリプト内に書いておかないといけない./etc/hosts に上書きするのがイヤなら,適当なファイルに吐いて dnsmasq.conf の addn-hosts= で指定する方法もあるが,そうすると DNSMasq が走ってるマシン自身で DHCP 登録されたホスト名でのアドレス解決ができない(?).

新しい PC が DHCP に登録されると,/var/log/messages に

Jan 20 17:22:46 ephemeris dnsmasq[1053]: read /etc/hosts - 4 addresses

とか出て,いちお期待通りに動いている模様.ヽ(´ー`)ノ

2008年1月20日日曜日

iptables の勉強

無意味に調子に乗ってきたウチの LAN 環境改革,試験勉強をしようと思ったらいつの間にか始めてしまった掃除のごとくとどまるところを知らない.


今の家の LAN 環境は,↓のように

  [WAN]----(長いLANケーブル)----[ルータ]--[Linux,Fon,PC他]

ADSL モデムが 1F にあり,PC がある 2F まで長い LAN ケーブルが這っているので,このように↓

  [WAN]--[Linux+無線LANカード]・・・・[FON]--[HUB]--[PC他]

1F?2F間を無線 LAN 化してケーブルを取っ払おうプロジェクト発動.そのために,Linux サーバになっているノート PC に 無線 LAN カードを挿して,FON と通信させる事にした.

で,ついでなので,Linux サーバを BB ルータ化しようと,iptables を勉強中.難しいけどオモロイねこれ.一種のサブルーチンみたいな定義も出来るのでなかなか奥が深い.
ただ,iptables の設定は複雑で,下手すると WAN 側から LAN 側覗かれ放題なんて事になりかねないので,WAN・Linux サーバ・LAN を模した 3台の PC で実験中.WAN 側 PC から Linux サーバを attack しまくってますw

そもそも Linux サーバの eth0⇔eth1 が単純に bridge 出来れば別によかったんだけど,なんでかうまく行かない.いろいろググって見ると,bridge した IF の MAC アドレスは (詐称して無理やり) 同じにならなければならないらしいが,ifconfig で見ると同じになっていない.これが原因なんだろうか?
ググっても,bridge がうまく行かない,という記事をあまり見かけないので,なかなかトラブルシューティングができねぇ…

2008/1/23追記:-----
使っている無線 LAN カード WLI-PCM-L11GP に使われている Lucent 社製 chip を使った無線 LAN カードでは,OS に関係なくブリッジは構成できないようになってるらしい (--#
---------

Linux サーバがルータも兼ねるということで,今まで BB ルータにさせていた DHCP サーバ・DNS サーバもインストールしてみた.といっても,dnsmasq っていうナンチャッテ DNS サーバなんだけど(笑)
FON も dnsmasq が動いていて,DHCP (これも dnsmasq の機能) により登録されたマシン名が dnsmasq の DNS 機能によって参照できたのだが,Linux にインストールしたほうは,/etc/hosts に書かれたマシン名しか参照できない.なんで…?

2008年1月13日日曜日

LILOのバカぁ

ウチのサーバーマシンは,今まで VMWare 上で Linux が走っていたのだが,あまりにも遅いので素の Linux を入れる事にした.

で,インストール自体は順調に終わり,データを Linux 側に移したり,設定もあらかた終わったときに,

LILO の MBR を上書きしちまった_| ̄|○

ヤバイ,Linux ブートしねぇ.このノート PC には HDD の他は FDD しか繋がらないから,1CD Linux とか起動できない.WindowsXP だったら MBR が変でも,他のマシンから NTLDR を FD にコピれば FDD からブートできるのだが,LILO ってカーネルイメージのディスク上の位置情報を使ってるから,他のマシンのを持ってくるとかいうわけにはいかんよねぇ.LILO のばかぁ(゜ーÅ)ほろり

再インストールするのもだるすぎるので,なんとか FDD から LILO を復活させる方法を探ってたら,
あったよ…1FD Linux

また一つ,トラブルを乗り越えて大きくなったよ > 俺(゜ーÅ)ほろり

2008年1月9日水曜日

maplug 公開

このときに作った,MAPLUS2 のオープニングのキー入力を自動化するだけのプラグイン,公開しちゃったZE!

大した事ないプラグインなので,誰かが公開するだろうと思って様子をうかがってたら,実際誰かが 2ch に up したんだけど諸事情で取り下げちゃったみたい.なので,とりあえず少しでもお役に立てればと公開しました.相変わらず CFW3.71 には対応してないんだけどね.

ちなみに,EDIA がいぢわるしてるのか何なのか,MAPLUS1 では×連打で OK だったのに,MAPLUS2 では,しかるべきタイミングで○を押さないとだめ.普通は,一定時間待って○押すとかだろうけど,これだと UMD/ISO で押すべきタイミングが変わるし,ISO 起動にしても起動するごとに微妙に最適なタイミングは変わる.長めに待つというのは,なんかプログラマとして負けた氣がするのでw,ちょっとした工夫が入ってます.これで常に最短のタイミングでボタン押してるはず.

オービスアラームと GPS ログは撤去しちゃったので,もはや GPS 関数は hook してないので,gpshook ですらない (^^; ということで,MAPLUS の plugin ということで maplug という名前に改名.

でも,MAPLUS2 の GPS ログはなんか頻繁に途切れるんだよなぁ… もしかしたら GPS ログ機能は復活させるかもしれない.

2008年1月7日月曜日

PSPTube

La Fonera+ の DD-WRT 化により,本格的に稼動した無線 LAN 環境.しかし今は WiFi 機器が PSP しかないので,あまり意味がない(笑) 仕方がないので,サーバーになっているノート PC に USB 無線 LAN モジュールを挿して,押入れの中に突っ込んだw これでノート PC の動作音が聞こえなくなるし,HUB を 1個撤去できる.


しかしこんな活用度合いじゃあんまりだよなぁ,と PSP で WiFi 活用できないか探していたところ,いいのがあるじゃないですか,PSPTube.しかも最新のは,YouTube だけじゃなくてニコニコ動画にも対応したとの事.早速インストールして,自分の上げた動画を再生してみた.メッチャ普通(笑) こりゃいいや.これならベッドに寝そべりながら動画とか見れるな.何よりもいいのは,ローカルに保存→変換とかしなくても,直接ネットワーク経由で動画が見れる事.

ただ残念な事に,ニコニコ動画のほうは結構固まる事が多かった.最近はニコニコ動画しか見てないので,これは今後のバージョンアップに期待しよう.欲を言うと,PC とかに保存した DivX 動画を LAN 経由で PSP で見れると,自分としては一番便利なんだけどねぇ.

しかしこれ作った人は天才だな.こういうのを本当のネ申って言うんだろうな.
maplus_conv 作ったぐらいで神呼ばわりされて浮かれてた自分とはえらい違いだwww

2008年1月6日日曜日

LA FONERA+ の LAN/WANポートの謎

DD-WRT 化した LA FONERA+ (以下 FON),今使ってるいわゆるブロードバンドルータ (以下 BB ルータ) より高機能なので,今の BB ルータを FON で置き換えてみようといろいろやってみた.


で,FON には LAN/WAN という 2つの有線 LAN ポートがあるので,図a のような接続でやってみた.当然 WAN/LAN ポートはネットワーク的に分離されていて (? ネットワーク用語に詳しくないので適当に書いてます(^^; ),WAN/LAN ポートは NAT で接続するような感じだと思っていたのだが,どうもうまく行かない.

んー,と思っていろいろ調べてみたら,なんと WAN ポートからのアクセスで LAN 側 IP アドレスにアクセスできてしまうではないか(汗 これって WAN/LAN ポートはタダの HUB って事? ググってみると,なんかそれを裏付けるようなページもちらほらと

これが真実だとすると,実際は図b のように,プロバイダからのネットワークに HUB かまして家の全 PC 等をぶら下げてるって事か? これじゃファイアーウォールになってねぇよ┐('~`;)┌

んー,でも FON の正規 FW だと a) のような接続になるはずだし←未確認,単に設定ミスなのかなぁ…

-----
1/12追記:
ここの情報によると,タダの HUB ではなく,VLAN が構成できる HUB(?) らしく,Fon 正規 FW ではその機能を使って WAN/LAN ポートのネットワークを分離していたようだ.でも今のところ DD-WRT にはその機能がない模様.DD-WRT のバージョンアップに期待.

2008年1月5日土曜日

DD-WRT化成功

キャンペーンで送料込み \1,500 で手に入れた La Fonera+ だが,実は問題があってまったく使っていなかった.というのも,PSP で Web ページを見ると,ある程度ページを読み込んだ後タイムアウトしてしまうという現象が起こっていた.これは PSP と La Fonera+ との相性かと思っていたのだが,ノート PC でも同じ現象が起こる事が確認できた.


更に詳しく調べて見ると,どうやら定期的 (2分に1回くらい(--# ) に固まっているようだ.固まっている間は,無線 LAN アクセスのみならず,有線アクセスによる La Fonera+ 設定ページにもアクセスできない.何じゃこりゃ,使い物にならねー┐('~`;)┌

そこでふと思い出したのが,DD-WRT というキーワード.これは La Fonera (+じゃ無いほう) のファームウェアを書き換えて高機能 AP+ルータにしてしまう FW なのだが,La Fonera+ に入れた人いないかなー,と思ってググってみたら,いたよ…

というわけでさくっとインストール.手順は上のページの通りでいけたが,若干 RedBoot 接続時の TeraTerm の設定に気をつけなければならないようだ.ウチの環境では,
Setup→Terminal
 New-Line
  Receive: CR
  Transmit: CR+LF
 Local echo にチェック
にしないと,上手くコマンドが受け付けられなかった.

で,入れてみたが… スゲー!!! なんかいろんな機能が追加されまくってるヽ(´ー`)ノ 個人的にほしかった,MAC アドレスによる接続制限とかも付いてるし,当然のごとく,定期的に固まったりしないので,やっとまともに使える AP になったよ.

まぁ,Fon の使い方から大きく逸脱していることには変わりはないが( ̄ー ̄)にやり

2008年1月1日火曜日

走り初め

毎年恒例になっている,大将さん主催の年始カート練習会に参加してきました.

今回は練習目的なので,計 6人でひっそりと,いつもの 5+5+10周ではなく,10周タイムアタック+10周決勝 (TAの正順グリッド) で行う事に決定.

で TA の結果はなぜかトップタイム.
てことは,このメンバーで初のポールポジションスタートですのー!!Σ( ̄□ ̄; 絶対プレッシャーで自爆しそう(汗 でも,ここは前向きに考え方を変えてみます.
   , ノ) 
  ノ)ノ,(ノi 
  (    (ノし <いつまでも速い人について行くだけのタナボタ 2位では
┐) ∧,∧  ノ   終われねぇ! 今年は俺の時代の風が吹き荒れている!
..|( ( ....:::::::) ( 
 ̄⊂/ ̄ ̄7 ) ヽ lヽ,,lヽ 
 ( /   /ノ.    (    ) .。oO(無理ぽ)
   ̄TT ̄    と、  ゙i
と一通り熱血し終えたところで,運命の決勝スタート.
1周めは崩壊したライン取りで,無理やり後続を押さえ込め (たと自分では思っ) て後続は大渋滞!
挙句の果てに遅すぎて追突される!
そして 2周目であっさりとパスされる!!_| ̄|○

さようなら俺の時代(゜ーÅ)ほろり

レース終了後の会話がすべてを物語ってます↓
発言1「後ろから走りを見ようとしてたのに,もうちょっとがんばってもらわないと,参考にならないっすよ(笑)」
発言2「ブルーフラッグ状態でしたね(笑)」
発言3「素人目に見ても,ダメダメだったなw」
僕「もっとがんばれると思ったんすけどねwww」

今年一年を象徴しそうな感じで,今年も幕を開けました┐('~`;)┌