포트가 뭐예요? 자주 쓰는 포트 정리
서버 IP가 "건물 주소"라면, 포트는 "호수"입니다. 같은 서버 안에서도 웹사이트는 443번, 마인크래프트는 25565번처럼 프로그램마다 다른 포트로 접속을 받습니다. 외부에서 접속이 안 될 때는 대부분 이 포트가 막혀 있거나, 프로그램이 그 포트에서 기다리고 있지 않은 경우입니다.
자주 쓰는 포트
| 포트 | 용도 | 외부에 열기 |
|---|---|---|
| 22 (TCP) | Linux 서버 SSH 접속 | 열림 (기본) |
| 3389 (TCP) | Windows 원격 데스크톱 | 열림 (기본) |
| 80 (TCP) | 웹사이트 (HTTP) | 웹사이트를 운영할 때 |
| 443 (TCP) | 웹사이트 (HTTPS) | 웹사이트를 운영할 때 |
| 25565 (TCP) | 마인크래프트 Java 에디션 | 마인크래프트 서버를 열 때 |
| 19132 (UDP) | 마인크래프트 베드락 에디션 | 베드락 서버를 열 때 |
| 3306 (TCP) | MySQL / MariaDB | 열지 마세요 |
| 5432 (TCP) | PostgreSQL | 열지 마세요 |
| 6379 (TCP) | Redis | 열지 마세요 |
| 3000, 8000 등 | 내가 만든 앱 | 보통은 열지 않고 Nginx 뒤에 둡니다 |
디스코드 봇은 외부에서 접속받는 프로그램이 아니라서 포트를 열 필요가 없습니다.
DB 포트를 열면 안 되는 이유는 데이터베이스 설치하기를, 앱을 Nginx 뒤에 두는 방법은 내가 만든 웹 앱 서버에 올리기를 참고하세요.
TCP와 UDP
포트 번호가 같아도 TCP와 UDP는 따로 열어야 합니다. 프로그램 설명서에 적힌 대로 맞춰 여세요. 예를 들어 베드락 서버는 UDP라서 19132/tcp를 열면 접속되지 않습니다.
포트 여는 법
방화벽 포트 열기를 참고하세요. Linux(ufw) 예시는 이렇습니다.
sudo ufw allow 25565/tcp
sudo ufw allow 19132/udp
프로그램이 포트를 잘 열고 기다리는지 확인
방화벽을 열었는데도 접속이 안 된다면, 프로그램이 정말 그 포트에서 기다리고 있는지 서버 안에서 확인합니다.
sudo ss -tulpn
Local Address 열에서 포트 번호를 찾습니다.
0.0.0.0:25565또는*:25565— 외부 접속을 받을 수 있는 상태입니다.127.0.0.1:25565— 서버 안에서만 접속을 받는 상태입니다. 프로그램 설정에서 접속 주소를 바꿔야 외부에서 들어올 수 있습니다.- 목록에 없다 — 프로그램이 꺼져 있거나 다른 포트를 쓰고 있습니다.
내 PC에서 포트가 열렸는지 확인 (Windows)
내 PC의 PowerShell에서 실행합니다. (TCP 포트만 확인할 수 있습니다)
Test-NetConnection 서버IP -Port 25565
TcpTestSucceeded : True가 나오면 외부에서 그 포트로 접속이 됩니다.