Mở port là cho phép kết nối qua firewall; dịch vụ vẫn cần chạy và lắng nghe đúng cổng. Ví dụ dưới đây áp dụng cho kết nối đi vào VPS.
SSH thường dùng 22, web 80/443, RDP 3389. Cổng thực tế có thể khác. Giữ phiên quản trị hiện tại và có console khôi phục trước khi thay đổi; không đóng cổng SSH/RDP đang dùng.
Chọn đúng firewall đang quản lý máy. Không bật đồng thời UFW và firewalld, hoặc thêm rule iptables thủ công vào hệ thống đã do công cụ khác quản lý.
Kiểm tra trạng thái:
sudo ufw status verbose

Nếu UFW chưa bật, chỉ bật sau khi cho phép cổng SSH thực tế. Ví dụ SSH dùng 22:
sudo ufw allow 22/tcp
sudo ufw enable
Mở HTTP và HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw status numbered

Gỡ quyền mở TCP 80 vừa tạo:
sudo ufw delete allow 80/tcp
sudo ufw status numbered
Chỉ xóa rule khớp lệnh tạo. Nếu có rule rộng như 80, 80,443/tcp hoặc profile ứng dụng, phải rà soát cả các rule đó và IPv6. Với chính sách incoming mặc định deny, port chỉ bị chặn khi không còn rule cho phép phù hợp. Không xóa theo số thứ tự trong ảnh: số thay đổi sau mỗi lần xóa.
Thay số port và tcp bằng udp nếu dịch vụ cần UDP.
Phần này dùng khi firewalld đã hoạt động. Kiểm tra dịch vụ và zone gắn với giao diện mạng:
sudo systemctl status firewalld --no-pager
sudo firewall-cmd --get-active-zones

Ví dụ giao diện Internet thuộc zone public; thay bằng zone thực tế của bạn. Mở TCP 8080 ở cả cấu hình lưu lâu dài và đang chạy:
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --zone=public --add-port=8080/tcp
sudo firewall-cmd --zone=public --list-all

Ảnh dùng cách lưu permanent rồi reload. Các lệnh trên cập nhật riêng runtime và permanent, tránh nạp lại toàn bộ firewall.
Gỡ quyền mở TCP 8080:
sudo firewall-cmd --permanent --zone=public --remove-port=8080/tcp
sudo firewall-cmd --zone=public --remove-port=8080/tcp
sudo firewall-cmd --zone=public --list-all

Ảnh chỉ minh họa danh sách trước khi gỡ. Xem cả services, ports, rich rules và target của zone: xóa một port chưa bảo đảm chặn nếu dịch vụ hoặc rule khác vẫn cho phép. Ví dụ TCP 80 có thể được mở qua service http. Nếu firewalld chưa chạy, chuẩn bị rule SSH qua console trước khi kích hoạt.
Trong VPS, nhấn Windows + R, nhập wf.msc. Chọn Inbound Rules → New Rule….

Chọn Port → Next.

Chọn TCP hoặc UDP, nhập cổng tại Specific local ports. Ví dụ: 8080.

Chọn Allow the connection → Next.

Chọn các network profile cần áp dụng, bảo đảm có profile đang hoạt động. Đặt tên dễ nhận biết, ví dụ TimeCloud TCP 8080, rồi Finish.

Trong Inbound Rules, tìm đúng rule vừa tạo, nhấp phải chọn Disable Rule để tạm vô hiệu hóa hoặc Delete để xóa.

Nếu rule khác vẫn cho phép cùng port, kết nối có thể tiếp tục được nhận. Để chặn rõ ràng, tạo rule Port mới với cùng giao thức và cổng, chọn Block the connection. Rule block thông thường được ưu tiên hơn rule allow xung đột; muốn mở lại phải tắt hoặc gỡ rule block đó.
Mở Command Prompt → Run as administrator. Ví dụ tạo rule mở TCP 8080:
netsh advfirewall firewall add rule name="TimeCloud Allow TCP 8080" dir=in action=allow protocol=TCP localport=8080
Gỡ đúng rule vừa tạo:
netsh advfirewall firewall delete rule name="TimeCloud Allow TCP 8080" dir=in protocol=TCP localport=8080
Nếu cần chặn TCP 8080:
netsh advfirewall firewall add rule name="TimeCloud Block TCP 8080" dir=in action=block protocol=TCP localport=8080
Muốn bỏ chặn:
netsh advfirewall firewall delete rule name="TimeCloud Block TCP 8080" dir=in protocol=TCP localport=8080
Trên Linux, xem dịch vụ đang lắng nghe:
sudo ss -lntup
Trên Windows, chạy PowerShell để xem TCP listener:
Get-NetTCPConnection -State Listen -LocalPort 8080
Từ máy Windows khác ngoài VPS, chạy PowerShell, thay IP_VPS bằng IP thật và dùng port thực tế:
Test-NetConnection -ComputerName IP_VPS -Port 8080
TcpTestSucceeded: True cho biết kết nối TCP thành công. Nếu False, kiểm tra dịch vụ, IP, giao thức, firewall của hệ điều hành và firewall/security group của nhà cung cấp. Dịch vụ chỉ bind 127.0.0.1 không nhận kết nối trực tiếp từ Internet. Với VPS NAT, cần ánh xạ port tương ứng. Phép thử trên không kiểm tra UDP.
Đóng port ở firewall không dừng ứng dụng. Kiểm tra bằng kết nối mới sau mỗi thay đổi; chỉ mở những port cần cho dịch vụ.