メイン

ネタ帳 アーカイブ

2007年03月01日

税務申告書類受理

昨年度(平成18年度)の青色申告・確定申告書類が税務署から帰ってきた。
受理印が押してあるので、たぶん・・・受理されたのであろう(笑)

続きを読む "税務申告書類受理" »

2007年03月02日

物欲

今日買った品物・・・
(普通こんなの買うかよ~と突っ込みが入りそう)

続きを読む "物欲" »

2007年03月05日

ちゃんとサービスせんかい!!

近所のデニーズにて・・・
日曜日の午後、娘とお茶しに(笑)

続きを読む "ちゃんとサービスせんかい!!" »

LAN配線工事

書斎は2Fで道路に面しているので、FONを設置するにはもってこいの場所だ。

続きを読む "LAN配線工事" »

更新Ping

さすがに更新Pingかけないと、誰も見てくれませんわ。。。
(もちろんトラックバックスパムも無いけどね)
これじゃ寂しいので、更新Pingかけてみることにしました。
明日からコメントスパム、トラックバックスパム増大は請け合い(笑)

続きを読む "更新Ping" »

2007年03月06日

課題管理

もう若くないのだと実感すること。
昔は失敗を恐れずにアクションを起こしていたのだが・・・

続きを読む "課題管理" »

2007年03月10日

BBR-4HG unnumbered接続

物欲で購入したBBR-4HGをunnumbered接続する。

続きを読む "BBR-4HG unnumbered接続" »

2007年03月31日

能登地震の直後

3/25、9時50分頃

続きを読む "能登地震の直後" »

2007年04月12日

HDD復旧お助けサイト

最近のハードディクスは、初期不良時期を乗り切れば、よほどの事が無い限り、寿命まで無故障で使うことが出来るそうだ。

続きを読む "HDD復旧お助けサイト" »

2007年04月14日

PostgreSQL.JPユーザー会主催勉強会

PostgreSQL.JPユーザー会主催の勉強会に出席。

続きを読む "PostgreSQL.JPユーザー会主催勉強会" »

2007年04月15日

おかし

小さな洋菓子店MONTEURの工場直営売店で買い求めた洋菓子

続きを読む "おかし" »

2007年05月15日

SEO対策

検索エンジンの上位に表示するようなページ作りを行うこと

続きを読む "SEO対策" »

2007年06月13日

NTTの保守メニュー

10年前、新築した家にINS64を入れた。
そのとき、NTT(当時)からINS対応ホームテレホンみたいなTAを購入。以後、定額保守契約をし、現在に至る。
2つの電話番号を契約し、親番号は通常の電話に、子番号は、FAXに使用していた。
昨年、光電話を契約し、主たるFAXはそちらに移行。もっとも、世の中メールが全盛で、まったくFAXの着信がなかったので気にしていなかったのだが、あらためてFAX番号にTELしてみて愕然。
「・・・機器が故障していると思われます」のトーキーが。

定額保守契約をしているので、スワ113へ電話。

その日は局内とライン調査。それでも埒があかなくて、翌日オンサイト対応。
結局分からずじまい・・・
たしかに、10年前の機器なので、サービスマニュアルが不足しているのは分からなくもない。
だとしたら、買い替えを勧めるとか(とは言っても同等の機種がないんだな・・・これが)
いろいろと、提案の方法はあったろうに、と考えさせられる。

これは、反面教師としたい。

専門家ではない一般人は、メーカーや販売会社のサポートがたより。
代替手段が無い、待ったなしの業務ならなおさら。
作り手、提供側の都合もあるだろうが、(適正な対価のもとで)精一杯、顧客にサービスして信頼を維持しなくてはならないと思う。

サイトトラッキング

彩らいん!もじサイト等、自分が作成しているページには、Google Analyticsによるサイトトラッキングをしている。
ここ、彩らいん!もじサイト(ブログ版)でのサイトトラッキング情報を検証してみた。

検索エンジンによる参照は、全体の78%・・・ということは、ほとんどが検索エンジンからの来訪ってことになる。

キーワード参照では、
1.「こばとん」
2.「eclipse.3.2.2」
3.「alinous-core」
これで上位20%

ということで、上記キーワードでgoogle検索をしてみた。
どれも、1ページめに当サイトが表示されている。
もっとも、alinous-coreを除き、他のキーワードにかかわる検索件数は多くても数千程度。
まだまだコンテンツで食っていくには、修行が必要かなぁと思う。

ここ最近、alinousの検索件数が増えてきたのはとてもいいことだ。
みんなが注目している証拠。
なかには、提灯買い(笑)のブログも多数参戦中のもよう。
まあ、これも最終的にはalinousが認知されてくれるということで、歓迎するしかないか。

2007年06月15日

プロジェクト管理の難しさ

日次、週次、月次、年次のようなサイクルのあるミッションではなく、1つのミッションに対してリソースの割り当て、成果を求めるのがプロジェクト。
過去にいろいろなプロジェクトに関わった。
成功したプロジェクト、半ばで方向転換が余儀なくされたプロジェクト、リソースを食いつくし、リリースはしたものの、課題が残ったプロジェクト。

プロジェクトを推進していくのは、もちろんプロジェクトの構成員全員であるが、方向性や成功に導くのは、プロジェクトマネージャーの力量によるところが大きいと思う。
プロジェクトの立案、目的、それぞれのマイルストーン、リソースの確保と割り当て、全体の進捗管理、成果物の承認、最後にプロジェクトのクローズだ。
プロジェクトの規模が大きくなると、当然1人でこれらをまかなうことは不可能であるので、メンバーに権限を委譲したり、統括をして、それぞれのタスクを推進していくことになる。
委譲するにしても、目的、期日、成果物を明確に示す必要がある。
委譲されたメンバーが、プロジェクトマネージャと意識なりを共有していれば問題は発生しないと思いがちだが、結局、成果物を提示されたとき、マネージャーが思い描いていたもので無かった場合、無駄なリソースを費やしてしまったことになる。
プロジェクトの責任者は、最終的にはプロジェクトマネージャーなのだから当然といえば当然。

タスクの中で、「顧客との仕様調整」という項目もある。
実はこれが一番の曲者。
プロジェクトを企画する場合、それぞれのタスクと想定見積もりを山積みするわけだが、ここの部分がかなりぶれるところ。
顧客としてみれば、少ない費用で、多くを求めるし、技術者としてみれば、より斬新な方法で機能を実装してみたくなる。営業としてみれば、少ない費用で顧客の要求を満足させたいし、保守の都合から、枯れた(もとい熟成された)方法によって実装してほしい。
ここらへんを予算との兼ね合いで、大局的に判断して方向性を示すのがプロジェクトマネージャーの役割になっていること場合が多いと思う。
というか、プロジェクトマネージャーは、プロジェクトに対して、リソースを持っているし、与えられたリソースに対して、成果を提示する義務があるから、当然といえば当然である。

ただ、プロジェクトマネージャの役割として確実にいえることは、
プロジェクト計画を提示する
日程を提示する
具体的なタスクを提示する
タスクに対して委譲する権限を明確にする
それぞれのタスクに対するリソースを提供する
それぞれのタスクであがった成果物に対して承認をする
プロジェクトをクローズする

それぞれについてソツなくこなしても、プロジェクトは成功するとは限らない。
不本意ながら、敗戦処理というタスクを作成しなければならない場合もある。
※そんな場合はプロジェクトマネージャーが交代させられて・・・の場合が多いが(笑)

一度立ち上げたプロジェクトは、結果はどうであれ、必ずクローズしなければならない。
結果が不本意に終わったとしても、プロジェクトで作成された成果物やプロジェクト推進の過程を見直してみると、次のプロジェクトに生かせる場合が多いからだ。

自分の場合、プロジェクトマネージャーとして関わったプロジェクトは、リソースとなるメンバーの力量があったからか、よほどの大敗は経験していない。
毎回、プロジェクトをクローズするときに、苦労をわかちあったメンバーと共に、おいしい酒を酌み交わしたいものだと思っている。

コンテキストの共有

The Internetが一般にはやる前、今から20年近く前だろうか。
X25プロトコルを無線で使用し、転送型電子掲示板システムがそこそこはやりだした頃の話。
かなりのタイムラグはあったが、今のインターネットとほぼ同じ原理で動いていた巨大?なシステムだった。(今も細々とやっている人はいると思う)

そんななか、文字だけで意見交換することの危うさについて、警鐘を鳴らした方がいた。
「コンテキストの共有」
※このキーワードを見て、ピンと来た方は、そうとうのインターネット通(というか草分けの時期を知っている)人とお見受けする。

例を挙げると、色
みなさん、信号の色について説明することができるでしょうか?
日本語的に言えば、青、黄、赤の3色だ。それぞれの意味も理解していると思う。
一般的な答えとして
青は進め、黄色は注意、赤は止まれ。
で及第点な答えとなる。
※法律的とか細かいことは抜きにしてね
これは、今、「信号」「色」「意味」という話題に対して、書き手と読み手の意識が一致しているからに他ならない。これを「コンテキストの共有」というのだそうだ。
色覚異常の人でも、青・黄・赤を判別できない重度な人はそうそう居ないそうだ。
デザイナーや印刷関連に就職するとき、厳密な色覚検査をして、色覚異常と気がつく人が多いと聞く。

さて、この信号色、外国というか万国での表記はどうなっているだろうか。
G・Y・R
なのである。
(よく、システムオールグリーンって言ってますよね)
そう、青ではなく緑。で、信号をまじまじと見て欲しい。確かに緑ですよね。

日本語では、緑のことを青※と表現することがあり、赤に対する対義語として青が使われているので、信号の色を「青」「黄」「赤」としているらしい。
国民の大多数が、それで問題ないと思っているので、「青信号」でも通じるわけだ。
※青々と茂った木々という表現など

なので、文字で意見交換する場合は、まず、使用する言葉、議論する内容について、お互いの認識が合っていることを確認しあう、その上で議論なり、話し合いをしていかないと、いつまでたっても平行線のままだし、無駄な時間を費やし続けてしまうのである。
これが、目の前で話し合っている場合は、その都度、コンテキストの共有を図ることが出来る・・・かもしれない。
が、信号の色を「緑」と認識している人に、「青」と言っても通じないのだし、これはどちらかが折れるしかない。
※法令では「青」と規定してるので、日本では「青」に折れてもらうしかないでしょう

前述した事柄は、既にある物事の定義に関することで゜、解決策としては、「今の議論ではどちらかに決めてそれに従おう」、なのでそれほど問題にならない。
問題は、まったく意識に無いとか、経験が無いので、いくら説明しても分からないこと。
たとえば、結婚、出産、育児。
いざなぎ景気、神風景気、円高不景気、バブル景気、※不景気が少ない(笑)
教育によって、疑似体験はできるのかもしれないが、実際に体験していないと、真実味は薄れるだろしうし、熱く語ろうにしても、実際に経験した人には、よほどのことが無いと伝わらないものだ。
※無条件に伝えられるのは教祖ですね(笑)、もしくは打算があって「ウンウン」とうなずいているだけかもしれない

人それぞれ生きてきた境遇が違うし、年齢の多寡によって経験値が比例するかというとそうでもない。
お互いの経験を認めつつ、経験というコンテキストの共有がうまくできれば、今後の人生、とても幸せになるのではないかと思う。
自分が体験してきた経験だけで物事を判断するのは、ある意味、自己完結、他人に責任を負わせないということで、とても潔ぎよいと思う。
でも、(他人に責任を負わせることはないが)他人の意見を参考にして、判断するってことも、事業を広げる上で、とても大事なことではないかなぁと、この歳になってようやく思えてきた。

2007年08月12日

yahoo BBを使用

近所のマクドナルドでyahoo BBを初体験。

実は、一昨年前に、実験サービスがあったときに、アカウントを作成して、当時の仕事場の近所にあるマクドナルドに行って体験済だったりする。
電車での移動、それも、着席通勤が多かったので、PHSで不自由しなかったため、積極的に公衆無線LANサービスを申し込まなかったのだが、契約しているPHSがDocomoで、来年年初にサービスが終了するとのこと。
イーモバイルとか、他社PHSに乗り換えるか・・・はたまた、DocomoのFomaにアップグレード?するか。

電車内で使用するとしても、半分は地下部分なので、イーモバイルはどうなるのか、様子見。
とすると、他のPHSに乗り換えが現実的かと考えてみる。

が、公衆LANも捨てがたい。
特にYahoo BBの場合、ルノアールが対応しているのがうれしい。
ルノアールは、電源も使わせてくれるし、なんといっても居心地がいい。

一時期、yahoo BBは、yahooのadslか光に入っていないと使えなかった。
が、昨日、homepageを見ておどろく。
なんと、yahoo adslや光に入っていなくとも、月額515円で開放していることが分かった。
さらに、yahooプレミアムに入っていると、210円。
※実はアカウント維持用にyahooプレミアムに入っていた次第

早速申し込みをして、近所のアクセスポイントであるマクドナルドに来て、貫通した次第(笑)
作業場で飽きたとき、マクドナルドかルノアールに避難して、仕事しようかなぁ~と本気で思ってしまった。


接続の方法は、以前と同じで、アクセスポイントとWEPキーはhomepageで公開。
公衆無線LANサービスを申し込むと、別途アクセス用パスワードが発行される。
アクセスポイント+WEPキーで、BBアクセスポイントにアクセスし、適当なurlをブラウザで指定。
そすすると、認証ページにリダイレクトする。
そこで、アカウントとアクセス用パスワードを入力して、認証するしくみ。

FONのpublicと違い、PC-無線AP間が暗号化されているので、多少は安心かなぁと思う。

2007年12月15日

携帯電話

携帯電話のアプリに電話料金を表示するものがある。
アプリに関する使用料、通信料は無料なので、結構重宝している。
仕組みは、前日までの累積データをサーバから送信し、日々と累積の通信料を表示するというもの。
移動中に電話をすることが少ないのと、出先の固定電話で相手に電話することが多いので、通話料はかなり控えめ。
ただしパケット通信料はそれなりで、無料通話分をほぼパケット通信料で消費することもある。
特段、どこかのページを閲覧したりするわけではないのだが、メールの配信もパケット料として課金されるのが痛い。

頭痛のネタが一つ増える・・・
そろそろ息子が色気づいて(笑)
専用の携帯をほしいの言い出したためだ。
ヒアリングしてみると、使用の中心は、インターネットとメールだと言う。
通話と違って、使用実感がわかないので、いつものまにか高額のパケット代を請求されることになるだろう。
その通信料はいったい誰が払うのだろうか。
自分の息子ながら、明らかに金銭感覚に乏しいというのは、とても心配である。

美ら海水族館

悠々と泳いでいた3匹のじんべいざめ
ちょうどえさ槍の時間と重なったのはラッキー!!
室内から出て外に行くとイルカショーが16時から。
那覇への帰りのバスにしっかりと連絡していたのは偶然!?

美ら海水族館からバスに乗って、途中名護で高速バスの乗り換え、那覇空港まで。
那覇空港に1930着
帰りの飛行機は2210発だったので、ナイスタイミング ということだった。

2007年12月17日

間接作業

お客のところに行って、いろいろとコンサルするのが直接お金になる仕事である。
とはいっても、
ユーザの開拓
提案
フォローアップ
請求書(笑)
は、お金に結びつくが、直接お客(または作業)にかかわる問題ではない。
取り扱いというか、全体の取引量が少ないと、間接作業の比率が高くなる・・・
扱いをドンとあげて、間接作業を専門にやってくれる従業員を雇いたいところだ。

ただ、間接作業とは言え、どれも怠ると、会社的には信用を失うことになる。
小企業の社長は頭の痛いところだろう。

これらの間接作業をアウトソースするという需要はあると考えていて、
ビジネスにつながるかどうか
どのようにしてやれば、(布施加工として)採算がとれるか
いろいろと検討しているところだ

2007年12月19日

某DBソフトの戦略

かなり有名なDBソフト
(えーとオープンソースじゃないです)
のえげつない(笑)戦術というか、お客を手玉にとった商いをとある筋から聞いた。

営業ってのは、御用聞きみたいなもので、
お客からの答えはただひとつ
「それは実装されています」

でも、実は実装されていなくて(笑)
そのマイナーバージョンで、要望を入れていくのだとか。
日本の企業だと、完全に実装してからでないと商品を発表しない。
ただ、その戦術だと、旬を過ぎた商品になりかねない。

まあ、マイナーバージョンで実装されるのだから「うそ」とは言えないが
○×が出来るまで半年かかります・・・とか、言われるのって ねぇ。

以前、某携帯キャリアで、そのDBを使ったシステムの評価をしたことがあったけど
まさに、明日本番稼動するって時に、
「○×のパッチは来月になります」
とかサポートに言われたときには、マジでブチ切れました(笑えない)

システムテストの時期に、そんなこと言われるのって、インパクトありすぎ。
まあ、倫理的には問題有りですが、企業として儲けるためには仕方の無いことなんですかね

儲けと倫理の狭間で苦悩している今日このごろ。
ネームバリューで、乗り切れる商品であれば、いいのでしょうけど、そうじゃないモンは次が無いですから大変ですわ。

2007年12月20日

VPNを体感

proxyをまたいでVPNを体感。

CISCOのFWに仕込まれており
最初のアクセス時にクライアントがDLされる。

プロキシの中からteratermが使えるのは感動モノです。
布施加工のFWもVPN対応ではあるけど、
社長のスキル不足(笑)でproxyには対応していないよう(ナサケナヤ)

2007年12月21日

情報開示と約束

とある組合(今じゃ株式会社だな)で、ある不始末があったそうだ。
それに対して、大々的に「調査して回答しま~す」との広報があったよう。
・・・
これは、約束にあたることだと思われる。
で、調査した結果を回答したかと言うと
個別に、担当営業に聞いたら、「取締役会でゴニョゴニョ」と歯切れが悪い返答がきたそうな。
「人の噂も75日」という言葉もあるけど、調査した結果、芳しくない方向性になったのだと推測する。
だとすれば、最初から「約束」なんてしなければよかったのにと考えてしまう。

自身に当てはめてみると
・具体的な姿勢はあまり公言しない
・日和見的に行動する
という形になると思う。
取引先との重要な話とか、方針については、なるべくお互いに記録を取るようにしているけど
力関係もあり、「え、そんな事言ったっけ~」と頬かむりするユーザも珍しくない(笑)
ま、こういう輩は、結果、信用を無くすわけで
会社という大きい後ろ盾があるから、「まあ、仕方ないかぁ」となる訳で
後ろ盾が無くなったときに、どのような事になるか
(会社を辞めたり、会社が無くなったり)

もっとも、頬かむりするユーザの中でも、貸し借りを意識している人は居て
そういう行動典範を持っている人は、出来る人だと周りから認められる場合が多い。
まあ、技術や交渉力で、その場を取り繕っても、最終的には綻びが出るということでしょうか。

社長ともなると、そういうところを意識して、内外と付き合う必要があるから、神経をすり減らす。
嫌な客や取引先、従業員とでも、おくびにも出さずに対処しなくてはいけない。
※相手も同じなんだろうけどね~
時たま、疲れてしまって、感情的になることもある。
43年も生きていると、たいしたことでは動じないのだが、公私共に余裕が無いと、つい本音が出てしまうことも。

公開の範囲

いや~
ますます方向性が分からなくなってまいりました。
パートナーとなれば、こういう特典があるよ!
ということなんでしょうか?!?!

幅広く来てもらいたいのですが
何か理由をつけて、情報をコントロールしていきたいという姿勢がちらほらします。
決してそうじゃないのかもしれませんが
だとしたら、潤沢に資金をいただけるとうれしいですがねぇ

そこらへんのことを考慮してやらないと、過去にも空中分解したこともあるし
もっとも、個人事業主だから、過去の経緯はチャラにして、実を取るという人も居ていいのか。
・・・そういえば、居たな(笑)
まあ、結局はお金が入れば勝ちなんだし
そうなれずにスピンアウトしたのは、負けということで
これ以上考えると、なんかムナクソ悪くなってきそうなのでやめときます。

ミクロ的に見ると、売り手市場なのかもしれないけど
マクロ的に考えると、5年くらいで破綻がきそうな、そんな感じが。
まだあと20年近く稼いでいかなければならないし、
どんなモノを扱えば、暮らしていけるのでしょうかねぇ

デフォルト

ここでは金融用語として、自己破産の国家版

20年ほど前に、証券会社のシステムを担当したことがあって
当時はよく、南米の国々がデフォルトをやらかしていた
※テーブルの項目に「デフォルト区分」とかありました

現在の残高、今後の返済計画、将来の就業人口とか考えるに
このまま行くと、支払利息が税収より大きくなり、やがて国債を償還できなくなる日が必ず来る。
そうなった場合、どうなるのか
国家をリセットするしか方法が無いか・・・

どのようにリセットしたらよいのでしょうかね

2007年12月24日

え~まじっすかぁ

イニシャライズ処理で、使用していないクラスの継承をしたメソッド使用で
this.ウンチャラ
ですって(笑)
thisが無いから、当然nullを返すよなぁ~
スタック表示から推測して、クラスを類推してパッチあてしましたよ。

これ、放置(?)プレー中のリリース版なんですけど
まずいなぁ・・・
仮にも、お金取ってやろうとしている商品なんですから
リソースが足りないのに、戦線を拡大するのがいけない。

こんな初歩的な不具合を指摘するユーザさえ居ないってことなのか(笑)
でも、自分に都合の悪い内容は聞く耳持たないって、性格のようですからねぇ。
うちでは確認するすべは無いですが、本線のリリース版は、「基本的なこと」も含めて、FIXしているそうです。

にしても、今でも機能の追加を行っているということは、まだα版ってことになるのでしょうか。
だとしたら、すごい告知不備。
リリースノートさえ出していない(公開がストップしている)ところを見ると、確信犯なのでしょう。きっと
こんなんで、振り回されている自分が情けなくなってきます(笑)

2010年01月18日

N-02BでWiFi接続

FOMA契約をしていると、800円追加で公衆無線LANサービスが受けられる。
http://www.nttdocomo.co.jp/service/data/mzone/bill_plan/u_publiclan/
以前、Ipodtouchを求めたときに知り、衝動で加入してしまった次第。
このたびめでたく?N-02Bを購入してしまったので、WiFi対応であるN-02BをMozoneにつなげてみた。
他の公衆無線LANと同じで、アクセスポイントにWEPでつなぎ、ブラウザを立ち上げてID/PASSを入れて認証するしくみとなっている。

まず、アクセスポイントに接続する設定をしよう。


N-02Bを開き、WLANキーを長押しする。以下の図を参照してほしい。
n02bkeybord.jpg


通話モード画面で出るので、「DUALモード(WLAN優先)」または、「WLANシングルモード」を選択する。
n02b-01.jpg


設定後モードが切り替わる。
n02b-02.jpg


キーボートのMENUボタンを押し、メインメニュー画面から、〔設定/NWサービス〕を選択
n02b-03.jpg


2ページ目の〔WLAN設定〕を選択
n02b-04.jpg


暗証番号4桁(初期値:0000)を入力→〔確定〕
n02b-05.jpg


〔プロファイル設定〕→プロファイル01を選択
※プロファイル01以外にも設定できる
n02b-06.jpg
n02b-07.jpg


〔WLAN詳細設定〕を選択
n02b-08.jpg


〔ESSID設定〕を選択
n02b-09.jpg


6.MzoneのESSIDを入力(画面に表示されちゃってますが各自でご確認を)→〔確定〕
n02b-10.jpg


〔セキュリティ方式設定〕を選択
n02b-11.jpg


〔セキュリティ方式選択〕を選択
n02b-12.jpg


〔WEP〕を選択
n02b-13.jpg


KeyID画面〔1〕を選択
n02b-14.jpg


〔64bit/HEX〕を選択
n02b-15.jpg


Mzoneで払い出されたWEPキーを設定
n02b-16.jpg
設定後、確定キー


これで、アクセスポイントにつながるわけだが、実際にインターネットに接続するためには、さらに認証を通る必要がある。
認証は、ブラウザを起動して、適当なURLを打つと、認証画面が出てくるので、IDとパスワードを入力する。


以下、Mzoneの設定方法を参考にした
つなげ方

2010年01月25日

オートGPS

最近の携帯は、web・メール・カメラは当然で、GPS機能もついている。
もちろん、HTMLでGPSデータを引っ張るようにすることもでき、GPS測定をアプリに入れればユーザが意識しなくても、定期的に測定したGPSデータを送信することも可能。
ドコモでは、この冬モデルから、アプリを立ち上げておかなくとも、携帯のネイティブ機能でGPSデータを送信させることが可能となる携帯が登場した。
「オートGPS機能」搭載携帯がそれだ。
ただし、オートGPS機能を使うためには、オートGPS機能をON/OFFするアプリを作る必要がある。つまり、この「オートGPSスイッチアプリ」を起動し、設定を完了したらアプリを終了した後に定期的にGPSデータを送信しつづけるという仕組み。

ドコモでは、このオートGPS機能をASPとして提供するソリューションを発表した。
2010/01/25ドコモ報道発表
携帯から送信されてきたGPSデータによりPUSH配信を行うというもので、携帯から受信したGPSデータを情報提供事業者向けにもリアルタイムで提供し、提供GPSデータにより、情報提供事業者が独自のコンテンツを携帯にPUSH配信することが可能となっている。
なにぶん新しいネイティブ機能なので、それなりの需要が出てくるのは数年先と考えられる。ただ、リアルな位置情報がネイティブで取れるというのは画期的な仕組みだと思うし、他のキャリアも追従するのではないかと思う。

続きを読む "オートGPS" »

2010年01月31日

IEEE802.1X認証方式で接続する(N-02B編)

N-02BでWiFi接続でMzoneにつなげたはいいが、毎回、接続のたびにブラウザ認証するのはとても不便だ。
実は、SIPサーバのレジストを自動で行う機能がN-02Bにある。IEEE802.1X認証を行うことが出来れば、Mzoneのエリア内に入ったと同時に、FOMA以外のモードで電話の送受が出来るしかけだ。

Mzoneのページを見ると・・・あるある。IEEE802.1X認証をサポートしているではないか。
設定はいたって簡単。
N-02BでWiFi接続で説明したが、セキュリティ方式設定をWEPからIEEE802.1Xに変えてあげればよい。

以下、前回説明した〔セキュリティ方式選択〕を選択以降をWEPから802.1Xに変更。
n02b-18.jpg


証明書を選択。
n02b-19.jpg


ルート証明書を選択。
n02b-20.jpg


表示されたimode証明書すべてを選択しインストール。
※このページではすでに全部の証明書がインストールされてます
n02b-21.jpg


EAPフェーズⅡ用IDを選択。
n02b-22.jpg


IDを選択。
n02b-23.jpg


この画面で、プロバイダより払い出された接続用IDを設定する。
n02b-24.jpg


パスワードを選択。
n02b-25.jpg


この画面で、プロバイダより払い出された接続用IDにおけるパスワードを設定する。
n02b-26.jpg

入力が終了したら、左下に表示される「確定」「完了」をコンプリートして設定を終了させよう。
サービスエリア外でも設定可能だし、サービスエリア内だったら、自動的に接続される。
接続されると、左上のアイコンで「WLAN」マークが点灯する。

2010年02月01日

マイエリア(femtocell)の導入

とうとうわが家にフェムトセル無線局が開局した。
フェムトセル(femtocell)とは、半径数十m程度のきわめて小さな範囲をカバーする携帯電話の通話エリアのことだ。
設置は、ドコモの作業員が2名きて、機器調整を含め1時間で完了した。

フェムトセル無線局筐体
基地局の全容
後ろ出っ張りが携帯の電波を発射するアンテナと思われる。
無線LAN親機と見間違うような感じを受けます。
大きさは、ブロードバンドルータを一回り大きくした感じ。
銘版シール型番を表示したシール。
三菱電機製と表示がある。・・・あれれ~三菱電機って携帯から撤退したよね(笑)
ディップスイッチ筐体裏にあるデップスイッチ。
開通時に制御局と打ち合わせしながら、値を設定していった。

設置は県内二番目(おしい!!)、市内ではもちろん1番目。
電波法によるれっきとした携帯電話の基地局なので、免許状を置いていくかと思ったら、マイエリア開局確認書に免許状の写しが記載されていただけだった。
総務省の「電波利用ホームページ」から無線局免許状情報は検索可能となっているので、条件を指定して閲覧してみる。閲覧結果
(これ表示すると位置がバレバレなんだけどね~)
電波型式は5M00G7W、周波数は2137.6MHz~2147.4MHz、出力は50mW。この筐体で、50mWも出るんだね・・・すごい!!
免許状の写しとだけあって、件の言葉・・・
「法律に別段の定めがある場合を除くほか、この無線局の無線設備を使用し、特定の相手方に対して行われる無線通信を傍受してその存在若しくは内容を漏らし、又はこれを窃用してはならない」
がしっかりと記載されていた。

ドコモのフェムトセルは、「マイエリア」というサービス名で提供され、事前に登録した移動機のみ接続可で、制御局との通信はドコモが負担するのではなく、フェムトセル無線局設置場所の管理者(つまり自分ね)が負担するもの。足回りの回線を負担するのだから、通話料が割引されるのでは・・・と思ったら大間違いで、フェムトセル無線局設置費用と月額980円が余計にかかってしまう。
さらに、マイエリア対応携帯でないと接続させることは不可能だ。一般エリア-マイエリア自動的に切り替え機能が付いた移動機では、自動的にマイエリアに切り替わるように設定しておくと、一般エリアで通話またはiモード接続するたびに、「マイエリアではありません」というダイアログが必ず表示される。鬱陶しいこと甚だしい。
これでメリットと言えば、「イマスカ」サービスが受けられることだけ。これも、マイエリア推奨機種では、マイエリアに在圏したら手動で切り替える必要があるし、マイエリア対応機種では「オートGPS」を動かしていないと利用できない。なんと中途半端なサービスなんだ~

2010年02月28日

N-02Bと光電話がつながる仕組み

N-02BにはWLANの機能があり、WLAN接続設定ごとのSIP設定機能がある。
WLAN接続設定では、無線LANアクセスポイントへの接続方法を設定し、そのなかのSIP設定により、光電話に電話可能とする設定を入れる。
アクセスポイントの接続方法は、一般的な無線LAN子機の設定とほぼ同じで、SSIDと暗号化方式、パスフレーズを設定する。

一般的な家庭では、WEP/WPA/WPA2による暗号化とパスフレーズのみで家庭内LANに接続させているのが一般的だが、公衆無線LANでは少し異なる。
公衆無線LANでは、契約者か否かを判定するため、ログインIDとパスワードによる認証が追加される。この認証は、アクセスポイントに接続可能となった後に、任意のURLでWANにアクセスしようとしたときに、認証画面が現れて、認証させるようすることが多い。(ブラウザ認証)
一部のプロバイダでは、IEEE802.1xによる認証も行われている。IEEE802.1x認証は、ログインIDとパスワードを無線LANの設定と同時に行わせることが可能なので、該当する無線LANサービスのエリアに入った場合にアクセスポイントに接続させ、認証を行い、自動的にインターネット接続させることが可能だ。

ネットワークに接続したあと、光電話アダプタに対して収容認証を行う。認証が終了したあとは、割り当てられた内線番号により内線通話と光電話アダプタ経由で公衆電話網に通信可能となる。また、公衆電話網から着信があった場合に、N-02Bの内線番号が鳴動する設定としていれば、N-02Bから呼び出し音が出るという仕掛け。
NTT東西の光電話アダプタにはソフトフォンを5台まで収容させることが可能。ソフトフォンといっても、N-02Bのこの機能もソフトフォンと同様なので、N-02Bを5台収容させて内線電話として利用することも可能ではある。ただし、転送機能やピックアップなどのPBX機能は残念ながら備えられていない。

PBX機能を備えたシステムとして、「asterisk=アスタリスク」というものがある。
光電話はもちろんだが、アナログ回線・ISDN回線のVoIPアダプタがあれば、asteriskに収容可能。なにしろオープンソースのため、スキルさえあれば自分ひとりで構築できるというのもすごい。

2010年09月19日

n-02bのsipはOPTIONSをサポートしていない??

N-02BをAsteriskに収容し、NAT越えの評価をしております。
/etc/asterisk/sip.configには以下を設定


[801]
type=friend
username=801
secret=********
context=default
host=dynamic
canreinvite=no
callgroup=1
pickupgroup=1
;dtmfmode=rfc2833
dtmfmode=inband
disallow=all
allow=ulaw
qualify=3600
nat=yes

「dtmfmode=inband」としているのは、rfc2833としておくと、レジストが外れた後にDTMF操作をするとN-02Bがフリーズしてしまうため。
docomo経由でNECに問い合わせたところ、「バグ」であることを認めinbandの設定で回避してくれとのこと。
(すごいです・・・Asteriskの環境を作り、実験して、結果を報告してくれた。NECさん感謝!)
DTMFいったん決着が付いたものの、依然としてNAT越えREGISTは不安定のまま。
具体的には、REGISTはするもの、一定時間たつとUNREACHABLEになってしまうという現象がつづく。
これはどういうことかと言うと、N-02Bから発信は可能だが着信は不可ということ。
他に、IpodtouchとX-LiteをAsteriskに収容し、MzoneやEMobile経由で発着信がOKとなっているだけに、N-02BのUNREACHABLEは痛い。
なぜ、UNREACHABLEになってしまうのかを調べてみました。

まずは、Asteriskのサーバでtcpdumpによるパケットキャプチャをしてみます。


# tcpdump -e -vvv -n -i ppp0 port sip
REGISTER sip:xxx.xxx.xxx.xxx SIP/2.0
Via: SIP/2.0/UDP 123.45.67.89:5060;branch=xxxxxxx
Via: SIP/2.0/UDP 192.168.1.101:5060;branch=xxxxxxxx
From: ;tag=xxxxxxx
To:
Call-ID: xxxxx@801.192.168.1.101
CSeq: 0 REGISTER
Contact: ;expires=3600
max-forwards: 69
user-agent: DoCoMo/1.0 N02B
Content-Length: 0

これに対するasteriskからの返答が

SIP/2.0 100 Trying
Via: SIP/2.0/UDP 123.45.67.89:5060;branch=xxxxxxx;received=123.45.67.89
Via: SIP/2.0/UDP 192.168.1.101:5060;branch=xxxxxxx
From: ;tag=5764761e
To:
Call-ID: xxxxxx@801.192.168.1.101
CSeq: 0 REGISTER
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Length: 0

その後数回のREGISTERシーケンスを繰り返した後Asteriskが200をN-02Bに渡してREGIST完了。
この時点で、N-02Bのステータスを見ると、

# asterisk -r
...
albatross*CLI> sip show peer 801
albatross*CLI>

* Name : 801
Secret :
MD5Secret :
...
Status : OK (128 ms)
Useragent : DoCoMo/1.0 N02B
Reg. Contact : sip:801@192.168.0.111
albatross*CLI>


となっているので、AsteriskはN-02Bが生きていると信じているわけです。
ところが、この後Asteriskから「OPTIONS」リクエストがN-02Bに向かって飛ぶわけです。
たしかに、N-02BのAllowタグは何も無いので、Asteriskとすれば、どんな機能があるか問い合わせをしたいと思うのは納得できます。

OPTIONS sip:801@123.45.67.89 SIP/2.0
Via: SIP/2.0/UDP xxx.xxx.xxx.xxx:5060;branch=xxxxxxx;rport
From: "asterisk" ;tag=xxxxxxx
To:
Contact:
Call-ID: xxxxxxx@xxx.xxx.xxx.xxx
CSeq: 102 OPTIONS
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Sat, 18 Sep 2010 14:28:37 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Length: 0

ただ、この後がいけません・・・N-02BからのOPTIONSに対しての返信がない。
何回か、AsteriskからOPTIONSを送信したのち、返信が無いということで、N-02Bを「UNREACHABLE」にしてしまっているようです。
ただし、N-02Bからは、呼要求である「INVITE」なんかおかまいなしに飛んできます。
INVITEと、それ以降の通信はつつがなくネゴシエーションが取れているので、UNREACHABLEに気がつかないわけです。

N-02Bの兄貴分であるN906では、sip.confに以下の設定を入れると良いといっていた方がいました。


;qualify=3600
qualify=no

回線監視をしないという荒業ですが、これ本当にN906でも有効なのでしょうか??
N906を持っていないので評価のしようがありませんが、少なくともAsteriskからN-02Bに呼び出しをする場合、N-02Bに対して、通話要求であるINVITEの前にOPTIONS要求がAsteriskから出ているようです。
したがって、結局OPTIONS要求に対してN-02Bの返答が無いため、UNREACHABLEとなり、AsteriskからINVITEが出ることは無いのではないかと思います。

SIP関連のRFCである、「RFC3261」では、すべてのUAでOPTIONSメソッドは実装しなければならない(MUST)と記載があるのですがね~

ここらへんの事情を紙におこし、またまたdocomoショップに持っていきました。前回の正式回答は3ヶ月近くかかりましたが、今回はどのくらいで来るのでしょうか。
生産終了品なので、あまり期待してはいけないかな?
とりあえず、N-02Bの後継機であるN-04Bも同様の実装でないことを祈るばかりです。
(他機種の横展開も忘れずにお願いしてきました)

2010年09月24日

asteriskの不正アクセス対策

事務所に8個の固定IPを引き、FWをとりつけ、サーバを立てており、メールやWEBをホスティングではなく、自前で運用しています。
FWを建ててはあるが、サービス提供ポートは開いているので、サービスレベルのセキュリティはそれなりに万全にする必要があると考えています。
まずは、基本中の基本ですが、アプリケーションが吐くログを監視して、不正アクセスの兆候をつかむように努力しています。
asteriskもこのなかで運用していますが、国際電話も発着信する必要があるのでPSTN側規制をかけることができずにおります。
したがって、アカウント&パスワードを強化するしか対策はないのですが、別システムからワンタイムアカウント&パスワードを発行するような強固な作りとしてしまうと、その都度SIPクライアントに登録しなおす必要があります。さすがに、自動的に追従してくれるSIPクライアントってのはありませんので、利便性とを量りにかけ、長文のアカウント&パスワードとすることにしました。
使用しているアカウント&パスワードは、日本人的思考で作成しているので、欧米的辞書攻撃には少なからず耐えられるとは思っていますが、不正アクセスをのさばらせておくのは許せません・・・
そこで、不正アクセスを検知し、一定時間アクセスをブロックする仕組みを考えてみました。
asteriskの認証が失敗すると、asteriskのログに痕跡が残ります。
痕跡を追跡して、不正アクセスしたIPアドレスを一時的にブロックするようにシステムを作りこんでみました。

asteriskのログを眺めてみますと、認証が失敗した場合に以下のようなログを見つけることができます。


[date] NOTICE[x] chan_sip.c: Registration from '"!"' failed for '220.90.137.98'- No matching peer found

自分が建てているasteriskでは、LANG=Cで動いているようで、[date]は"Sep 8 17:00:00"のように表示されます。今まで最高秒間20件程度の辞書攻撃をされたことがあり、そうすると1分間で1200件もの認証エラーが記録されたことがありました。
したがって、1分ごとにログを監視することにしました。
Linuxの場合は、cronにより分刻みでスクリプトを実行することができます。
ログを時刻と認証エラー文字列でgrepし、取得されたIPをユニークソートして、不正アクセスしたIPを特定して、OSレベルでブロックするようにしてみます。

OSレベルでブロックしようとするには、iptablesで実現します。
自分んとこのasterisk稼動サーバの構成は、eth0側がLAN、eth1がグローバルIPとなっており、グローバルIP側には基本となるFWポリシーを設定してあります。
iptablesによるパケットフィルタ設定は、iptablesコマンドを1つ1つ実行していくシェル方式がネット検索で引っかかることが多いと思います。ただし多数の設定を入れる場合は、テーブルを作成しておき、一括で読み込ませたほうが早く設定させることができます。
(テーブルに作成する具体的な方法については割愛いたします)

以下、asteriskが動いているサーバの"/etc/sysconfig/iptables"の内容です。(一部省略しています)


*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#
-A POSTROUTING -o eth1 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:ADDRESSFILTER - [0:0]
:SIPFILTER - [0:0]
:DROPROLE -[0:0]
#ADDRESS FILTER
-A INPUT -j ADDRESSFILTER
-A FORWARD -j ADDRESSFILTER
#SIP FILTER
-A INPUT -j SIPFILTER
-A FORWARD -j SIPFILTER
-A SIPFILTER -m udp -p udp --dport ! sip -j RETURN
#DROP
-A DROPROLE -j DROP

上記でIPFILTERというテーブルを定義しています。このテーブルに不正アクセスしてきたIPを追加で設定し、一定期間パケットをDROPするようにします。
SIPFILTERテーブルに192.168.0.1からのパケットをDROPする内容を追加するコマンドは以下のとおりです。

/sbin/iptables -A SIPFILTER -j DROP -s 192.168.0.1

本来は、udp sipのみをDROPするのが筋でしょうが、当該IPは悪意を持ってアクセスしているのが明白ですので、全パケットをDROPしてもいいと考えます。
udp sipのみをブロックしたい場合のコマンドは、"man iptables"でお調べください。

悪意を持った・・・と書きましたが、大多数はbotのことが多いと思います。設定しっぱなしだと都合が悪いので、一定時間が過ぎたら設定した内容を落とすようにします。
すでに追加されているDROPのIPを削除するコマンドは以下のとおりです。


/sbin/iptables -D SIPFILTER -j DROP -s 192.168.0.1

"-A"で設定した内容とまったく同じ内容で"-D"とするのがコツです。同じにしないと、「設定されていないよん」というエラーが出て、削除されません。

アクセスブロックする時間と、ブロックしているIPを管理する必要があります。ファイルに格納するのが一般的のようですが、管理のしやすさ(動的に変更確認できる)と、セキュアに外部から容易に確認できる方法を提供するために、LAN内にあるDBサーバに情報を格納してみました。
利用ライセンスと構築のしやすさから、今回はPostgreSQLで実現させています。
以下asteriskというDBを作成しました。


CREATE DATABASE asterisk
WITH OWNER = postgres
ENCODING = 'UTF8'
CONNECTION LIMIT = -1;

DBを作成しましたら、不正アクセスを検知した時刻を格納するテーブル(attack_ip)とブロック中のIPを格納するテーブル(drop_ip)、そしてブロックしている時間を格納するテーブル(interval_table)を作成します。

CREATE TABLE attack_ip
(
ipaddress text NOT NULL,
start_time timestamp without time zone NOT NULL,
CONSTRAINT pk_attack_id PRIMARY KEY (ipaddress, start_time)
)
WITH (
OIDS=FALSE
);
ALTER TABLE attack_ip OWNER TO postgres;
CREATE TABLE drop_ip
(
ipaddress text NOT NULL,
start_time timestamp without time zone NOT NULL,
CONSTRAINT pk_drop_id PRIMARY KEY (ipaddress)
)
WITH (
OIDS=FALSE
);
ALTER TABLE drop_ip OWNER TO postgres;
CREATE TABLE interval_table
(
interval_hour integer NOT NULL,
CONSTRAINT interval_table_pkey PRIMARY KEY (interval_hour)
)
WITH (
OIDS=FALSE
);
ALTER TABLE interval_table OWNER TO postgres;

interval_tableには、ブロックする時間をあらかじめいれておきましょう。
※下記例では1時間としていますがお好みにより増やしてください

INSERT INTO interval_table(interval_hour)VALUES(1);

つづいて、1分ごとに動かすシェルを作成します。
他にcronに登録されている数にもよりますが、毎分1秒ないし2秒に実行されるようです。
したがって、1分前のログと現在時分のログを対象にして不正ログを取得するようにしました。
内容については割愛しますが、実装されているshの仕様とDBおよびログの構成により、適宜変更することになると思います。


#!/bin/sh
LANG=C
DBNAME="asterisk"
DBUSER="postgres"
DBHOST="192.168.0.21"
DBNAME="asterisk"
ALOG="/var/log/asterisk/messages"
d=$(date "+%b %d %H:%M")
b=$(date -d "1 min ago" "+%b %d %H:%M")
#
SQLA="SELECT ipaddress FROM drop_ip WHERE start_time + CAST((SELECT interval_hour FROM interval_table)||' hour' AS INTERVAL) < NOW()"
for a in $(psql -t -U $DBUSER -h $DBHOST -d $DBNAME -c "$SQLA");do
SQLB="DELETE FROM drop_ip WHERE ipaddress='$a'"
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "$SQLB"
iptables -D SIPFILTER -j DROP -s $a
done
#
for a in $(cat $ALOG\
|grep 'failed for'\
|egrep "$d|$b"\
|sed 's/failed for/\n/'\
|grep -v NOTICE\
|sed "s/'/\n/g"\
|grep .\
|grep "[0-9]"\
|sort -u);do
SQLC="SELECT COUNT(*) FROM drop_ip WHERE ipaddress='$a'"
cnt=$(psql -t -U $DBUSER -h $DBHOST -d $DBNAME -c "$SQLC")
if [ $cnt -eq 1 ];then
SQLD="UPDATE drop_ip SET start_time = NOW() WHERE ipaddress='$a'"
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "$SQLD"
else
SQLE="INSERT INTO drop_ip (ipaddress, start_time)VALUES('$a',now())"
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "$SQLE"
iptables -A SIPFILTER -j DROP -s $a
fi
SQLF="INSERT INTO attack_ip (ipaddress, start_time)VALUES('$a',now())"
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "$SQLF"
done

自分んとこでは、上記シェルを"/opt/tools/asteriskchk"に実行権限をつけて格納しています。
つづいて、crontabの設定です。(詳細は割愛します)

* * * * * /opt/tools/asteriskchk

自分んとこはasteriskをrootで動かしているので、rootのcrontabに作成していますが、構成により変更することになるでしょう。

なお、手動でブロックするアドレスを追加、削除するシェルも用意しておくとよいでしょう。
以下は、ブロック追加のシェル。


#!/bin/sh
DBNAME="asterisk"
DBUSER="postgres"
DBHOST="192.168.0.21"
DBNAME="asterisk"
ALOG="/var/log/asterisk/messages"
LANG=C
a=$1
cnt=$(psql -t -U $DBUSER -h $DBHOST -d $DBNAME -c "SELECT COUNT(*) FROM drop_ip WHERE ipaddress='$a'")
if [ $cnt -eq 1 ];then
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "UPDATE drop_ip SET start_time = NOW() WHERE ipaddress='$a'"
else
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "INSERT INTO drop_ip (ipaddress, start_time)VALUES('$a',now())"
iptables -A SIPFILTER -j DROP -s $a
fi

上記を適当なファイルに実行権限付きで格納します。
自分んとこでは、"/opt/tools/asteriskdropip"として格納しました。
手動で"192.168.0.10"のアドレスを追加する場合は以下によりコマンド打鍵してください。

# /opt/tools/asteriskdropip 192.168.0.10

つづいて、ブロック削除のシェル。


#!/bin/sh
DBNAME="asterisk"
DBUSER="postgres"
DBHOST="192.168.0.21"
DBNAME="asterisk"
ALOG="/var/log/asterisk/messages"
LANG=C
a=$1
for a in $(psql -t -U $DBUSER -h $DBHOST -d $DBNAME -c "SELECT ipaddress FROM drop_ip WHERE ipaddress = '$a'");do
psql -U $DBUSER -h $DBHOST -d $DBNAME -c "DELETE FROM drop_ip WHERE ipaddress='$a'"
iptables -D SIPFILTER -j DROP -s $a
done

※cronで実行させるためにはコマンドに対するpassが通っていることが前提

asteriskの招かざるユーザの対応に苦慮している方々の一助になれば幸いです。

上記ソースは自分のところでは動作確認をしていますが、なんら保証はなく、各人の責任においてご利用ください。
著作権は放棄していませんがご利用は自由に行ってください。ただし、出展は明らかにしてください。利用料、ご連絡は不要です。

ご注意!!

著作権表示
このblogのオリジナルURLは
http://blog.sailine.net
です。
キャッシュで保持する場合はキャッシュであることを明示してください。明示しない場合は著作権侵害となります。
This blog is "http://blog.sailine.net" saving.
The contents must be displayed in above URL or based.
If you tried to show the blog with different the URL,you must license from the copyright holder.

About ネタ帳

ブログ「彩らいん!もじサイト(ブログ版) blog.sailine.net」のカテゴリ「ネタ帳」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはその他です。

次のカテゴリはdatabaseです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.34
Copyright 2007-2010 ©彩らいん!もじサイト