netshコマンドを使った例です。
<参考URL:は、http://www.atmarkit.co.jp/fwin2k/operation/xpsp2dep02/xpsp2dep02_04.html >
以下は直接、コマンドプロンプトから入力した例です。
Windowsファイヤーウォールの「例外」設定用、バッチファイルは、最後に記述しました。
*******************************************************************
C:\>netsh -c firewall
netsh firewall>
netsh firewall>exit
C:\>
*******************************************************************
*******************************************************************
C:\>netsh -c firewall show config
・
・
(Windowsファイヤーウオールの状態を表示します。)
※コマンドプロンプトから順に
"C:\>netsh -c firewall"
"netsh firewall>"
"netsh firewall>show config"
と入力した内容と同じ結果を表示できます。
・
・
C:\>
*******************************************************************
C:\>netsh -c firewall add ?
*******************************************************************
使用できるコマンドは次のとおりです:
netsh コンテキストから引き継いだコマンド:
add helper - ヘルパー DLL をインストールします。
このコンテキストのコマンド:
add allowedprogram - ファイアウォールで許可されたプログラムの構成を追加します。
add portopening - ファイアウォール ポートの構成を追加します。
C:\>
*******************************************************************
C:\>netsh -c firewall add portopening ?
*******************************************************************
add portopening
[ protocol = ] TCP|UDP|ALL
[ port = ] 1-65535
[ name = ] name
[ [ mode = ] ENABLE|DISABLE
[ scope = ] ALL|SUBNET|CUSTOM
[ addresses = ] addresses
[ profile = ] CURRENT|DOMAIN|STANDARD|ALL
[ interface = ] name ]
ファイアウォールのポートの構成を追加します。
パラメータ:
protocol - ポートのプロトコルです。
TCP - Transmission Control Protocol (TCP) です。
UDP - User Datagram Protocol (UDP) です。
ALL - すべてのプロトコルです。
port - ポート番号です。
name - ポート名です。
mode - ポートのモードです (省略可能)。
ENABLE - ファイアウォール経由の通信を許可します(既定)。
DISABLE - ファイアウォール経由の通信を許可しません。
scope - ポートのスコープです (省略可能)。
ALL - ファイアウォール経由のトラフィックをすべて許可します (既定)。
SUBNET - ローカル ネットワーク (サブネット) のトラフィックのみ許可します。
CUSTOM - 指定したファイアウォール経由の通信のみ許可します。
addresses - カスタムのスコープ アドレスです (省略可能)。
profile - 構成プロファイルです (省略可能)。
CURRENT - 現在のプロファイルです (既定)。
DOMAIN - ドメインのプロファイルです。
STANDARD - 標準のプロファイルです。
ALL - すべてのプロファイルです。
interface - インターフェイス名です (省略可能)。
注意: 'profile' と 'interface' を同時に指定することはできません。
'scope' と 'interface' を同時に指定することはできません。
'addresses' を指定するには、'scope' が 'CUSTOM' である必要があります
。
例:
add portopening TCP 80 MyWebPort
add portopening UDP 500 IKE ENABLE ALL
add portopening ALL 53 DNS ENABLE CUSTOM
157.60.0.1,172.16.0.0/16,10.0.0.0/255.0.0.0,LocalSubnet
add portopening protocol = TCP port = 80 name = MyWebPort
add portopening protocol = UDP port = 500 name = IKE mode = ENABLE scope = ALL
add portopening protocol = ALL port = 53 name = DNS mode = ENABLE
scope = CUSTOM addresses =
157.60.0.1,172.16.0.0/16,10.0.0.0/255.0.0.0,LocalSubnet
C:\>
*******************************************************************
C:\>netsh ?
*******************************************************************
使用法: netsh [-a AliasFile] [-c Context] [-r RemoteMachine]
[Command | -f ScriptFile]
使用できるコマンドは次のとおりです:
このコンテキストのコマンド:
? - コマンドの一覧を表示します。
add - エントリの一覧に構成エントリを追加します。
bridge - 'netsh bridge' コンテキストに変更します。
delete - エントリの一覧から構成エントリを削除します。
diag - 'netsh diag' コンテキストに変更します。
dump - 構成スクリプトを表示します。
exec - スクリプト ファイルを実行します。
firewall - 'netsh firewall' コンテキストに変更します。
help - コマンドの一覧を表示します。
interface - 'netsh interface' コンテキストに変更します。
ras - 'netsh ras' コンテキストに変更します。
routing - 'netsh routing' コンテキストに変更します。
set - 構成の設定を更新します。
show - 情報を表示します。
winsock - 'netsh winsock' コンテキストに変更します。
利用できるサブコンテキストは次のとおりです:
bridge diag firewall interface ras routing winsock
コマンドのヘルプを表示するには、コマンドの後にスペースを入れ、
? と入力してください。
*******************************************************************
C:\>netsh
*******************************************************************
netsh>?
使用できるコマンドは次のとおりです:
このコンテキストのコマンド:
.. - 一階層上のコンテキスト レベルに移動します。
? - コマンドの一覧を表示します。
abort - オフライン モードで行われた変更を破棄します。
add - エントリの一覧に構成エントリを追加します。
alias - エイリアスを追加します。
bridge - 'netsh bridge' コンテキストに変更します。
bye - このプログラムを終了します。
commit - オフライン モード中に行われた変更をコミットします。
delete - エントリの一覧から構成エントリを削除します。
diag - 'netsh diag' コンテキストに変更します。
dump - 構成スクリプトを表示します。
exec - スクリプト ファイルを実行します。
exit - このプログラムを終了します。
firewall - 'netsh firewall' コンテキストに変更します。
help - コマンドの一覧を表示します。
interface - 'netsh interface' コンテキストに変更します。
offline - 現在のモードをオフライン モードに設定します。
online - 現在のモードをオンライン モードに設定します。
popd - スタックからコンテキストをポップします。
pushd - スタックに現在のコンテキストをプッシュします。
quit - このプログラムを終了します。
ras - 'netsh ras' コンテキストに変更します。
routing - 'netsh routing' コンテキストに変更します。
set - 構成の設定を更新します。
show - 情報を表示します。
unalias - エイリアスを削除します。
winsock - 'netsh winsock' コンテキストに変更します。
利用できるサブコンテキストは次のとおりです:
bridge diag firewall interface ras routing winsock
コマンドのヘルプを表示するには、コマンドの後にスペースを入れ、
? と入力してください。
*******************************************************************
netsh>firewall
*******************************************************************
netsh firewall>?
使用できるコマンドは次のとおりです:
netsh コンテキストから引き継いだコマンド:
.. - 一階層上のコンテキスト レベルに移動します。
abort - オフライン モードで行われた変更を破棄します。
add - エントリの一覧に構成エントリを追加します。
alias - エイリアスを追加します。
bridge - 'netsh bridge' コンテキストに変更します。
bye - このプログラムを終了します。
commit - オフライン モード中に行われた変更をコミットします。
delete - エントリの一覧から構成エントリを削除します。
diag - 'netsh diag' コンテキストに変更します。
exit - このプログラムを終了します。
firewall - 'netsh firewall' コンテキストに変更します。
interface - 'netsh interface' コンテキストに変更します。
offline - 現在のモードをオフライン モードに設定します。
online - 現在のモードをオンライン モードに設定します。
popd - スタックからコンテキストをポップします。
pushd - スタックに現在のコンテキストをプッシュします。
quit - このプログラムを終了します。
ras - 'netsh ras' コンテキストに変更します。
routing - 'netsh routing' コンテキストに変更します。
set - 構成の設定を更新します。
show - 情報を表示します。
unalias - エイリアスを削除します。
winsock - 'netsh winsock' コンテキストに変更します。
このコンテキストのコマンド:
? - コマンドの一覧を表示します。
add - ファイアウォールの構成を追加します。
delete - ファイアウォールの構成を削除します。
dump - 構成スクリプトを表示します。
help - コマンドの一覧を表示します。
reset - ファイアウォールの構成を既定値に戻します。
set - ファイアウォールの構成を設定します。
show - ファイアウォールの構成を表示します。
コマンドのヘルプを表示するには、コマンドの後にスペースを入れ、
? と入力してください。
*******************************************************************
netsh firewall>show config ※既にファイヤーウオールの例外設定がされている場合の表示例
*******************************************************************
DOMAIN プロファイルの構成:
-------------------------------------------------------------------
操作モード = Enable
例外 = Enable
マルチキャスト/ブロードキャスト応答モード = Enable
通知モード = Enable
DOMAIN プロファイルでの許可されたプログラムの構成:
Mode Name / Program
-------------------------------------------------------------------
Enable リモート アシスタンス / C:\WINDOWS\system32\sessmgr.exe
STANDARD のプロファイルの構成 (現在):
-------------------------------------------------------------------
操作モード = Enable
例外 = Enable
マルチキャスト/ブロードキャスト応答モード = Enable
通知モード = Enable
STANDARD プロファイルでの許可されたプログラムの構成:
Mode Name / Program
-------------------------------------------------------------------
Enable リモート アシスタンス / C:\WINDOWS\system32\sessmgr.exe
Enable Windows Messenger / C:\Program Files\Messenger\msmsgs.exe
Enable VPN Dialer / C:\Program Files\Cisco Systems\VPN Client\ipsecdialer.exe
STANDARD のポートの構成:
Port Protocol Mode Name
-------------------------------------------------------------------
500 UDP Enable UDP500(VPN session)
4500 UDP Enable UDP4500(VPN session)
10000 UDP Enable UDP10000(VPN session)
62514 UDP Enable UDP62514(VPN session)
62515 UDP Enable UDP62515(VPN session)
62516 UDP Enable UDP62516(VPN session)
62517 UDP Enable UDP62517(VPN session)
62518 UDP Enable UDP62518(VPN session)
62519 UDP Enable UDP62519(VPN session)
62520 UDP Enable UDP62520(VPN session)
62521 UDP Enable UDP62521(VPN session)
62522 UDP Enable UDP62522(VPN session)
62523 UDP Enable UDP62523(VPN session)
62524 UDP Enable UDP62524(VPN session)
ログの構成:
-------------------------------------------------------------------
ファイルの場所 = C:\WINDOWS\pfirewall.log
最大のファイル サイズ = 4096 KB
ドロップされたパケット = Disable
接続 = Disable
ローカル エリア接続 ファイアウォールの構成:
-------------------------------------------------------------------
操作モード = Enable
netsh firewall>exit
C:\>
*******************************************************************
<実例その1:コマンドのキーボード入力>
半角の空白は、意味が有るので、要注意。
C:\>netsh -c firewall add portopening UDP 10000 UDP10000(VPNsession)
C:\>netsh -c firewall set portopening UDP 10000 UDP10000(VPNsession) ENABLE
C:\>netsh -c firewall add portopening protocol = UDP port = 10000 name =
UDP10000(VPN_session)
C:\>netsh -c firewall show config
未設定のパソコンに、設定する場合の参考にしてください。
<実例その2:バッチコマンドの作成例>
REM ***************************************
REM VPN_Wxp2.bat Windows XP only
REM ***************************************
REM Windowsファイヤーウオールの[例外]設定。(半角空白は、コマンドパラメータの区切りの意味があります。)
REM
netsh -c firewall add portopening UDP 500 UDP500(VPN_session)
netsh -c firewall add portopening UDP 4500 UDP4500(VPN_session)
netsh -c firewall add portopening UDP 10000 UDP10000(VPN_session)
netsh -c firewall add portopening UDP 62514 UDP62514(VPN_session)
netsh -c firewall add portopening UDP 62515 UDP62515(VPN_session)
netsh -c firewall add portopening UDP 62516 UDP62516(VPN_session)
netsh -c firewall add portopening UDP 62517 UDP62517(VPN_session)
netsh -c firewall add portopening UDP 62518 UDP62518(VPN_session)
netsh -c firewall add portopening UDP 62519 UDP62519(VPN_session)
netsh -c firewall add portopening UDP 62520 UDP62520(VPN_session)
netsh -c firewall add portopening UDP 62521 UDP62521(VPN_session)
netsh -c firewall add portopening UDP 62522 UDP62522(VPN_session)
netsh -c firewall add portopening UDP 62523 UDP62523(VPN_session)
netsh -c firewall add portopening UDP 62524 UDP62524(VPN_session)
REM 設定後の表示
netsh -c firewall show config
PAUSE
REM ************ END FILE ***************
以上