ブロードバンドルータのポート開放(ポートフォワーディング)の確認方法です。
ポートフォワーディング先のサーバを実際につなげる前に、事前にルータが意図通りに動作するかを確認できます。
テストの概要
サーバの代わりに、指定のポート番号で待ち受けるアプリを使用します。
例えば、WEBサーバにポートフォワーディングする予定とします。
テストでは本番サーバの代わりに、PCを繋げてポート番号80番(HTTP)で待ち受けるアプリを起動します。
その後、ルータの 80番にアクセスした際に、PCで起動したアプリに接続されるかを監視することで、ポート開放(ポートフォワーディング)の確認を行います。
準備
サーバの代わりに指定のポート番号で待ち受けるアプリとして、ncコマンドを使用します。
このncコマンドは、同様にポート番号を指定して接続するクライアントとしても使用します。
Windows版は以下から netcat 1.12 をダウンロードして下さい。
netcat 1.11 for Win32/Win64
なお、ncコマンドはクライアントからコマンドを受け取って実行する機能があり、その為、アンチウィルスソフトによってはブロックするものがあります。
例えば、下記のものは良く紹介されていますが、アンチウィルスソフトでブロックされてしまいますので、上記のものを使用して下さい。
Netcat for Windows
確認方法
ルータ(IPアドレス xx.xx.xx.xx) は、ルータ内のサーバ(IPアドレス zz.zz.zz.zz)へポートフォワーディングするとします。
ルータ内のサーバの代わりに、PC上で ncコマンドを実行して、指定のポート番号で待ち受けます。
このPCのIPアドレスは、サーバと同じものを設定しておきます。
また、待ち受けるポートでアクセスできるように、ファイアウォールで穴をあけるのを忘れないようにしてください。
次にルータの外のPCで、ncコマンドを実行して、指定のポート番号に接続します。
確認は、ポートが TCP の場合と UDP の場合で若干異なります。
以下、詳細な手順です。
TCPの場合
ルータ内のPCで実行します。
nc -v -l -p ポート番号
ルータの外のPCで実行します。
nc -v xx.xx.xx.xx ポート番号
ルータ内のPCに接続されると、ルータ内のPCに下記のように connect to と出ます。
この表示が出たら、ポート開放(ポートフォワーディング)はOKです。
>nc -v -l -p 22 listening on [any] 22 ... connect to [zz.zz.zz.zz] from client.example.com [yy.yy.yy.yy] 51768
UDPの場合
ルータ内のPCで実行します。
nc -v -l -u -p ポート番号
ルータの外のPCで実行します。
nc -v -u xx.xx.xx.xx ポート番号
ルータの外のPCで下記のように open と出た後、文字列を入力してみて下さい。
この例では testtest と入力します。
>nc xx.xx.xx.xx 22 -v router.example.com [xx.xx.xx.xx] 22 (ssh) open testtest
ルータ内のPCで、ルータの外のPCで入力した文字列が下記のように表示されます。
この表示が出たら、ポート開放(ポートフォワーディング)はOKです。
>nc -v -l -p 22 listening on [any] 22 ... connect to [zz.zz.zz.zz] from client.example.com [yy.yy.yy.yy] 50567 testtest
以上、ブロードバンドルータのポート開放(ポートフォワーディング)の確認方法でした。
コメント