일부 온라인 게임이나 프로그램이 정상적으로 작동하려면 라우터에서 특정 포트가 반드시 열려 있어야 합니다. 라우터는 기본적으로 일부 포트만 개방되어 있고, 대부분의 포트는 닫혀 있어 직접 열어주기 전까지는 사용할 수 없습니다. 온라인 게임, 파일 서버 또는 기타 네트워크 프로그램이 제대로 작동하지 않는다면 라우터 설정에 접속하여 해당 애플리케이션에 필요한 포트를 열어야 합니다.
포트 포워딩이란 무엇인가?
라우터를 통과하는 트래픽은 모두 '포트'를 통해 이동합니다. 각 포트는 특정 종류의 트래픽을 위해 만들어진 전용 파이프와 같아서, 라우터에서 포트를 열면 해당 유형의 데이터가 라우터를 통과할 수 있게 됩니다.
포트를 열고 네트워크 내 특정 장치로 요청을 전달하도록 지정하는 과정을 포트 포워딩(port forwarding)이라고 합니다. 마치 라우터와 해당 포트를 사용할 장치 사이에 파이프를 연결하는 것처럼, 두 지점 사이에 데이터가 흐르는 직접적인 통로가 생기는 셈입니다.
예를 들어 FTP 서버는 21번 포트에서 들어오는 연결을 대기합니다. 외부에서 접속할 수 없는 FTP 서버를 운영 중이라면, 라우터에서 21번 포트를 열고 서버 역할을 하는 컴퓨터로 전달하도록 설정하면 됩니다. 그러면 새로 만들어진 전용 통로를 통해 파일이 서버에서 라우터를 거쳐 네트워크 밖의 FTP 클라이언트로 전송됩니다.
다른 상황에서도 마찬가지입니다. 다른 플레이어와 통신해야 하는 온라인 게임, 파일 업로드를 위해 특정 포트가 필요한 토렌트 클라이언트, 지정된 포트를 통해서만 메시지를 주고받는 메신저 앱 등이 모두 여기에 해당합니다.
모든 네트워크 애플리케이션은 실행을 위한 포트가 필요합니다. 따라서 다른 설정이 모두 올바른데도 프로그램이 작동하지 않는다면, 라우터에서 해당 포트를 열고 요청을 적절한 장치(컴퓨터, 프린터, 게임 콘솔 등)로 전달하도록 설정하세요.
포트 범위 포워딩(port range forwarding)은 포트 포워딩과 비슷하지만, 하나의 포트가 아닌 포트 범위 전체를 전달한다는 점이 다릅니다. 예를 들어 어떤 게임이 3478~3480번 포트를 사용한다면, 세 개의 포트를 각각 따로 등록하는 대신 해당 범위 전체를 게임이 설치된 컴퓨터로 한 번에 전달할 수 있습니다.
라우터에서 포트를 포워딩하려면 크게 두 가지 단계를 거쳐야 합니다. 장치마다 특성이 다르고 라우터 종류도 매우 다양하기 때문에 아래 단계는 특정 제품에 국한되지 않는 일반적인 방법입니다. 추가 도움이 필요하면 해당 장치의 사용자 설명서(예: 라우터 사용 가이드)를 참고하세요.
1단계: 장치에 고정 IP 주소 할당하기
포트 포워딩의 대상이 되는 장치에는 고정 IP 주소(static IP address)가 필요합니다. 그래야 장치가 새 IP 주소를 받을 때마다 포트 포워딩 설정을 다시 변경할 필요가 없습니다.
예를 들어 컴퓨터에서 토렌트 프로그램을 돌린다면 그 컴퓨터에 고정 IP를 부여하고, 게임 콘솔이 특정 포트 범위를 사용한다면 콘솔에도 고정 IP 주소가 필요합니다.
설정 방법은 두 가지입니다. 컴퓨터에서 직접 설정하는 방법과 라우터에서 설정하는 방법입니다. 컴퓨터의 고정 IP를 설정할 때는 컴퓨터에서 직접 하는 것이 더 간편합니다.
컴퓨터(Windows)에서 고정 IP 주소 설정하기
Windows 컴퓨터에 고정 IP 주소를 설정하려면 먼저 현재 사용 중인 IP 주소 정보를 확인해야 합니다.
- 컴퓨터에서 명령 프롬프트(Command Prompt)를 엽니다.
- 다음 명령어를 입력하고 Enter 키를 누릅니다.
ipconfig /all - 다음 항목들을 기록해 둡니다: IPv4 주소(IPv4 Address), 서브넷 마스크(Subnet Mask), 기본 게이트웨이(Default Gateway), DNS 서버(DNS Servers).
IPv4 주소 항목이 여러 개 보인다면 '이더넷 어댑터 로컬 영역 연결(Ethernet adapter Local Area Connection)', '이더넷 어댑터 Ethernet', '이더넷 LAN 어댑터 Wi-Fi' 같은 제목 아래 있는 항목을 찾으세요. Bluetooth, VMware, VirtualBox 등 기타 비기본 항목은 무시하면 됩니다.
이제 확인한 정보를 바탕으로 고정 IP 주소를 설정합니다.
- 실행(Run) 대화상자를 엽니다(WIN+R 키). ncpa.cpl을 입력하고 확인을 눌러 네트워크 연결 창을 엽니다.
- 명령 프롬프트에서 확인했던 이름과 동일한 연결(예: Ethernet0)을 마우스 오른쪽 버튼으로 클릭하거나 길게 누릅니다.
- 메뉴에서 속성(Properties)을 선택합니다.
- 목록에서 인터넷 프로토콜 버전 4(TCP/IPv4)를 선택한 후 속성을 클릭합니다.
- 다음 IP 주소 사용(Use the following IP address)을 선택합니다.
- 명령 프롬프트에서 복사해 둔 정보(IP 주소, 서브넷 마스크, 기본 게이트웨이, DNS 서버)를 입력합니다.
- 모두 입력했으면 확인을 눌러 저장합니다.
네트워크에 DHCP로 IP 주소를 받는 장치가 여러 대 있다면, 명령 프롬프트에서 확인한 것과 동일한 IP 주소를 예약하지 마세요. 예를 들어 DHCP가 192.168.1.2~192.168.1.20 범위의 주소를 할당하도록 설정되어 있다면, 충돌을 피하기 위해 그 범위 밖의 고정 IP를 사용해야 합니다. 예를 들어 192.168.1.21 이상으로 지정하세요. 의미를 잘 모르겠다면 현재 IP 주소의 마지막 자리 숫자에 10~20을 더한 값을 Windows의 고정 IP로 사용하는 것이 안전합니다.
Mac이나 Ubuntu 등 다른 리눅스 배포판에서도 고정 IP 주소를 설정할 수 있습니다.
라우터에서 고정 IP 주소 설정하기
또 다른 방법은 라우터를 통해 고정 IP 주소를 설정하는 것입니다. 게임 콘솔이나 프린터처럼 컴퓨터가 아닌 장치에 변하지 않는 주소가 필요할 때 이 방법을 사용합니다.
- 관리자 권한으로 라우터에 접속합니다.
- 설정 메뉴에서 클라이언트 목록(Client List), DHCP 풀(DHCP Pool), DHCP 예약(DHCP Reservation) 또는 이와 유사한 항목을 찾습니다. 이 섹션에는 현재 라우터에 연결된 장치들이 나열되며, 각 장치의 이름과 함께 IP 주소가 표시됩니다.
- 특정 IP 주소를 해당 장치와 묶어 예약하는 기능을 찾습니다. 그러면 라우터는 그 장치가 IP 주소를 요청할 때마다 항상 같은 주소를 할당합니다. 목록에서 IP 주소를 선택하거나 추가(Add) 또는 예약(Reserve) 버튼을 눌러야 할 수 있습니다.
위 단계는 일반적인 안내이며, 고정 IP 할당 방식은 라우터·프린터·게임 기기마다 다릅니다. NETGEAR 라우터의 IP 예약, Google 기기의 DHCP 설정 편집, Linksys 라우터의 DHCP 예약 구성 등은 각각 절차가 조금씩 다르니 참고하세요.
외부 네트워크에서 집안의 장치에 접근하려면 공인 IP 주소를 고정으로 만들어야 하는데, 이는 유료로 신청하거나 DDNS(동적 DNS) 서비스를 설정하는 방법으로 대체할 수 있습니다.
2단계: 포트 포워딩 설정하기
이제 장치의 IP 주소를 알았고 주소가 바뀌지 않도록 설정했으니, 라우터에 접속해 포트 포워딩을 구성합니다.
- 관리자 계정으로 라우터에 로그인합니다. 라우터의 IP 주소, 사용자 이름, 비밀번호가 필요합니다.
- 포트 포워딩 관련 메뉴를 찾습니다. 라우터마다 명칭이 다르지만 Port Forwarding(포트 포워딩), Port Triggering(포트 트리거링), Applications & Gaming(응용 프로그램 및 게임), Port Range Forwarding(포트 범위 포워딩) 등으로 불립니다. 경우에 따라 네트워크(Network), 무선(Wireless), 고급(Advanced) 같은 하위 카테고리 안에 숨어 있을 수 있습니다.
- 포워딩할 포트 번호 또는 포트 범위를 입력합니다. 포트 하나를 전달하는 경우 내부(Internal)와 외부(External) 입력란에 같은 번호를 적고, 포트 범위라면 시작(Start)과 끝(End) 입력란을 사용합니다.
- 프로토콜로 TCP 또는 UDP를 선택합니다. 필요하면 둘 다 선택할 수 있습니다. 어떤 프로토콜을 쓰는지는 해당 프로그램이나 게임의 포트 안내 문서에서 확인할 수 있습니다.
- 앞서 지정한 고정 IP 주소를 입력합니다.
- 활성화(Enable) 또는 켜기(On) 옵션으로 포트 포워딩 규칙을 활성화합니다.
대부분의 게임과 프로그램은 라우터에서 열어야 할 포트를 공식적으로 안내합니다. 어떤 번호를 입력해야 할지 모르겠다면 PortForward.com에서 일반적인 포트 목록을 확인할 수 있습니다.
요청 시 규칙 이름을 알아보기 쉽게 지정하세요. FTP 프로그램용이라면 FTP, 특정 게임을 위해 포트를 여는 것이라면 게임 이름으로 지정하면 관리가 편합니다.
예를 들어 Linksys WRT610N 라우터에서 포트를 포워딩하는 화면은 다음과 같은 형태입니다.
일부 라우터는 설정을 더 쉽게 도와주는 포트 포워딩 마법사를 제공합니다. 예를 들어 먼저 고정 IP를 사용 중인 장치 목록을 보여준 뒤, 거기서 프로토콜과 포트 번호를 선택하도록 진행되는 방식입니다.
제조사별 포트 포워딩 방법이 궁금하다면 D-Link, Belkin, Google Nest Wi-Fi(또는 Google Wi-Fi)의 공식 포워딩 가이드를 참고하는 것도 좋습니다.
열린 포트에 대해 더 알아두기
라우터에서 포트를 포워딩했는데도 프로그램이나 게임이 작동하지 않는다면, 컴퓨터의 방화벽이 해당 포트를 차단하고 있는지 확인해 보세요. 애플리케이션이 포트를 사용하려면 라우터와 컴퓨터 양쪽에서 모두 포트가 열려 있어야 합니다.
Windows 방화벽이 라우터에서 연 포트를 막고 있는지 확인하려면 잠시 방화벽을 비활성화한 후 포트를 다시 테스트해 보세요. 방화벽에서 포트가 닫혀 있다면 방화벽 설정을 수정해 포트를 열어 주세요.
라우터에서 포트를 열면 트래픽이 그 포트를 통해 드나들 수 있습니다. 네트워크를 스캔해 열린 포트를 확인하면 외부에서 보이는 개방 상태를 모두 파악할 수 있으며, 이를 위해 만들어진 웹사이트와 도구들이 있습니다.
열린 포트를 확인하면 좋은 이유는 다음과 같습니다:
- 라우터 설정에 직접 들어가지 않고도 포트 상태를 확인할 수 있습니다.
- 프로그램이나 게임이 작동하지 않을 때 포트가 제대로 열렸는지 검증할 수 있습니다.
- 닫은 포트가 실제로 닫혀 있는지 확인할 수 있습니다.
무료 포트 검사기를 제공하는 곳이 여럿 있습니다. PortChecker.co와 NetworkAppers는 외부에서 네트워크를 스캔하는 온라인 포트 검사기를 제공하고, Advanced Port Scanner나 FreePortScanner를 내려받아 사설 네트워크 내부의 장치를 스캔할 수도 있습니다.
단, 동일한 포트에 대한 포워딩 규칙은 하나만 존재할 수 있습니다. 예를 들어 원격 데스크톱(Remote Desktop)이 사용하는 3389번 포트를 IP가 192.168.1.115인 컴퓨터로 포워딩했다면, 같은 라우터에서 3389번 포트를 192.168.1.120으로 동시에 포워딩할 수 없습니다.
이런 경우 가능한 유일한 해결책은 프로그램이 사용하는 포트 자체를 변경하는 것입니다. 소프트웨어 설정에서 변경하거나 레지스트리 수정을 통해 가능할 수 있습니다. RDP의 예를 들면, 192.168.1.120 컴퓨터의 Windows 레지스트리를 편집해 원격 데스크톱이 3390번 같은 다른 포트를 사용하도록 강제하면, 해당 포트에 대한 새 포워딩 규칙을 만들어 같은 네트워크 내 두 대의 컴퓨터에서 원격 데스크톱을 사용할 수 있습니다.