본문 바로가기
Windows/PowerShell

PowerShell | 방화벽 규칙 추가하여 포트 열기

by 지혜를 탐구하는 오딘 2022. 9. 28.
728x90
반응형

 

1. 개요

방화벽 구성하는 것도 때로는 귀찮을 수 있다.

PowerShell 로 방화벽을 한 번에 해제하는 방법을 알아보자.

 

예전에 ICMP 테스트 관련 글🔗 하면서 방화벽을 해제하는 것을 추가하였는데, 좀 더 PowerShell 스럽게 하는 방법을 위해서 다시 포스팅한다.

 

일단 IIS 관련 포트(80, 443)을 오픈하는 방법을 주로 알아보자.

 

 

2. 방화벽 규칙 추가하여 포트 열기

$rule_name = "open 80, 443 for iis"
$port_numbers = @(80, 443)
$description = "PowerShell 로 추가한 iis 방화벽 해제 규칙"
$protocol = "TCP"
$direction = "Inbound"

New-NetFirewallRule `
    -DisplayName $rule_name `	# 표시 이름
    -Description $description `	# 설명
    -Protocol $protocol `	# 프로토콜 tcp, udp 등
    -Direction $direction `	# 인바운드, 아웃바운드
    -LocalPort $port_numbers `	# 오픈할 포트 번호
    -Action Allow		# 허용, 거부(block)

코드부터 보자.

 

 

 

 

3. 방화벽 규칙 보기

$rule_name = "open 80, 443 for iis"

# 방화벽 프로필 목록 | 방화벽 규칙 중 | 표시 이름이 해당 하는 것만
Get-NetFirewallProfile `
    | Get-NetFirewallRule `
    | Where-Object { $_.DisplayName -eq $rule_name }

코드를 먼저 보자.

 

새로 추가한 후 방화벽 고급 설정에서 본 규칙이다.
PowerShell 로 규칙 보기한 화면 Domain, Public, Private 규칙이 전부 있어 보기 힘들다.

규칙을 확인 할 때에는 위 화면을 보면 이해하기 쉽다.

PowerShell 로 확인했을 때에는 Domain, Public, Private 전부 확인하게 되어서 이해하기 상당히 번거롭다.

반면에 그래픽 환경에서 볼 때에는 직관적으로 보기가 편하다.

 

* 방화벽 규칙을 추가하거나 삭제했을 때에, 다른 곳을 클릭하고 다시 들어와서 보자. F5 눌러도 새로고침이 되질 않는다.

 

4. 방화벽 규칙 삭제하여 포트 닫기

$rule_name = "open 80, 443 for iis"

Remove-NetFirewallRule `
    -DisplayName $rule_name		# 표시이름

해당 표시이름을 가진 방화벽 규칙을 삭제한다.

 

 

 

(관련된 글)

[Windows] ICMP, ping 테스트 하기, 방화벽 해제 방법, 그룹 정책, PowerShell, 규칙 추가🔗

Windows | 개인 PC IIS 켜기 웹서버 켜기, 윈도우 웹서버 돌리기(Internet Information Services)🔗

 

 

(참고 자료)

Windows Defender Firewall with Advanced Security Administration with Windows PowerShell🔗

 

 

 

 

 

 

 

 

 

728x90
반응형

댓글