

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 numberedMở 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 DROPWhitelist 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 postgresqlDả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
fiChecklist 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.
Loạt bài hướng dẫn ip.tnd.vn
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 IPv4Tham 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 FacebookHạ 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.



