Whitelist IP cho VPS, API và database bằng ip.tnd.vn

Chia sẻ bài viết

Mục lục
Whitelist IP cho VPS, API và database bằng ip.tnd.vn
Whitelist IP cho VPS, API, database bằng ip.tnd.vn
Lấy đúng IP cần mở cổng trước khi thêm vào firewall, đỡ tự khóa mình ra ngoài.

Whitelist IP là cách đơn giản và hiệu quả để khóa truy cập SSH, database, hay API key chỉ cho đúng máy của bạn. Nhưng sai lầm kinh điển là thêm nhầm IP rồi tự khóa chính mình ra ngoài. ip.tnd.vn giúp bạn lấy chính xác IP công khai đang dùng trước khi viết rule firewall. Bài này đi qua các tình huống whitelist phổ biến.

Bước 0: Luôn lấy IP của bạn trước

curl -s https://ip.tnd.vn
# -> 14.167.77.227   (đây là IP bạn cần whitelist)

Đây là IP mà server thấy, đúng cái cần đưa vào rule. Đừng đoán, đừng lấy IP trong panel router (thường là IP nội bộ).

Whitelist SSH bằng UFW

MY_IP=$(curl -s https://ip.tnd.vn)
sudo ufw allow from "$MY_IP" to any port 22 proto tcp
sudo ufw status numbered

Mở cổng 22 chỉ cho IP hiện tại. Kiểm tra lại bằng ufw status trước khi bật ufw enable để chắc chắn không tự khóa.

Whitelist bằng iptables

MY_IP=$(curl -s https://ip.tnd.vn)
sudo iptables -A INPUT -p tcp --dport 22 -s "$MY_IP" -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

Whitelist PostgreSQL (pg_hba.conf)

MY_IP=$(curl -s https://ip.tnd.vn)
echo "host  all  all  ${MY_IP}/32  scram-sha-256" | sudo tee -a /etc/postgresql/*/main/pg_hba.conf
sudo systemctl reload postgresql

Dải /32 nghĩa là đúng một IP. An toàn hơn nhiều so với mở 0.0.0.0/0.

Whitelist trên Cloud Firewall / Security Group

Với panel của nhà cung cấp (TND, AWS, GCP...) bạn cũng làm tương tự: lấy IP bằng ip.tnd.vn rồi dán vào ô source, chọn dải /32. Với database cloud (MongoDB Atlas, Supabase, PlanetScale), mục Network Access cũng cần đúng IP này.

Tự động cập nhật khi IP nhà thay đổi

IP nhà mạng dân dụng thường động. Script nhỏ sau cập nhật lại rule UFW khi IP đổi:

#!/usr/bin/env bash
NEW_IP=$(curl -s https://ip.tnd.vn)
OLD_IP=$(cat /tmp/last_ip 2>/dev/null)
if [ "$NEW_IP" != "$OLD_IP" ]; then
  [ -n "$OLD_IP" ] && sudo ufw delete allow from "$OLD_IP" to any port 22
  sudo ufw allow from "$NEW_IP" to any port 22 proto tcp
  echo "$NEW_IP" > /tmp/last_ip
fi

Checklist tránh tự khóa

  • Luôn giữ một phiên SSH đang mở khi sửa firewall, để rollback nếu rule sai.
  • Verify IP bằng ip.tnd.vn ngay trước khi thêm rule, đừng dùng IP cũ trong note.
  • Dùng /32 cho chính xác, tránh mở dải rộng không cần thiết.
  • Nếu IP nhà động, cân nhắc dùng VPS làm bastion với IP tĩnh để whitelist một lần.

VPS IP tĩnh sạch để làm bastion

Một Cloud VPS TND với IP tĩnh sạch giúp bạn whitelist một lần duy nhất, không phải chạy theo IP nhà mạng động. SSD NVMe, đặt tại Việt Nam, từ 199k/tháng, dựng trong vài phút.

Xem Cloud VPS Xem Proxy IPv4

Tham gia nhóm Vibe Coder Việt Nam

Bạn đang code cùng Claude, Codex, Gemini, Cursor hay Windsurf? Vào nhóm Facebook để trao đổi tip, debug giúp nhau, chia sẻ workflow vibe coding, và update tool mới mỗi tuần. Cộng đồng dev tự host stack đang grow nhanh tại Việt Nam.

Join nhóm trên Facebook

Hạ tầng cho dev: truy vấn SQL, PHP dựng trang, build Next.js hay đóng gói app iOS và Android đều nghẽn ở tốc độ đọc ghi ổ đĩa và xung nhịp CPU. VPS Enterprise U.2 NVMe, chip Intel Xeon Platinum xung cao dùng ổ Enterprise U.2 NVMe chạy RAID 10, IOPS đọc ghi gấp 5 đến 7 lần SATA SSD, backup hàng tuần, bàn giao trong 5 phút.