netsh ipsec dynamic add rule srcaddr=Any dstaddr=IPアドレス mmpolicy=1 protocol=TCP srcport=0 dstport=80 mirrored=yes conntype=all actioninbound=block actionoutbound=permit
Windowsパソコンでは,「IPセキュリティ・ポリシー」で割り当てられた規則をもとに,IPsecを使って通信を暗号化する機能があります。IPsecのサービスが動作している際に,一部の着信パケットを一時的に拒否したいような場合には,netshコマンドでIPsecの設定を動的に変更するipsec dynamicコンテキストを使って設定します。
具体的には,まず以下のコマンドを実行して動作中のIPsecメイン・モード・ポリシー名を「show mmpolicy」で確認します(図1)。
netsh ipsec dynamic show mmpolicy
それから,必要なIPフィルタの設定を「add rule」でメイン・モード・ポリシーに追加します。例えば,192.168.0.1というパソコンに対するHTTPによる通信(あて先TCPポート80)の入力をフィルタリングする設定を,ポリシー1として追加する場合は以下のように入力します(図2)。
netsh ipsec dynamic add rule srcaddr=Any dstaddr=192.168.0.1 mmpolicy=1 protocol=TCP srcport=0 dstport=80 mirrored=yes conntype=all actioninbound=block actionoutbound=permit
また,追加した設定は以下のように「show rule」を実行すれば確認できます。
netsh ipsec dynamic show rule
なお,追加した設定を削除したい場合は「delete rule」を使います。例えば,上述した設定を削除するには以下のようなコマンドを実行します。
netsh ipsec dynamic delete rule srcaddr=Any dstaddr=192.168.0.1 protocol=TCP srcport=0 dstport=80 mirrored=yes conntype=all