Netsh(Network Shell)는 IT 관리자가 Windows 10에서 다양한 네트워크 관련 기능을 설정하고 확인할 수 있도록 도와주는 명령줄 유틸리티입니다. 이 도구는 Windows 방화벽 관리에도 활용할 수 있으며, 명령줄에서 간단하고 직관적으로 작업을 처리하고 싶다면 반드시 알아두면 유용합니다.
Netsh 명령어로 Windows 방화벽 관리하기
Windows 방화벽 설정은 설정 앱 깊숙이 숨겨져 있어 찾아 들어가기가 번거롭습니다. 우클릭 메뉴나 한 번에 처리할 수 있는 방법도 없어서, 같은 작업을 자주 반복해야 한다면 더욱 불편할 수 있습니다. 이럴 때 명령어를 BAT 파일로 저장해 두고 관리자 권한으로 실행하면 빠르게 처리할 수 있습니다.

예전에는 netsh firewall 명령어가 사용되었지만, 현재는 netsh advfirewall로 대체되었거나 곧 지원이 중단될 예정입니다.
advfirewall 컨텍스트에서 사용할 수 있는 옵션은 다음과 같습니다:
- consec – `netsh advfirewall consec` 컨텍스트로 전환합니다.
- dump – 구성 스크립트를 표시합니다.
- export – 현재 정책을 파일로 내보냅니다.
- firewall – `netsh advfirewall firewall` 컨텍스트로 전환합니다.
- add – 새 인바운드 또는 아웃바운드 방화벽 규칙을 추가합니다.
- delete – 조건에 일치하는 모든 방화벽 규칙을 삭제합니다.
- dump – 구성 스크립트를 표시합니다.
- set – 기존 규칙의 속성 값을 변경합니다.
- show – 지정된 방화벽 규칙을 표시합니다.
- help – 명령어 목록을 표시합니다.
- import – 정책 파일을 현재 정책 저장소로 가져옵니다.
- mainmode – `netsh advfirewall mainmode` 컨텍스트로 전환합니다.
- monitor – `netsh advfirewall monitor` 컨텍스트로 전환합니다.
- reset – 정책을 출고 시 기본 상태로 초기화합니다.
- set – 프로필별 또는 전역 설정을 지정합니다.
- show – 프로필 또는 전역 속성을 표시합니다.
방화벽 명령어 예시 모음
포트 개방, 프로그램 허용 등 실무에서 자주 사용하는 대표적인 명령어를 소개합니다.
포트 열기
netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80
허용된 프로그램 또는 포트 규칙 삭제
netsh advfirewall firewall delete rule name=rulename program="C:\MyApp\MyApp.exe"
netsh advfirewall firewall delete rule name=rulename protocol=udp localport=500
특정 서비스 활성화
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes
netsh advfirewall firewall set rule group="remote desktop" new enable=Yes
Windows 방화벽 켜기
netsh advfirewall set currentprofile state on
정책 기본값으로 복원
netsh advfirewall reset
Netsh 유틸리티로 할 수 있는 작업은 이 외에도 매우 다양합니다. 모든 내용을 다루기에는 범위를 벗어나므로, 더 자세한 내용은 Microsoft 공식 문서를 참고하시길 권장합니다.
함께 읽으면 좋은 글: Windows 방화벽에서 핑(ICMP Echo 요청) 허용하는 방법