목차
- 1. 왜 내 컴퓨터에서는 되고 친구는 안 될까요?
- 2. 테라리아 서버, ARK 서버에서 먼저 확인할 개념
- 3. 실전 점검 1단계: 서버 프로세스와 리슨 포트 확인
- Linux에서 확인하는 방법
- Windows에서 확인하는 방법
- 4. 실전 점검 2단계: 운영체제 방화벽 열기
- Windows Defender Firewall 예시
- Ubuntu의 UFW(Uncomplicated Firewall) 예시
- firewalld 예시
- 5. 실전 점검 3단계: 공유기 포트포워딩 설정
- 6. ⚠️ 많이 막히는 지점: 이중 공유기, CGNAT, 잘못된 테스트 방식
- 1) 이중 공유기(Double NAT, NAT 두 번)
- 2) CGNAT(Carrier-Grade NAT, 통신사 공유 공인망)
- 3) 내부에서 공인 IP로 테스트
- 4) 서버 IP가 바뀜
- 7. 검증 방법: 어디까지 열렸는지 단계별로 보기
- 8. 정리와 FAQ: 테라리아 서버, ARK 서버 접속 안 될 때 체크리스트
- 자주 묻는 질문
[트러블슈팅] 게임 서버 접속 오류, 테라리아/ARK 포트포워딩과 방화벽부터 점검하세요
집에서 테라리아 서버나 ARK 서버를 열어놨는데, 내 PC에서는 잘 되는데 친구만 못 들어오는 경우가 있죠. 이럴 때 가장 흔한 원인이 바로 포트포워딩(Port Forwarding, 공유기에서 내부 장치로 트래픽을 넘기는 설정)과 방화벽(Firewall, 허용되지 않은 통신을 막는 보안 장치)입니다. 저도 처음엔 게임 설정 문제인 줄 알고 한참 삽질했었는데, 막상 원인은 네트워크 쪽이더라고요. 오늘은 게임 서버 접속 오류가 날 때 어디부터 봐야 하는지, 특히 테라리아와 ARK 기준으로 실전에서 바로 써먹을 수 있는 확인 순서를 정리해보겠습니다.
중요한 포인트는 단순합니다. 서버 프로세스가 실제로 떠 있는지, 운영체제 방화벽이 포트를 열어줬는지, 공유기가 해당 포트를 내부 서버 PC로 전달하는지, 마지막으로 통신사가 외부 인바운드 연결을 막는 환경은 아닌지를 순서대로 보면 됩니다. 이 순서를 무시하고 여기저기 건드리면 저처럼 시간만 날릴 수 있습니다 ㅎㅎ
인터넷, 공유기, 서버 PC, 외부 플레이어가 어떻게 연결되는지 한눈에 보여주는 개요 이미지입니다.
1. 왜 내 컴퓨터에서는 되고 친구는 안 될까요?
쉽게 말해, 같은 집 안에서 접속되는 것과 인터넷 밖에서 접속되는 것은 완전히 다른 문제입니다. 내 PC나 같은 LAN(Local Area Network, 내부망)에서는 서버의 사설 IP로 붙을 수 있습니다. 그런데 외부 친구는 공인 IP를 통해 공유기까지 들어온 뒤, 공유기가 정확한 내부 서버 PC로 연결을 넘겨줘야 하거든요.
여기서 자주 헷갈리는 개념을 표로 정리해보면 이렇습니다.
| 항목 | 의미 | 자주 생기는 문제 |
|---|---|---|
| 사설 IP | 집 안 장치에 할당되는 내부 주소 | 서버 PC IP가 바뀌면 포트포워딩 대상이 틀어짐 |
| 공인 IP | 인터넷에서 보이는 외부 주소 | 잘못된 IP를 친구에게 전달함 |
| 포트 | 서비스별 통신 창구 | 게임 포트와 포워딩 포트가 다름 |
| 방화벽 | 들어오고 나가는 통신 제어 | 프로그램은 실행 중인데 접속은 차단됨 |
| NAT | 공유기가 내부/외부 주소를 변환 | NAT 구조를 몰라 외부 접속이 막힘 |
혹시 이런 경험 있으신가요? 친구는 접속 실패인데, 나는 localhost나 192.168.x.x 주소로 잘 들어가집니다. 이건 게임이 고장 난 게 아니라, 외부에서 내부 서버까지 들어오는 길이 안 열려 있는 상황인 경우가 많습니다.
2. 테라리아 서버, ARK 서버에서 먼저 확인할 개념
테라리아 서버와 ARK 서버는 둘 다 외부 클라이언트가 서버가 열어둔 포트로 들어와야 합니다. 다만 게임마다 쓰는 포트와 프로토콜(TCP/UDP)이 다를 수 있습니다. 여기서 중요한 건 숫자를 무작정 외우는 게 아니라, 내가 실제로 실행한 서버 설정 파일이나 실행 옵션에서 어떤 포트를 쓰는지 확인하는 습관입니다.
그래도 많이 쓰는 예시는 알고 있으면 편합니다.
- Terraria: 기본 예시로 7777 포트를 많이 사용합니다.
- ARK: 환경에 따라 다르지만 게임 포트와 쿼리 포트(query port)를 함께 여는 경우가 많습니다.
- 프로토콜: 게임마다 TCP, UDP 중 하나 또는 둘 다 필요할 수 있습니다. 서버 문서나 실행 로그를 반드시 같이 보셔야 합니다.
제가 직접 해보니 여기서 많이 틀립니다. 공유기에는 7777만 열었는데, 실제 서버는 다른 포트로 떠 있거나, ARK 쪽은 쿼리 포트를 안 열어서 서버 목록에 안 보이는 식이더라고요. 게임 서버 접속 오류가 났다면, 제일 먼저 “서버가 실제로 어느 포트에서 리슨(listen, 연결 대기) 중인가?”를 확인해보세요.
3. 실전 점검 1단계: 서버 프로세스와 리슨 포트 확인
가장 먼저 할 일은 게임 서버 프로그램이 정상 실행 중인지 보는 겁니다. 실행 창이 떠 있다고 끝이 아니고, 운영체제에서 실제로 포트를 열고 대기 중이어야 합니다.
Linux에서 확인하는 방법
ss -tulpen | grep -E '7777|27015'
또는 구형 환경이면 아래처럼 볼 수 있습니다.
netstat -tulpen | grep -E '7777|27015'
출력에서 LISTEN 또는 UDP 소켓이 보이면 일단 서버가 포트를 잡고 있는 겁니다.
Windows에서 확인하는 방법
netstat -ano | findstr :7777
netstat -ano | findstr :27015
PID가 보이면 작업 관리자(Task Manager)나 아래 명령으로 어떤 프로세스인지 연결해볼 수 있습니다.
tasklist /FI "PID eq 1234"
여기서 아무것도 안 나온다면, 포트포워딩 이전에 서버 자체가 제대로 안 떠 있는 겁니다. 설정 파일 경로가 틀렸거나, 저장 경로 권한 문제거나, 이미 다른 프로그램이 같은 포트를 쓰고 있을 수 있습니다.
실제 점검 과정에서 가장 먼저 보는 화면입니다. 포트가 열려 있는지부터 확인해야 다음 단계가 의미가 있습니다.
4. 실전 점검 2단계: 운영체제 방화벽 열기
서버가 떠 있어도 방화벽 설정이 막고 있으면 외부 접속은 안 됩니다. 저도 예전에 공유기 설정만 한참 만지다가, 결국 Windows Defender Firewall에서 차단 중인 걸 보고 허탈했던 적이 있습니다.
Windows Defender Firewall 예시
관리자 권한 PowerShell 또는 명령 프롬프트에서 아래처럼 인바운드 규칙을 추가할 수 있습니다.
netsh advfirewall firewall add rule name="Terraria TCP 7777" dir=in action=allow protocol=TCP localport=7777
netsh advfirewall firewall add rule name="Terraria UDP 7777" dir=in action=allow protocol=UDP localport=7777
netsh advfirewall firewall add rule name="ARK UDP 7777" dir=in action=allow protocol=UDP localport=7777
netsh advfirewall firewall add rule name="ARK UDP 27015" dir=in action=allow protocol=UDP localport=27015
실제 포트는 여러분 서버 설정에 맞게 바꾸셔야 합니다.
Ubuntu의 UFW(Uncomplicated Firewall) 예시
sudo ufw allow 7777/tcp
sudo ufw allow 7777/udp
sudo ufw allow 27015/udp
sudo ufw status verbose
firewalld 예시
sudo firewall-cmd --permanent --add-port=7777/tcp
sudo firewall-cmd --permanent --add-port=7777/udp
sudo firewall-cmd --permanent --add-port=27015/udp
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports
여기서 중요한 포인트! 서버 프로그램을 예외 처리할지, 포트 자체를 열지 방식이 갈릴 수 있는데, 홈랩에서는 포트 기준으로 명확하게 여는 방식이 나중에 추적하기 편했습니다. 어떤 포트를 왜 열었는지 기록도 남기 좋거든요.
5. 실전 점검 3단계: 공유기 포트포워딩 설정
이제 포트포워딩을 봅니다. 쉽게 말해 외부에서 들어온 7777번 요청을, 내부의 192.168.0.10 같은 서버 PC IP로 넘겨주는 규칙입니다. 공유기 제조사마다 메뉴 이름은 조금씩 다르지만 보통 Port Forwarding, Virtual Server, NAT, Applications 같은 이름으로 들어가면 나옵니다.
- 서버 PC의 현재 내부 IP를 확인합니다.
- 가능하면 DHCP Reservation(고정 할당)으로 서버 IP가 바뀌지 않게 묶습니다.
- 외부 포트와 내부 포트를 게임 서버 포트에 맞춰 입력합니다.
- 프로토콜을 TCP, UDP 또는 둘 다로 정확히 지정합니다.
- 대상 IP를 서버 PC 내부 IP로 설정합니다.
- 저장 후 공유기 재적용 또는 재부팅을 합니다.
예를 들어 이런 식입니다.
| 서비스명 | 외부 포트 | 내부 IP | 내부 포트 | 프로토콜 |
|---|---|---|---|---|
| Terraria | 7777 | 192.168.0.10 | 7777 | TCP 또는 설정값 기준 |
| ARK Game | 7777 | 192.168.0.10 | 7777 | UDP 예시 |
| ARK Query | 27015 | 192.168.0.10 | 27015 | UDP 예시 |
공유기 웹 UI에서 메뉴를 찾기 어렵다면, 핵심은 하나입니다. 외부에서 들어온 특정 포트를 내부 서버 장치로 전달하는 기능을 찾으면 됩니다. 메뉴 이름이 달라도 원리는 같습니다.
실제 공유기 화면은 제조사마다 다르지만, 외부 포트를 내부 서버 IP로 연결하는 구조는 거의 비슷합니다.
6. ⚠️ 많이 막히는 지점: 이중 공유기, CGNAT, 잘못된 테스트 방식
여기가 진짜 핵심입니다. 게임 서버 접속 오류를 잡을 때 포트포워딩과 방화벽을 다 맞췄는데도 안 되는 경우가 있거든요. 저도 처음엔 이게 뭔가 싶었는데, 알고 보니 네트워크 구조 자체가 문제였습니다.
1) 이중 공유기(Double NAT, NAT 두 번)
통신사 장비 뒤에 개인 공유기를 또 물려 쓴다면, 포트포워딩을 두 군데 다 해야 할 수 있습니다. 예를 들어 통신사 장비가 192.168.0.x 대역이고, 내 공유기가 192.168.1.x 대역이면 이미 NAT가 한 번 더 있는 구조일 가능성이 큽니다.
- 증상: 설정은 다 맞는 것 같은데 외부 접속만 안 됨
- 확인: 내 공유기의 WAN IP가 사설 IP인지 확인
- 해결: 브리지 모드(Bridge Mode)나 DMZ, 또는 상위 장비에도 포워딩 설정
2) CGNAT(Carrier-Grade NAT, 통신사 공유 공인망)
일부 인터넷 환경에서는 아예 집에 직접 공인 IP가 안 들어오는 경우가 있습니다. 이 경우 일반적인 포트포워딩만으로는 외부에서 직접 접속이 안 됩니다.
3) 내부에서 공인 IP로 테스트
이것도 자주 틀립니다. 같은 집 안에서 내 공인 IP로 접속 테스트했는데 실패했다고 해서, 외부 접속이 반드시 안 되는 건 아닙니다. 공유기마다 NAT loopback(내부에서 외부 주소로 다시 들어오는 동작) 지원 여부가 다르거든요. 그래서 모바일 데이터나 외부 네트워크에서 테스트해야 정확합니다.
4) 서버 IP가 바뀜
DHCP로 서버 PC IP가 바뀌면, 공유기 포워딩이 옛날 IP를 보고 있어서 갑자기 접속이 끊깁니다. 어제까지 되다가 오늘 안 되면 이 경우가 꽤 많습니다.
제가 실제로 써보니까, 홈랩에서는 서버 장비만큼은 고정 IP 또는 DHCP Reservation을 꼭 걸어두는 게 마음 편하더라고요.
7. 검증 방법: 어디까지 열렸는지 단계별로 보기
설정을 끝냈다면 이제 감으로 보지 말고 검증해야 합니다. 아래 순서대로 보면 문제 구간이 꽤 빨리 좁혀집니다.
- 로컬 테스트: 서버 PC에서 localhost 또는 내부 IP로 접속
- 같은 집 내부 테스트: 다른 PC/기기에서 사설 IP로 접속
- 외부 테스트: 모바일 데이터 또는 다른 장소 네트워크에서 공인 IP로 접속
- 포트 개방 점검: 외부 포트 체크 도구 또는 실제 클라이언트 접속 시도
- 로그 확인: 서버 콘솔에 접속 시도 흔적이 남는지 보기
로그에 접속 흔적조차 없으면, 대부분 서버 앞단인 방화벽 설정 또는 포트포워딩 문제입니다. 반대로 로그는 찍히는데 게임에서 튕긴다면, 버전 불일치나 모드 충돌, 세이브 파일 문제 같은 애플리케이션 레벨을 봐야 합니다.
ipconfig
ip addr
ss -tulpen | grep 7777
sudo ufw status verbose
Windows 환경이라면 아래도 같이 보세요.
ipconfig
netstat -ano | findstr :7777
netsh advfirewall firewall show rule name=all | findstr 7777
외부 환경에서 실제 접속이 되는지 확인하는 장면입니다. 내부 테스트만으로는 놓치는 문제가 꽤 많습니다.
8. 정리와 FAQ: 테라리아 서버, ARK 서버 접속 안 될 때 체크리스트
마지막으로 빠르게 훑을 수 있게 체크리스트 형태로 정리해보겠습니다. 저는 이런 식으로 하나씩 지우면서 봅니다. 의외로 가장 단순한 항목에서 끝나는 경우가 많더라고요.
- 서버 프로세스가 실제로 실행 중인가?
- 서버가 원하는 포트에서 리슨 중인가?
- 운영체제 방화벽에서 해당 포트를 허용했는가?
- 공유기 포트포워딩 대상 IP가 현재 서버 IP와 같은가?
- 프로토콜 TCP/UDP를 맞게 설정했는가?
- 이중 공유기 또는 CGNAT 환경은 아닌가?
- 외부 네트워크에서 테스트했는가?
- 서버 로그에 접속 시도 흔적이 남는가?
자주 묻는 질문
Q. 테라리아 서버는 켜져 있는데 친구가 못 들어옵니다.
A. 서버가 7777 같은 예상 포트가 아니라 다른 포트로 떠 있을 수 있습니다. 먼저 리슨 포트를 확인하고, 그 포트 기준으로 방화벽과 포트포워딩을 다시 맞춰보세요.
Q. ARK 서버가 목록에 안 보입니다.
A. 게임 포트만 열고 쿼리 포트를 빼먹는 경우가 있습니다. 서버 실행 옵션과 문서를 같이 보고 필요한 포트를 모두 열었는지 확인해보세요.
Q. 포트 개방 사이트에서는 닫힘인데, 뭘 봐야 하나요?
A. 서버 프로세스가 해당 포트에서 대기 중인지, 방화벽이 막고 있지 않은지, 그리고 외부 테스트가 정확한 네트워크에서 이루어졌는지 순서대로 보셔야 합니다.
결국 게임 서버 접속 오류는 복잡해 보여도 흐름은 같습니다. 서버 실행 → OS 방화벽 → 공유기 포트포워딩 → 외부 테스트. 이 순서만 지켜도 원인을 훨씬 빨리 찾습니다. 다음 글에서는 홈랩 기준으로 WireGuard VPN이나 리버스 프록시(reverse proxy, 요청을 대신 받아 내부 서비스로 넘기는 구성) 같은 대안 접근도 다뤄볼 예정입니다. 이전 글에서 다룬 홈서버 네트워크 기본편과 함께 보시면 이해가 더 빨라집니다.
마지막 점검용 요약 이미지입니다. 실제 장애 대응 때는 이런 체크리스트 한 장이 제일 도움이 됩니다.
'Tech & Hobby > Game' 카테고리의 다른 글
| [Game] 에픽 무료게임 1년 수령 후기: 실제 가치와 숨겨진 비용 분석 (1) | 2026.07.31 |
|---|---|
| [Game] RPCS3 vs RetroArch: PS3 에뮬레이션, 어떤 선택이 최적일까? (0) | 2026.07.31 |
| [Game] PS Plus 후기, 1년 써보며 찾은 활용 전략 | 플레이스테이션 구독 가이드 (0) | 2026.07.28 |
| [게임] DLSS와 XeSS, 2년 간의 발전과 게임 체감 성능 회고 (0) | 2026.07.23 |
| [리눅스] Lutris vs Proton GE: 게임 런처 성능 비교 분석 (0) | 2026.07.19 |
| [Game] Proton DB 활용 가이드: 윈도우 게임을 리눅스에서 완벽하게 즐기는 방법 (0) | 2026.07.19 |