まくまくWindowsノート
Windows ファイアウォールで特定のポートを開放する
2015-11-13

(下記は Windows 7 で確認しています)

特定の TCP/UDP ポートを利用するサーバを立ち上げている場合、Windows ファイアウォールによってネットワークからの接続を遮断されてしまうことがあります。 このような場合、特定のポート番号のみアクセスを許可することができます。

特定のポートに接続できるかの確認

サーバへの接続に問題がある場合は、まずはそのサーバが使用するポートに対して接続できるのかを確認しましょう。 nmap コマンドを使用すれば、指定したポートに接続できるかを簡単に確認することができます。

例えば、Enterprise Architect のフローティングライセンスサーバでは、ポート番号 7770 を要求待ち受け用に使用しています。 同じネットワークに接続した PC から、そのサービスに接続できるかを確認してみます。

$ nmap -p7770 192.168.0.1
...
PORT     STATE SERVICE
7770/tcp filtered unknown
...

STATE の欄が filtered となっている場合、ファイアウォールやルータの設定により、そのポートへの接続ができないことを表しています。

Windows ファイアウォール設定で特定のポートを開く

Windows ファイアウォールで任意のポートを開放するには、受信の規則 という設定を行います。

  1. 「コントロールパネル」から「Windows ファイアウォール」を開く
  2. 「詳細設定」を選択
  3. セキュリティが強化された Windows ファイアウォールのウィンドウが開くので、「受信の規則」を選択し、「新しい規則」をクリック
  4. 指示に従って、下記のように選択していく
    • どの種類の規則: ポート
    • 特定のローカルポート: 7770
    • どの操作を実行: 接続を許可する
    • 名前: 適当に規則名を付ける

上記の作業を行えば、Windows ファイアウォールにおいて、ポート番号 7770 が開放されます。 nmap コマンドで別の PC から接続確認してみます。

$ nmap -p7770 192.168.0.1
...
PORT     STATE SERVICE
7770/tcp open  unknown
...

STATE の欄が open になり、無事接続できるようになりました!

2015-11-13