web-dev-qa-db-ja.com

Windowsのiptablesと同等のものですか?

ばかげた質問:

Windowsにiptablesに相当するものはありますか? cygwin経由でインストールできますか?

本当の質問:Windowsでiptablesを使って何ができるのですか?基本的なファイアウォール機能(たとえば、特定のIPアドレスのブロック)を探しているだけ

58
Aaron F.

1つの方法は、netshコマンドを使用することです。

38

以下はからです https://support.Microsoft.com/en-us/kb/947709

例1:プログラムを有効にする

古いコマンド新しいコマンド

netsh firewall add allowedprogram C:\MyApp\MyApp.exe "My Application" ENABLE    
netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=Domain   netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=ALL  

次のコマンドを実行します。

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=private

ファイアウォールルールを追加する方法の詳細については、次のコマンドを実行してください。

netsh advfirewall firewall add rule ?

例2:ポートを有効にする

古いコマンド新しいコマンド

netsh firewall add portopening TCP 80 "Open Port 80"    
netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80

ファイアウォールルールを追加する方法の詳細については、次のコマンドを実行してください。

netsh advfirewall firewall add rule ?

例3:有効なプログラムまたはポートを削除する

古いコマンド新しいコマンド

netsh firewall delete allowedprogram C:\MyApp\MyApp.exe netsh advfirewall firewall delete rule name=rule name program="C:\MyApp\MyApp.exe"
delete portopening protocol=UDP port=500    netsh advfirewall firewall delete rule name=rule name protocol=udp localport=500

ファイアウォールルールを削除する方法の詳細については、次のコマンドを実行してください。

netsh advfirewall firewall delete rule ?

例4:ICMP設定を構成する

古いコマンド新しいコマンド

netsh firewall set icmpsetting 8    netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
netsh firewall set icmpsetting type=ALL mode=enable netsh advfirewall firewall add rule name="All ICMP V4" protocol=icmpv4:any,any dir=in action=allow
netsh firewall set icmpsetting 13 disable all   netsh advfirewall firewall add rule name="Block Type 13 ICMP V4" protocol=icmpv4:13,any dir=in action=block

ICMP設定を構成する方法の詳細については、次のコマンドを実行します。

netsh advfirewall firewall add rule ?

例5:ロギングを設定する

古いコマンド新しいコマンドnetsh firewall set logging %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096 ENABLE ENABLE次のコマンドを実行します。

netsh advfirewall set currentprofile logging filename %systemroot%\system32\LogFiles\Firewall\pfirewall.log

netsh advfirewall set currentprofile logging maxfilesize 4096
netsh advfirewall set currentprofile logging droppedconnections enable

netsh advfirewall set currentprofile logging allowedconnections enable

詳細については、次のコマンドを実行してください。

netsh advfirewall set currentprofile ?

特定のプロファイルのロギングを設定する場合は、「currentprofile」オプションの代わりに次のオプションのいずれかを使用してください。
ドメインプロファイル
プライベートプロファイル
パブリックプロファイル

例6:Windowsファイアウォールを有効にする

古いコマンド新しいコマンド

netsh firewall set opmode ENABLE    netsh advfirewall set currentprofile state on
netsh firewall set opmode mode=ENABLE exceptions=enable 

次のコマンドを実行します。

Netsh advfirewall set currentprofile state on 

netsh advfirewall set currentprofile firewallpolicy blockinboundalways,allowoutbound
netsh firewall set opmode mode=enable exceptions=disable profile=domain 

次のコマンドを実行します。

Netsh advfirewall set domainprofile state on 

netsh advfirewall set domainprofile firewallpolicy blockinbound,allowoutbound
netsh firewall set opmode mode=enable profile=ALL   Run the following commands:

netsh advfirewall set domainprofile state on 

netsh advfirewall set privateprofile state on

詳細については、次のコマンドを実行してください。

netsh advfirewall set currentprofile ?

特定のプロファイルのファイアウォール状態を設定する場合は、「currentprofile」オプションの代わりに次のオプションのいずれかを使用します。Domainprofile
プライベートプロファイル
パブリックプロファイル

例7:ポリシーをデフォルトに戻す

古いコマンド新しいコマンド

netsh firewall reset
netsh advfirewall reset

詳細については、次のコマンドを実行してください:netsh advfirewall reset?例8:特定のサービスを有効にする

古いコマンド新しいコマンドnetsh firewall set service FileAndPrint netsh advfirewall firewall set rule group = "File and Printer Sharing" new enable = Yes netsh firewall set service RemoteDesktop enable netsh advfirewall firewall set rule group = "remote desktop" new enable = Yes netsh firewall set service RemoteDesktop enable profile = ALL次のコマンドを実行します。

netsh advfirewall firewall set rule group = "remote desktop" new enable = Yes profile = domain

netsh advfirewall firewall set rule group = "remote desktop" new enable = Yes profile = private

7
Adrianio

[〜#〜] wipfw [〜#〜] は、特にそのiptablesルール作成フレーバーの後に非常に有望に見えます。

4
Nick Kavadias

XP、Server 2003以降のリリースには 組み込みのファイアウォール があります。

これにはAPIがあります プログラムを使用して、ルールを変更、有効化、および無効化できます。

3
poolie