I-O DATAのWiFiルーター WN-DX1167R の管理画面をWEBブラウザで開く方法

コロナの影響で在宅勤務となりました。WiFiルーターが古くて(11a/b/gまでしか対応していなかった)、新しいWiFiルーターを購入しました。I-O DATAのWN-DX1167Rです。電気屋に行ったら標準タイプ、強力タイプ、超強力タイプと分かれていて、WN-DX1167Rは標準タイプに分類されてました。無線LANの速度で標準〜超強力まで分かれているように思えましたが「電波がちゃんと届く」ことが大事だと思ったので推奨環境が戸建て3階/マンション4LDKとなっているコレにしました。何より安かったというのが決め手なのですが。でもAmazonのほうがもっと安かったです。。

で、本題です。WiFiルーターのセットアップは問題なくできました。PCやスマホも無線LANで繋がります。で、細かい設定をしようと思いWiFiルーターの管理画面にWEBブラウザでアクセスしたのですが、これが繋がらない。セットアップするときにユーザー名とパスワードを設定したので、これでログインをしようと思ってもできない状態です。説明書には設定画面が表示されないときは「WEBブラウザを開き”192.168.0.1″を入力して開いてみる」とありましたので、それを信じていました。

ユーザー名とパスワードの入力を求める画面です。

入力した後に表示される画面です。認証エラーとなってしまいます。

なお、説明書には「Magical Finder」というアプリをインストールして設定画面にアクセスするようなことも書かれているのですがPCがLinux(ubuntu)なのでアプリをインストールできませんでした(windows向けしかなさそう)。

で、しぶしぶスマホにMagical Finderをインストールしてアクセスしてみたところ「192.168.0.201」のアドレスにアクセスしていることがわかりました。試しにPCのWEBのブラウザから「http://192.168.0.201/」でアクセスしてみたところ、無事接続できました!ファームウェアのバージョンが1.02.000となっていて、このバージョンであれば192.168.0.201で接続できるんじゃないかと思います。

ちなみに認証エラーの画面(先ほど示した192.168.0.1でアクセスした画面)にもファームウェアバージョンが記載されていて、こちらは22.01となっています。別物なのだと思います。メーカーが推奨していないやり方かもしれないので自己責任でお願いします。

ちなみに管理画面の左側にある「モバイル表示」にするとこんな感じです。PCで使うにはちょっと見づらいです。

無線LAN自体は特に不満なく使えてます。

スポンサーリンク

SNI(Server Name Indication)の仕組みの話

1台のWEBサーバーにバーチャルホストを設定して複数のWEBサイトを運営することはよくあることです。バーチャルホストとは1つのIPアドレスを複数のドメインで共有する技術のことです。ここでバーチャルホストの仕組みをおさらいしておきます。

WEBサーバーではxxx.comとyyy.comのドメインを運営しているものとします。

①ブラウザがxxx.comにアクセスをします。HTTP1.1以降の仕様ではHTTPヘッダにHostフィールドが必須となっているためブラウザはHostフィールドにドメイン(ここではxxx.com)を設定してWEBサーバーにリクエストを送ります。

②WEBサーバーはリクエストを受け取りHostフィールドを取得します。Hostフィールドに設定されたドメインを参照することにより、どのドメインへのアクセスかがわかります。

③バーチャルホストの設定ファイルをもとにドメインのマッチングを行い、HTMLファイルの取得(もしくは生成)をします。

④WEBサーバーは該当するWEBサイトのHTMLファイルをブラウザに返却します。

今まではこれで問題なかったのですが近年は常時TLS化が進んだ影響でこの仕組みではドメインが判断できなくなりました。どういうことかというと、TLSによりHTTPリクエストが暗号化されているためWEBサーバーのほうでHostフィールドが判断不能になりました。

そこでこの問題を解決するために導入された仕組みがSNI(Server Name Indication)です。どうやるかというと、暗号化されたHTTPリクエストとは別に「Hostフィールドに該当する情報」をブラウザからWEBサーバーに送るようにしています。このやりとりはTLSのハンドシェイク時に行われます。

SNIはブラウザとWEBサーバーが対応していれば良いためインターネットを利用する人が特に意識をする必要はありません。常時TLS化が一般的になってきた現在ではほとんどのブラウザがSNIに対応済みです。WEBサーバー側はTLSのハンドシェイクにOpenSSLを利用している場合、0.9.8以降で対応しているようです。

[広告]

ちなみにですが、Hostフィールドに該当する情報をTLSのハンドシェイクの中のどこでやりとりしているのか、どんな感じで設定しているのかを確認しようと思い、Wiresharkを使ってキャプチャしてみました。以下がキャプチャした結果です。通信相手のサーバー情報は伏せています。

どうやらブラウザからは「Client Hello」の中にある「Server Name Indication extension」という部分にドメイン情報を入れてWEBサーバーに送っているようです(赤枠で囲ったところ)。暗号化はされていないのでWEBサーバー側でバーチャルホストの判断はできそうですね。。
※TLSのハンドシェイクについてはこちらの記事の前半にも書いているので見てみてください。

スポンサーリンク