仙石浩明の日記

2013 : March

2013年3月30日

UCOM光電話の VoIP アダプタ (Aterm BH812V) を LAN 内に設置してみた tweets

UCOM光が導入されているマンションに住んでいるので UCOM光電話を使っている。 UCOM から貸与された VoIP (Voice Over IP, IP 電話) アダプタは、 グローバル IP アドレスが必要と説明書にあった。 UCOM光で各戸に割当てられるグローバル IP アドレスは 5個しかないのに、 うち 1個を VoIP アダプタごときに専有されるなんてトンデモナイ。 なんとか VoIP アダプタを、 次図のように LAN 内に設置することはできないか?

                    宅内 ←:→ UCOM
                        :       :
      LAN    ┌─────┐  DMZ   :       :
           │NAT 機能付│      :       :
───┬────┬──┤ルータ  ├──┬───────┬────→ インター
   │    │  └─────┘  │   :   │   :  ネット
┌──┴─┐┌─┴─┐   :   ┌─┴─┐ : ┌─┴─┐ :
│ VoIP ││ PC等 │   :   │公開 │ : │SIP  │ :
│アダプタ│└───┘   :   │サーバ│ : │Proxy │ :
└────┘        :   └───┘ : └───┘ :
              :
プライベート IP アドレス  :    グローバル IP アドレス

SIP (Session Initiation Protocol, VoIP で使われるプロトコル) は NAT と相性が悪いとはよく言われるが、 それは UA (User Agent) 同士が直接通話する場合の話。 SIP Proxy 経由で通話する場合であれば、 端末 (VoIP アダプタ等) は特定の SIP Proxy に接続すれば事足りるので、 端末が NAT の内側 (つまり LAN 内) でも何の問題もない。 だから VoIP アダプタにグローバル IP アドレスが必要と言われても納得しかねる。

私の場合、 VoIP アダプタとして Aterm BH812V (UZ) を貸与された。 このアダプタに、 フツーの (アナログ) 電話機をつなぐとフツーの (050 な電話番号ではなくフツーの市外局番な番号の) 固定電話として使える。 BH812V は VoIP アダプタなのに VoIP 関連の設定項目が全く無く、 ましてプライベート IP アドレスで使うための設定方法など望むべくもない。 仕方がないのでとりあえずそのまま BH812V を LAN につないでみた。 上図中 「NAT 機能付ルータ」 は実際は Linux マシンで、 このマシン上で DHCP (Dynamic Host Configuration Protocol) サーバを走らせている。 つまり、 この DHCP サーバから BH812V に対してプライベート IP アドレスが割当てられる。

BH812V 前面

BH812V の筐体には、 「ステータス」 「電話サービス」 「電話1」 「電話2」 「インターネット」 と書かれた 5 つのランプがあり、 正常な定常状態では全て緑色に点灯する。 ところが、 BH812V を LAN につないで電源を入れると、 「ステータス」 が橙点滅、 「インターネット」 が橙点灯したままになり、 「電話サービス」 他のランプは消灯したままになってしまった。 もちろん、 BH812V につないだ電話機は使用不能。 BH812V のログはこんな感じ:

2013/03/29 00:39:15 NAT GET 192.168.10.130 (IP-PORT=1)
2013/03/29 00:39:15 WAN  Port is UP for Local Router mode
2013/03/29 00:39:15 WAN  Connect request from 192.168.19.1 for Local Router mode
2013/03/29 00:39:15 DHCP_Client IP ADDRESS Get 192.168.10.130 (IP-PORT=1)

プライベート IP アドレス 192.168.10.130 が配布されたことは分かるが、 SIP 関連のエラーは全く出力されていないので、 このログではなぜ電話機が使えないか何も分からない (>_<)

ちなみに、 BH812V にグローバル IP アドレス 122.218.XX.XX を割当てて正常に動作したときのログはこんな感じ:

2013/03/29 00:51:09 NAT GET 122.218.XX.XX (IP-PORT=1)
2013/03/29 00:51:09 WAN  Port is UP for Local Router mode
2013/03/29 00:51:09 WAN  Connect request from 192.168.19.1 for Local Router mode
2013/03/29 00:51:09 DHCP_Client IP ADDRESS Get 122.218.XX.XXX (IP-PORT=1)

電話が使えない異常状態と、正常状態とで、 ログが (割当てられた IP アドレス以外は) 全く同じというのはいかがなものか。

そこで、 BH812V にグローバル IP アドレスを割当てたときと、 プライベート IP アドレスを割当てたときとで、 どのような挙動の違いがあるか調べてみる。 まず UCOM DHCP サーバから グローバル IP アドレスを割当てるとき、 BH812V と UCOM との間でどのような通信が行なわれるか? BH812V と UCOM との間にブリッジ (という名の Linux マシン) を挟んで、 どのようなパケットがやりとりされているか tcpdump (ネットワークを流れるパケットを表示するツール) で調べてみる。

   ┌────┐  ┌─────┐  宅内 ←:→ UCOM
   │ VoIP ├──┤ブリッジ ├──┐   :
   │アダプタ│  └─────┘  │   :       :
   └────┘  ┌─────┐  │   :       :
           │NAT 機能付│  │   :       :
────────┬──┤ルータ  ├──┼───────┬────→ インター
        │  └─────┘  │   :   │   :  ネット
      ┌─┴─┐       ┌─┴─┐ : ┌─┴─┐ :
      │ PC等 │       │公開 │ : │SIP  │ :
      └───┘       │サーバ│ : │Proxy │ :
                  └───┘ : └───┘ :

上図のように 「VoIP アダプタ」 (BH812V) を LAN から (ブリッジを介した) DMZ へつなぎ替えたわけだが、 このようなネットワーク構成の変更が、 物理的な配線変更を行なわずにできるのが、 スマートスイッチならでは (^^)v。

More...
Filed under: システム構築・運用 — hiroaki_sengoku @ 22:53
2013年3月19日

GS108E / GS116E の ProSafe Plus 設定ユーティリティが 「HTTP request error」 で使えないときの対処法

安価なスマートスイッチ GS108E / GS116E の設定ユーティリティ 「ProSafe Plus」 を起動したとき、 以下のようなエラーダイアログが表示されて使用不可能に陥ることがある:

Web サービス サーバと通信中にエラーが生じました。エラーメッセージ:HTTP request error

「サーバと通信中にエラーが生じました」 と言われても、 そもそもこの 「ProSafe Plus 設定ユーティリティ」 はサーバと通信するツールではないので途方に暮れてしまう。 「サーバ」 というのはこのツールの設定対象であるスイッチ GS108E/GS116E のことなのか? この設定ユーティリティは起動時にスイッチを探す (UDP broadcast) が、 もちろんプロトコルは HTTP ではない。

「HTTP request error」 というエラーメッセージが唯一の手がかりなので、 とりあえず google で検索してみる。 私と同様に途方に暮れている人が何人もいるようだ。

幸い、 そのうちの一人が解決方法を発見していた:

FIXED: Prosafe Plus Configuration Utility - HTTP request error

I Fixed it!!! : The problem seemed to be caused by the 'Internet Connection Sharing Service (ICS)'.
Some how I have been configuring this service on my laptop. When I stop this service, the utility works again. Because I do not need this service most of the time I changed the startup mode of this service to manual.

ICS ? そんなものを設定した覚えはないのだけど... と思いつつ、 「ネットワークと共有センター」 から 「アダプターの設定の変更」 を選び、 ネットワーク アダプターの 「プロパティ」 を開いて 「共有」タブを選択する (Windows7 あるいは Windows8 の場合)。 すると...

インターネット接続の共有 ネットワークのほかのユーザに、このコンピューターのインターネット接続をとおしての接続を許可する

がーん、 「インターネット接続の共有」(ICS) が許可されている orz.
誰が許可したんだ?

そういえば先月 Wi-Fi USBアダプタ GW-USFang300 を購入 (e-trend で 1280円で売っていたので衝動買い ^^;) した際、 この PC を Wi-Fi アクセスポイントとして使用したのだった。 アクセスポイントなので、 当然 ICS を許可することになる。 一時的に使用しただけなので、 今はこの Wi-Fi USBアダプタを外しているのだが、 ICS が許可されたままになっていたのだろう。

この 「ネットワークのほかのユーザに、このコンピューターのインターネット接続をとおしての接続を許可する」 のチェックを外して 「OK」 を押したところ、 無事 「ProSafe Plus 設定ユーティリティ」 が使えるようになった。 よかった〜

なお、 上記 google 検索で見つけた解決方法は、 「I changed the startup mode of this service to manual」 すなわち 「『Internet Connection Sharing (ICS)』 サービスの 『スタートアップの種類』 を 『手動』 にした」 とあるが、 ネットワーク アダプターの 「プロパティ」 で ICS 許可のチェックを外しても同じ効果が得られるし、 「プロパティ」 で設定変更するほうが素直な対処方法だと思う。

Filed under: システム構築・運用 — hiroaki_sengoku @ 10:41