핵심 요약
- Windows Defender 방화벽에서 앱 또는 기능 허용 → 고급 설정 → 인바운드 규칙 → 포트 순서로 진행합니다.
- 이후 화면의 안내에 따라 필요한 설정을 완료하면 됩니다.
- 작업 전에 반드시 트래픽이 공유기(라우터)를 정상적으로 통과하는지 먼저 확인하세요.
이 글에서는 윈도우나 맥에서 네트워크 포트를 여는 방법과, 포트 개방이 필요한 이유를 자세히 설명합니다. 나아가 공유기에서 포트를 처리하는 방법까지 함께 다룹니다.
윈도우에서 네트워크 포트 여는 방법
윈도우에 소프트웨어를 설치하면 설치 마법사가 필요한 방화벽 규칙을 자동으로 생성해 주는 경우가 많습니다. 하지만 프로그램을 설치했는데 정상적으로 작동하지 않는다면, 아래 단계를 직접 따라 해 보세요.
Windows 키를 누른 뒤 "방화벽"이라고 입력하고 Windows Defender 방화벽을 실행합니다.
열린 창에서 Windows Defender 방화벽을 통해 앱 또는 기능 허용을 선택하면 특정 앱을 지정해 허용할 수 있습니다. 이 도구를 사용하면 설치된 앱을 골라 설정된 네트워크에서 간편하게 개방할 수 있습니다.
특정 포트를 직접 열고 싶다면 왼쪽 메뉴에서 고급 설정을 클릭합니다.
포트를 열 때는 대부분 들어오는(inbound) 연결을 허용해야 합니다(운영체제는 일반적인 나가는(outbound) 연결은 기본적으로 허용합니다). 왼쪽 패널에서 인바운드 규칙을 선택한 뒤, 오른쪽 패널에서 새 규칙을 클릭하세요.
새 인바운드 규칙 마법사의 첫 화면에서 특정 포트 또는 포트 범위를 열기 위한 포트 옵션을 선택하고 다음을 클릭합니다.
다음 단계에서는 앱의 요구 사항에 따라 TCP 또는 UDP 포트 중 어떤 것을 열지 선택합니다.
그다음 모든 로컬 포트(매우 위험합니다!)를 열거나, 특정 로컬 포트 또는 포트 범위를 지정합니다. 선택 후 다음을 클릭하세요.
방화벽 규칙은 연결을 명시적으로 허용하거나 차단하는 용도로 사용됩니다. 여기서는 포트를 "여는" 것이 목적이므로 처음 두 옵션 중 하나를 고르면 됩니다. 서비스가 IPSec 인증을 사용한다고 확신하지 않는 한 첫 번째 옵션(연결 허용)을 선택하는 것이 좋습니다. 완료되면 다음을 클릭합니다.
규칙을 특정 네트워크에만 적용하도록 제한할 수도 있습니다. 회사 네트워크(도메인), 가정용 네트워크(개인), 그리고 일반 인터넷(이 대화상자에서는 공용으로 표시)이 그 대상입니다. 앱에 맞는 항목을 선택하세요. 잘 모르겠다면 세 항목을 모두 선택해도 됩니다. 다음을 클릭합니다.
마지막으로 규칙 이름을 입력하고, 원하면 설명도 추가합니다. 마침을 클릭하면 규칙 생성이 완료됩니다.
맥에서 포트 여는 방법
macOS에서 포트를 여는 과정은 전반적으로 윈도우보다 간단하지만, 면에서는 더 까다롭습니다. 우선 macOS 방화벽은 기본적으로 비활성화되어 있기 때문에, 초기 상태라면 굳이 아래 단계를 밟을 필요 없이 맥이 모든 들어오는 연결 시도를 수락합니다.
하지만 방화벽을 켠 상태라면(시스템 환경설정 > 보안 및 개인 정보 보호 > 방화벽 화면에 방화벽: 켬으로 표시됩니다), 특정 포트를 열기 위해 방화벽 구성 파일에 몇 줄을 추가해야 합니다.
방화벽이 켜져 있는 것을 확인했다면 다음 단계를 따르세요.
터미널 앱을 엽니다.
pf(packet filter, 패킷 필터) 방화벽이 활성화되어 있다면, 프롬프트에 아래 명령어를 입력해 중지합니다:
sudo pfctl -d
다음으로 nano 텍스트 편집기를 사용해 pf의 구성 파일을 엽니다:
sudo nano /etc/pf.conf
편집기에는 중요한 내용이 담긴 기본 구성(default config)이 표시됩니다. 여기에 사용자 지정 규칙을 추가할 수 있지만, 반드시 기존 구성 아래쪽에 추가해야 합니다.
예를 들어 12044번 포트를 열고 싶다면 파일 맨 아래에 다음 줄을 입력합니다. 이 명령은 임의의(any) 장치에서부터 임의의 장치까지(이 맥락에서는 곧 여러분의 맥) 12044번 포트로 들어오는 TCP(inet proto tcp) 트래픽을 상태 검사 없이(no state) 허용(pass)하겠다는 의미입니다.
pass in inet proto tcp from any to any port 12044 no state
Ctrl-x를 눌러 nano를 종료하고, 같은 이름으로 저장할지 묻는 질문에는 Y를 누른 뒤 Enter를 눌러 확인합니다.
방금 편집한 파일에서 방화벽 구성을 다시 불러오려면 프롬프트에 아래 명령어를 입력합니다:
sudo pfctl -f /etc/pf.conf
마지막으로 터미널에 다음을 입력해 방화벽을 다시 시작합니다:
sudo pfctl -E
포트를 열어야 하는 이유는?
컴퓨터에서 실행되는 클라우드 및 네트워크 앱은 특정 네트워크 포트(또는 포트 집합)를 통해 통신하도록 설계되어 있습니다. 연결 반대편에 있는 서버 역시 지정된 포트를 통해 데이터를 주고받습니다.
문제는 대부분의 운영체제, 특히 소비자용 운영체제가 들어오는 네트워크 통신의 일부 또는 전부를 거부하도록 설정될 수 있다는 점입니다. 그래서 앱이 클라우드 서비스로 데이터를 보내고, 서비스가 응답을 되돌려 보내고 있음에도 불구하고, 공유기나 운영체제에 내장된 방화벽이 해당 데이터를 막는 상황이 발생할 수 있습니다. 이럴 때 네트워크 포트를 열어 트래픽이 앱에 도달하도록 허용해야 합니다.
공유기에서 포트 열기
PC나 Mac 설정을 손보기 전에, 먼저 트래픽이 네트워크의 공유기를 통과할 수 있는지 확인해야 합니다. 이 경우 단순히 포트를 여는 것만이 아니라, 공유기에게 해당 데이터를 로컬 네트워크 내 어느 장치로 전달할지 알려주는 작업도 함께 필요합니다. 이를 위해 포트 포워딩(port forwarding)을 설정해야 합니다. 다만 포트 포워딩이 필요한 경우와 무관하게, 첫 단계는 위에서 안내한 대로 PC 또는 Mac에서 해당 포트를 여는 것입니다.