う゛う゛う゛う゛う゛、あがってこないのら。
カテゴリー:お仕事
ググるのも仕事のうちだよね?
今日は朝しんどくて動けなかった。とりあえず、まだ体調が回復しないので様子を見て出勤する、と会社に連絡した。10時過ぎになってようやく動けるようになり、会社へ行った。
行ったら平気のへっちゃらでなんとかなることも多いが、今日は行ってもしんどかった。しんどいけど仕事はあれやこれやある。優先度の高いテーマになかなか手こずっていたが、ようやく少しずつ前に進み出した。
無線LANの RogueAP を検出するために Rogue Client の情報を snmpwalk で拾うスクリプトがちゃんと機能して、今日は2つの Rogue Client の居室を特定できた。各居室のネットワーク担当者に、クライアント端末を特定して登録されていない無線APを調べてもらうように依頼した。
そしてサーバのセキュリティ関連であれやこれや。私はセキュリティ方面は弱いので、仕事を進めていてもわからないことがなんだかんだ出てくる。その都度ググったりして調べているので、なかなか前に進まない。PAMって、え~と認証に関わるなんかだったなあ。詳しくは知らないや。ググる。時間食う。GSSAPIってなんだ?ググる。ググる。ググる。え~ん、よくわかんないよう。ああ、RFCまでたどり着いちゃった。そんな仕様レベルの情報まではいらない。ググる。ググる。あ、時間だ帰ろう。
と言うわけで続きはまた明日。
まだまだであった
気になってググってみたら、MIBファイルに bsnRogueClientEntry の他に bsnRogueClientPerRogueAPEntry ってエントリがあるじゃない。
ああ、早く会社に行って試したい。独立したネットワーク管理セグメントなので、VPNでも接続できないのだ。早く月曜日にならないかな。
お主もまだまだじゃのう
昨日、Perlのスクリプトでなんとかやろうと思っていたRogue Clientを特定する方法は、先輩がまた「WLCがsnmp出してるみたいだからMIBを調べればsnmpwalkで取得できそうだよ」とメールをくれた。
しかし、ネットワーク担当と言いつつ元々本業はサーバ管理&プログラマーだった私は、そのコマンドを使ったことがなかった。うう、未だに似非ネットワーク管理者なのだ。仕事といいつつプログラム書いてばっかりだし。とりあえずググったりmanを見たりして、どういうコマンドでどういうオプションで、とか調べてた。しかしオプションがいっぱいあって、ううう、どれをどう指定していいやらわからん。コミュニティ名ってどこに定義されているの?
しばらくして先輩が「できた?」とやって来た。「実はsnmpwallkって使ったことがなくて、今調べてて…」と話すと、あきれ顔。ちょこっとヒントをもらい、また続きをやる。コミュニティ名はsnmptrapd.conrfにもsnmpd.confにも書かれていなかったので、適当なスイッチにtelnetで入ってshow configで調べた。MIBファイルを調べてsnmptranslateというコマンドでシンボル名をOIDに変換し、
snmpwalk -v 2c -c コミュニティ名 -M /usr/local/etc/snmp/mib -m OID WLCのIPアドレス
でようやくRogueClientのMACアドレス一覧を取得できたのだ。よし、これで完璧!と思った矢先、
「そのRogue ClientがどのAPに接続しているかが、これだけではわからない」
ということに気がついた。全てのRogue Clientを調べたいのなら、別にどこに接続しているかという情報は必要ないのだが、調べたいのはあくまでもユーザに使用を許可していないAPに接続されているクライアントのMACアドレスであり、KnownなRogueAPに接続しているRogueClientは除外したいのだ。
う~ん、まだあと一歩。なんかいい方法ないかのう。
増えるんです(わかめじゃないよ)
う~ん、仕事は増える一方。昨日、増えなければいいなあと書いた「無線LANがつながりにくいんですけど」メールがまた1つ来た。やれやれ。
何日か前に書いた無線LANの Rogue Client を特定する問題は、CISCOからは思った通りDB情報は開示できない、と回答が来たが、先輩が WLC(Wireless LAN Controller)にSSHでログインして、
show rogue ap clients RogueAPのMACアドレス
というコマンドで表示できることを発見した。よし、この手で行こう。
とは思ったものの、一筋縄ではいかない。Unknown な RogueAP のMACアドレスをsnmpのtrapで拾ってくるところまでは自動化できている。これをWLCに自動的にログインして・・・
の先ができない。WLC はスイッチやルータのように、ハードウェアベースなアプライアンスな機器であり、シェルやPerlのスクリプトを実行する、ということはできない。TeraTermのマクロのように、Linuxのサーバから自動的にログインして動的にコマンドを生成して送信してその結果を受信してログアウトできないものか、と試行錯誤していたら、CPAN で Net::SSH::Expect というモジュールを見つけた。おお、これこれ、というところで今日はタイムアウト。明日じっくり取り組もう。
新しいアプリの開発にも着手しなければ。今日はとりあえず骨組みだけ作った。これはまあ、ゆっくりやればいいか。無線LANの電波調査もやらなきゃなあ。ユーザ案件が優先だ。