Trang chủHướng dẫnMở port trên VPS Windows và Linux, kiểm tra port đã mở chưa (thử đủ 4 trường hợp)
Mở port trên VPS Windows và Linux, kiểm tra port đã mở chưa (thử đủ 4 trường hợp)

Mở port trên VPS Windows và Linux, kiểm tra port đã mở chưa (thử đủ 4 trường hợp)

Hướng dẫn CloudNest Team 01 tháng 11, 2026 8 lượt xem

Cài xong game server, website hay phần mềm trên VPS mà bên ngoài không vào được — 9 trên 10 lần là chuyện cổng (port). Muốn một cổng "mở" thật sự, phải đủ hai điều kiện: có chương trình đang nghe ở cổng đó, và tường lửa cho phép đi vào. Bài này thử thật đủ 4 tổ hợp trên VPS Windows và Linux ngày 01/11/2026, đo xem mỗi trường hợp máy bên ngoài thấy gì — để bạn nhìn kết quả là biết sai ở đâu.

CỔNG 8080 · MÁY BÊN NGOÀI THẤY GÌ · ĐO THẬTWindows Server 2022 · Ubuntu 24.04
Có chương trình + tường lửa mở
Kết nối được
Windows: vài giây · Linux: 0,12 giây
Có chương trình + tường lửa chặn
Chờ rồi hết giờ
Windows 30,7 giây · Linux 21,1 giây
Không chương trình + tường lửa không chặn
Linux: bị từ chối ngay
Windows lại im lặng tới hết giờ (29,6 giây)
Không chương trình + tường lửa chặn
Chờ rồi hết giờ
Windows 36,1 giây

1. Hai điều kiện để một cổng "mở"

① Có chương trình đang nghe
Game server, web server, phần mềm phải đang chạy và "nghe" ở đúng cổng, trên mọi địa chỉ (0.0.0.0) — không chỉ 127.0.0.1. Kiểm tra ngay trong VPS.
② Tường lửa cho phép
Windows Firewall (Windows) hoặc ufw (Linux) phải có luật cho cổng đó đi vào. Windows Server mặc định chặn mọi cổng chưa có luật.

Chỉ mở tường lửa mà chương trình chưa chạy — vẫn không vào được. Chương trình chạy mà quên tường lửa — cũng không. Kiểm tra theo đúng thứ tự: trong VPS trước (điều kiện ①), rồi mới từ máy bên ngoài.

2. Kiểm tra cổng từ máy của bạn

Trên máy Windows của bạn, mở PowerShell (không cần quyền quản trị):

PowerShell trên máy của bạn
Test-NetConnection IP-cua-VPS -Port 8080

ComputerName     : IP-cua-VPS
RemotePort       : 8080
PingSucceeded    : False        ← bình thường: VPS Windows mặc định không trả lời ping
TcpTestSucceeded : True         ← cổng mở, kết nối được

Chỉ cần nhìn dòng TcpTestSucceeded. PingSucceeded : False không có nghĩa là VPS chết — Windows mặc định chặn ping (xem bài đo ping). Để biết lệnh chạy đúng, thử với cổng Remote Desktop 3389 trước: lần đo này trả True sau 0,5 giây.

3. Mở cổng trên VPS Windows

Bước 1 — kiểm tra chương trình đã nghe chưa (PowerShell trong VPS):

PowerShell trong VPS
netstat -ano | findstr ":8080"
  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       4832
# 0.0.0.0 = nghe trên mọi địa chỉ (đúng). 127.0.0.1:8080 = chỉ trong máy, bên ngoài không vào được
# 4832 là mã tiến trình: Get-Process -Id 4832 để biết chương trình nào

Bước 2 — mở cổng trong tường lửa, PowerShell bằng quyền Administrator:

PowerShell (Administrator) trong VPS
New-NetFirewallRule -DisplayName "Mo cong 8080" -Direction Inbound -Protocol TCP -LocalPort 8080 -Action Allow
# game dùng UDP: thêm một luật nữa với -Protocol UDP
# nhiều cổng: -LocalPort 8080,8443 hoặc dải -LocalPort 7000-7010
# đóng lại: Remove-NetFirewallRule -DisplayName "Mo cong 8080"
Kết quả New-NetFirewallRule: DisplayName Mo cong 8080, Enabled True, Direction Inbound, Action Allow
Luật đã tạo: Enabled True, Inbound, Allow.

Thích bấm chuột: Win + R → wf.msc → Inbound Rules → New Rule… → Port → TCP, gõ số cổng → Allow the connection → giữ cả 3 ô Domain/Private/Public → đặt tên → Finish.

Đo thật trên VPS Windows — kiểm từ máy ở TP.HCM
Chưa có chương trình, tường lửa mặc địnhFalse sau 36,1 giây
Có chương trình nghe 8080, tường lửa mặc địnhFalse sau 30,7 giây
Có chương trình + luật "Mo cong 8080"True — đọc được "Xin chao tu cong 8080"
Có luật, tắt chương trìnhFalse sau 29,6 giây (không báo từ chối)
Điểm khác biệt quan trọng: trên Windows, cổng không có chương trình nghe cũng chỉ "im lặng" tới hết giờ — giống hệt cổng bị tường lửa chặn. Nên từ bên ngoài không phân biệt được hai lỗi; phải vào VPS chạy netstat (bước 1) mới biết.

4. Mở cổng trên VPS Linux (ufw)

trong VPS Ubuntu / Debian
ss -ltnp | grep 8080                       # bước 1: có chương trình nghe chưa
LISTEN 0  5   0.0.0.0:8080  0.0.0.0:*  users:(("python3",pid=4837,fd=3))
ufw status                                 # tường lửa có đang bật không
Status: active
ufw allow 8080/tcp                         # bước 2: mở cổng (UDP: 8080/udp)
Rule added
Rule added (v6)
ufw status numbered                        # xem lại; xoá: ufw delete allow 8080/tcp
Đo thật trên VPS Ubuntu — kiểm từ máy ở TP.HCM
ufw tắt, chưa có chương trìnhTừ chối ngay ("actively refused")
ufw tắt, có chương trìnhKết nối được sau 0,11 giây
ufw bật, chưa mở 8080Hết giờ sau 21,1 giây
ufw bật + ufw allow 8080/tcpKết nối được sau 0,12 giây
Bật ufw lần đầu? Luôn mở cổng SSH trước (ufw allow OpenSSH, hoặc số cổng SSH bạn đã đổi) rồi mới ufw enable — không thì tự khoá mình ngoài VPS. Đang chạy website thì mở thêm ufw allow "Nginx Full" (80 + 443).

5. Đọc kết quả: sai ở đâu?

Kết nối được
Cổng mở. Phần mềm vẫn không chạy thì lỗi nằm ở phần mềm (sai cấu hình, sai phiên bản), không phải cổng.
Bị từ chối ngay (refused)
Có đường tới máy nhưng không chương trình nào nghe cổng đó: chương trình chưa chạy, nghe sai cổng, hoặc chỉ nghe 127.0.0.1. (Thường gặp trên Linux.)
Chờ rồi hết giờ (timeout)
Tường lửa đang chặn — hoặc trên Windows, chưa có chương trình nghe. Vào VPS chạy netstat / ss trước, rồi kiểm tra luật tường lửa.

Vẫn chưa vào được dù trong VPS mọi thứ đúng: kiểm tra nhà cung cấp có tường lửa / nhóm bảo mật riêng ở trang quản trị không, và mạng nơi bạn đang ngồi (công ty, trường học) có chặn cổng lạ không — thử bằng mạng 4G.

6. Câu hỏi thường gặp

Kiểm tra cổng UDP thế nào?

Test-NetConnection và các trang "kiểm tra cổng" chỉ thử TCP. Cổng UDP (nhiều game, VPN) không có bắt tay nên không kiểm được kiểu này — mở luật tường lửa với -Protocol UDP / ufw allow PORT/udp rồi thử bằng chính phần mềm cần dùng.

Có nên tắt hẳn tường lửa cho nhanh?

Không. Tắt tường lửa là mở mọi cổng của mọi dịch vụ trong máy — kể cả những dịch vụ bạn không biết đang chạy. Chỉ mở đúng cổng cần dùng.

Mở cổng Remote Desktop / SSH sang số khác?

Đổi cổng là chuyện khác với mở cổng: dịch vụ phải nghe ở cổng mới và tường lửa phải mở cổng mới cùng lúc. Xem cách đổi cổng RDP / SSH.

Chương trình chỉ nghe 127.0.0.1 thì sửa sao?

Tìm trong cấu hình của phần mềm mục bind / listen / host và đổi thành 0.0.0.0 (hoặc IP của VPS), rồi khởi động lại phần mềm. Kiểm tra lại bằng netstat / ss.

Mở cổng xong có cần khởi động lại VPS?

Không. Luật tường lửa có hiệu lực ngay — lần đo này kết nối được ngay lần thử đầu tiên sau khi thêm luật.

VPS IPv4 riêng, mở cổng tuỳ ý
Chạy game server, website, API trên VPS Windows hoặc Linux tại Việt Nam.
ZaloGọi ngayTelegram