iptables와 동등한 Windows?


58

멍청한 질문 :

Windows에 iptables에 해당하는 것이 있습니까? cygwin을 통해 설치할 수 있습니까?

실제 질문 : Windows에서 어떻게 iptables를 통해 달성 할 수 있습니까? 기본 방화벽 기능 만 찾으십시오 (예 : 특정 IP 주소 차단)


6
바보 같은 질문은 없습니다
Mark Henderson

4
물론 멍청한 질문과 같은 것이 있습니다. 이것은 단지 하나가 아닙니다.
작업

답변:


37

한 가지 방법은 다음 netsh명령을 사용하는 것입니다 .


8
+1- netsh advfirewallWindows Server와 관련된 보안을 스크립팅하는 모든 사람에게 반드시 필요한 필수 규칙
Mark Henderson

netsh advfirewallURL을 지원 합니까 , 아니면 IP 주소 만 지원 합니까 ?
Parker

IP 주소만으로도 실행 가능한 네트워크 트래픽 송수신 또는 사용자 / 그룹 / 컴퓨터의 AD 자격 증명을 기준으로 필터링 할 수 있습니다. URL 필터링 의 경우 일종의 필터링 프록시 를 찾고 싶습니다 .
James Sneeringer

6

아래는 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"옵션 대신 다음 옵션 중 하나를 사용
하십시오 . Domainprofile
Privateprofile
Publicprofile

예 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
Privateprofile
Publicprofile

예 7 : 정책 기본값 복원

이전 명령 새 명령

netsh firewall reset
netsh advfirewall reset

자세한 내용을 보려면 다음 명령을 실행하십시오. netsh advfirewall reset? 예 8 : 특정 서비스 사용

이전 명령 새 명령 netsh 방화벽 설정 서비스 FileAndPrint netsh advfirewall 방화벽 설정 규칙 group = "파일 및 프린터 공유"new enable = 네 netsh 방화벽 설정 서비스 RemoteDesktop 활성화 netsh advfirewall 방화벽 설정 규칙 group = "원격 데스크톱"new enable = 네 netsh 방화벽 설정 service RemoteDesktop enable profile = ALL 다음 명령을 실행하십시오.

netsh advfirewall 방화벽 설정 규칙 그룹 = "원격 데스크톱"새로운 enable = 예 프로필 = 도메인

netsh advfirewall 방화벽 설정 규칙 그룹 = "원격 데스크톱"새로운 enable = 예 프로필 = 비공개


3
포맷 작업을 원할 수 있습니다. 현재 다운 보트를 초대하여 읽는 것이 끔찍합니다.
Gerald Schneider



3

XP, Server 2003 이상 릴리스 에는 기본 제공 방화벽 이 있습니다.

프로그래밍 방식으로 규칙을 변경, 활성화 및 비활성화 할 수 있는 API 가 있습니다.


1
스크립트 또는 소프트웨어 모듈 내에서 방화벽에 IP 주소를 추가하여 프로그래밍 방식으로 액세스 할 수있는 것을 원합니다.
Aaron F.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.