netsh 방화벽 대신 netsh advfirewall 방화벽을 사용하여 Windows 방화벽 동작 제어
이 문서에서는 컨텍스트 대신 방화벽 컨텍스트를 사용하여 netsh advfirewall
Windows 방화벽 동작을 netsh firewall
제어하는 방법을 설명합니다.
원래 KB 번호: 947709
요약
netsh advfirewall
방화벽 명령줄 컨텍스트는 Windows Server 2012 R2에서 사용할 수 있습니다. 이 컨텍스트는 방화벽 컨텍스트에서 제공한 netsh firewall
Windows 방화벽 동작을 제어하는 기능을 제공합니다.
또한 이 컨텍스트는 방화벽 규칙을 보다 정확하게 제어할 수 있는 기능을 제공합니다. 이러한 규칙에는 다음과 같은 프로필별 설정이 포함됩니다.
- 도메인
- 개인
- 공공 사업
명령줄 컨텍스트는 netsh firewall
이후 버전의 Windows 운영 체제에서 더 이상 사용되지 않을 수 있습니다. 방화벽 컨텍스트를 netsh advfirewall
사용하여 방화벽 동작을 제어하는 것이 좋습니다.
Important
관리자 그룹의 구성원이고 사용자 계정 컨트롤이 컴퓨터에서 사용하도록 설정된 경우 관리자 권한으로 명령 프롬프트에서 명령을 실행합니다. 관리자 권한으로 명령 프롬프트를 시작하려면 명령 프롬프트 세션을 시작하는 데 사용하는 아이콘 또는 시작 메뉴 항목을 찾아 마우스 오른쪽 단추로 클릭한 다음 관리자 권한으로 실행을 클릭합니다.
자주 사용하는 명령의 몇 가지 예는 다음 표에 나와 있습니다. 이러한 예제를 사용하여 이전 netsh firewall
컨텍스트에서 새 netsh advfirewall
방화벽 컨텍스트로 마이그레이션할 수 있습니다.
netsh advfirewall
또한 자세한 인라인 도움말을 가져오는 데 사용할 수 있는 명령이 제공됩니다.
명령 예제 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 |
다음 명령을 실행합니다.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 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 |