AtermWG600HPの導入

私は現在一戸建ての家に住んでおり、2階の自室でデスクトップPCをメインに利用しています。また、ルーターや無線AP等のネットワーク機器は光回線の引き込み線や速度が必要なテレビ等が設置されている事もあり1階に設置されています。1階と2階の間に有線LANは引いておらず、10年以上前から無線LANで接続していました。自室は家のなかでも一番端っこにあり、特に電波の状態が悪く、無線LAN導入当初は最大で1Mbps出る程度の速度しかありませんでした。ただ、当時はYahooBB 8M契約だったためさほど気になりませんでした。

その後何度かの機器の入れ替えが行われましたが、現在は下記の構成で落ち着いています。

old_network

旧無線ネットワーク構成

デスクトップPCは無線LANアダプタを取り付けておらず、10年前のイーサネットコンバータを利用して接続しています。無線APは比較的新しく11bgnに対応しています。ただし、5GHzには対応していないので電子レンジの干渉を大きく受けてしまいます。Webを見る程度なら大きなストレスは感じませんが、最近1階にファイルサーバーを設置した為、特にWindowsファイル共有(Samba)でのレスポンスが悪く、何らか改善をしたいと考えていました。

価格.comを見ているとNECのイーサネットコンバータとセットの5GHz対応無線ルーターが5,000円前半程度で入手できる事に気づきました。現在利用している11bgn対応のAirStationが親機のみで3,000円だった事を考えるとだいぶ安く感じました。また現在利用中のイーサネットコンバーターも流石に古いので限界を感じており、この際なので一新する事にしました。

早速注文ボタンを押し、手続きを進めた所、翌々日には品物が到着しました。

P_20151030_122928

WL300NE-AGとWG600HP

開封するとまず小ささに驚きました。私が最初に使った無線ルーターはBUFFALO AirStation WBR-B11でしたが、あの頃に比べると無線ルーターも年々小さくなってきたなと感じています。最近では外出先で使える手のひらサイズの無線ルーターもあるというから驚きです。

P_20151030_123338

WG600HP背面

WG600HPの背面を見るとルーターとAPの切り替えスイッチがありました。ここで内蔵ルーターをオフにする事もできるようです。またUSBポートもあり、ここにはWebカメラやUSBハードディスクなどを接続する事ができるようです。

説明書を見ると最初は切り替えスイッチはRTモードにしてからLAN側にパソコンを接続し、DHCPでアドレスを取得したらhttp://aterm.meに接続するように書かれていました。とりあえずそのようにしてブラウザを開くと最初にパスワードの設定画面が現れたので、任意のパスワードを入力します。次へをクリックするとBASIC認証の画面が出てくるので、ユーザー名にadmin、パスワードに先ほど設定したものを入力してログインします。すると動作モードを選択する画面が表示されました。家では無線APとして利用する予定だったので、無線LANアクセスポイントを選択し、画面を進めます。

atermnondhcp

IPアドレスの設定

今度はAtermのIPアドレスの設定が表示されました。一般的には固定IPを振るかと思いますが、我が家では固定をなるべく使わずにMACアドレスをルーターに登録し、指定したアドレスをDHCPを使って割り当てています。IPアドレス自動補正機能がDHCPに相当するように見えたので、このチェックを入れて画面を進めましたが、実はこれが落とし穴でした。IPアドレスに関する設定は完了したので一旦電源を切りました。その後ルーターにAtermのMACアドレスを登録し、DHCPの割り当てルールを追加して再度電源を投入します。今回は192.168.12.243というアドレスを割り当てました。ルーターで指定したIPアドレスにPINGを投げたりWebアクセスをしたりしてみますが、一向に繋がる気配がありません。ルーター側にはDHCPDISVOCERを受信し、DHCPOFFERを返したようなログは残っていましたが、それを採択したようなログは残っていませんでした。

何かおかしいなと思ってあれこれ調べていると、何故か192.168.12.210というアドレスが割り当てられている事に気づきました。先ほどの「IPアドレス自動補正機能」が何やら怪しいと思い、調べてみると下記のページにたどり着きました。

本商品のブリッジモードでのIPアドレスは、工場出荷時で末尾が「210」に設定されますが、他の機器でこのIPアドレスが使用済みの場合は、IPアドレスが競合しクイック設定Webが起動できません。 そのため、IPアドレス自動補正機能が働き、本商品のIPアドレスの末尾を「211」~「218」のいずれかに補正します。

どうやらこの「IPアドレス自動補正機能」とはDHCPではなく、IPアドレスの末尾210〜218のなかで空いているアドレスを割り当てるものだったようです。可能ならDHCPを使って割り当てたいのですがこの機能をうまく使えないかと思い、パケットをキャプチャしてみてこの機能の動きの詳細を追って見る事にしました。

キャプチャした結果下記の動きをしている事がわかりました。

  • DHCPDISCOVERをブロードキャストに宛てて送信する
  • DHCPOFFERを受け取り、そこからネットワークアドレスを割り出す
  • 割り出したネットワークアドレスから、末尾210番に対してGratuitous ARPを送信
  • 未使用ならそのIPアドレスを利用する

DHCPDISCOVERなどのパケットを送出しているのを見ると、ルーター自体にDHCPクライアントの機能はあるが、封じられているようにも見えます。ここで210〜218全部のIPが使用中で空きがなかったらどうなるんだろうという疑問が生じました。試しに手元にあったLinuxのマシンにIPエイリアスを使い余裕を持って210〜220までのIPを使用中にしてみました。

aterm_arp_ignore

パケットキャプチャの様子

192.168.12.210〜192.168.12.220までのIPアドレスをエイリアスで割り当てた状態でAtermの電源を投入しました。結果は意外な事に192.168.12.210のIPアドレスが振られてしまいました。パケットキャプチャの様子を見るとルーターがDHCPDISCOVERを受信し、同じくルーターが192.168.12.161が使われていない事をARPで確認し、DHCPOFFERを出している様子も見る事ができます。しかしAtermはこのOFFERを受信した後に192.168.12.210に対してGratuitous ARPを送信し、返事がなかったので192.168.12.210を割り当て、実際に使い始めました。この状態ではLinuxのマシンとIPアドレスが競合していますので、ネットワークが不安定な状態となってしまいます。

AtermはちゃんとGratuitous ARPを投げて未使用なのを確認してからIPを振っていますが、実際このIPは使用中です。ここで疑問はAtermが何故192.168.12.210を割り当てた事から、何故LinuxマシンがGratuitous ARPに対して返事をしなかったのかという事に移ります。

調べてみるとLinuxでは送信元が0.0.0.0(未設定)のGratuitous ARPでなければ返事をしない事がわかりました。先ほどのパケットキャプチャを調べると下記のようになっていました。

送信元のアドレスは192.168.12.210となっていて、これではLinuxマシンはGratuitous ARPに対して返事をしてくれそうにありません。ただこれが正しい動作なのかどうか興味があるものの今の私にとってはあまり重要ではなく、まずはAtermが末尾210〜218のIPが全て使われていた場合の挙動が知りたかったのでとりあえず置いておくことにしました。

LinuxがダメならWindowsで試すしかなさそうなので、早速IPエイリアスで210〜218のIPを割り当てたマシンを用意しました。

ipalias_windows7この状態でAtermの電源を投入し、パケットをキャプチャし様子を見てみました。

arp_fail

今度はうまく行きました。ちゃんとARPに対してWindowsのマシンが返事をしており、Atermのそれを受信してIPアドレスの割り当てを回避している様子が観察できました。

さて、この後210〜218までのIPアドレス全てが使われている事がわかるとAtermはACTIVEランプが橙色で点滅し始めました。無線の電波はなぜか暗号化無しで出ていたのですが、うまく接続する事はできません。

説明書を見てみるとIPアドレスが競合した場合に発生する症状のようで対処方法は初期化を行いIPアドレスの手動割り当てを行う事でした。私としてはIPが210〜218まで全部埋まっている事がわかったら諦めてDHCPの提案を受諾する事を期待していたのですが、残念ながらそうはなりませんでした。

とはいえ、仮にこの方法で210〜218のIPアドレスを全て埋めてDHCPを無理やり使わせるとしても、そこまでしてDHCPを使わせる事の意味はあまりないように思えます。それであれば固定IPアドレスを割り当てた方が遥かに楽です。

ここでわかった事をまとめてみましょう。

  • IPアドレス補正機能はDHCPではない
  • DHCPOFFERからネットワークを割り出し、その末尾210〜218の空いているアドレスを探す
  • ただし、Linuxに対しては仮に使用中でも割り当ててしまう
  • 210〜218全てのIPアドレスが埋まっている場合機能を停止する
  • 結局APモードでDHCPクライアント機能を使わせる方法はない
  • 最初から固定IPにしておいた方が遥かに楽だった

こんな所でしょうか。

最初は無線LANの導入メモ程度にするつもりが、いつの間にか興味本位により脱線してIPアドレス補正機能についての調査結果になってしまいました。

という事でここからは話を戻し、無線LANを設定する話をする事としましょう。

結論から言うとAPモードでESSIDやパスワードをデフォルトのままで無線を接続したいという事なら、Web設定画面を開く必要は全くありませんでした。ルーターからのLANケーブルをAtermのWANポートに接続し、切り替えスイッチをAPモードにした状態で電源を入れると、既に無線APの出来上がりです。後はパソコンやスマートフォンからデフォルトで設定されているESSIDを選択し、本体にかかれているパスワードを使い接続すれば完了です。APモードは内蔵ルーターを無効化しますからAtermのLANポートにパソコンを繋いでもL2スイッチのように振る舞い、インターネットやLANに接続できます。

ちなみにこの時のAtermのMACアドレスはWANポートもLANポートも同じものになっており、実はどのポートに繋いでも問題ないようです。ただし、MACアドレスは本体背面に書かれているWANのMACアドレスを-1したものでした。

また、付属のイーサネットコンバーターもWeb設定画面を開くことなく設定が可能です。具体的には下記の手順を実行します。

  • 子機のらくらくボタンを長押し → 緑点滅になったら離す
  • 親機のらくらくボタンを長押し → 緑点滅になったら離す
  • 親機・子機療法が橙色に点滅 → 親機のらくらくボタン長押し
  • 点滅が終わったら手を離す

この後両機器のPOWERランプが緑点灯になれば完了です。このように親機だけでなく子機もWeb画面を一切開くことなく設定ができてしまいました。

一昔前は無線の設定というと何かと面倒な事が多く、なるべく設定したくないと思っていたのですが、こんなに簡単に接続できてしまうのには拍子抜けでした。

今回は無線LANの設定のついでにARPやDHCPなどのプロトコルの良い復習になったように感じます。暇があればGratuitous ARPについてもう少し深く掘り下げてみたい所です。