---
title: "📖 Hướng dẫn đầy đủ: Chặn truy cập theo quốc gia bằng CSF trên DirectAdmin (sử dụng DB-IP)"
description: "Bạn đã có DirectAdmin và CSF cài sẵn. Để chặn truy cập theo quốc gia, ta cần GeoIP database và cấu hình trong CSF. Bài này sẽ hướng dẫn chi tiết, kèm theo"
featured_image: "https://legiang360.com/wp-content/uploads/2026/01/CSF.png"
url: "https://legiang360.com/%f0%9f%93%96-huong-dan-day-du-chan-truy-cap-theo-quoc-gia-bang-csf-tren-directadmin-su-dung-db-ip/"
date_modified: "2026-01-24T16:04:10+07:00"
---

# 📖 Hướng dẫn đầy đủ: Chặn truy cập theo quốc gia bằng CSF trên DirectAdmin (sử dụng DB-IP)

![CSF](https://legiang360.com/wp-content/uploads/2026/01/CSF.png)

# 📖 Hướng dẫn đầy đủ: Chặn truy cập theo quốc gia bằng CSF trên DirectAdmin (sử dụng DB-IP)

- [sieunhim](https://legiang360.com/author/sieunhim/)
- 21.01.2026
- [Tút](https://legiang360.com/category/vps/tut/)

Bạn đã có DirectAdmin và CSF cài sẵn. Để chặn truy cập theo quốc gia, ta cần **GeoIP database** và cấu hình trong CSF. Bài này sẽ hướng dẫn chi tiết, kèm theo script `.sh` để cronjob tự động tải file DB-IP về đúng thư mục.

![CSF](https://legiang360.com/wp-content/uploads/2026/01/CSF-1.png)

---

## 🌍 1. Chuẩn bị GeoIP Database (DB-IP)

CSF mặc định hỗ trợ MaxMind, nhưng bạn có thể dùng **DB-IP Country Lite** miễn phí. DB-IP phát hành file hàng tháng theo định dạng:

```
https://download.db-ip.com/free/dbip-country-lite-YYYY-MM.csv.gz
```

```
https://download.db-ip.com/free/dbip-country-lite-YYYY-MM.csv.gz
```

Ví dụ: tháng 01/2026 → `dbip-country-lite-2026-01.csv.gz`.

---

## 🛠 2. Script `.sh` tự động tải và cập nhật DB-IP

Tạo file `/usr/local/bin/update-csf-geoip.sh`:

```
#!/bin/bash
# update-csf-geoip.sh
# Script tải DB-IP Country Lite CSV hàng tháng và cập nhật cho CSF

YEAR=$(date +%Y)
MONTH=$(date +%m)

URL="https://download.db-ip.com/free/dbip-country-lite-${YEAR}-${MONTH}.csv.gz"
DEST="/var/lib/csf/Geo/dbip-country-lite.csv.gz"

# Tải file DB-IP
wget -O "$DEST" "$URL"

# Giải nén thành CSV
gunzip -f "$DEST"

# Reload CSF để áp dụng dữ liệu mới
csf -r
```

```
#!/bin/bash
# update-csf-geoip.sh
# Script tải DB-IP Country Lite CSV hàng tháng và cập nhật cho CSF

YEAR=$(date +%Y)
MONTH=$(date +%m)

URL="https://download.db-ip.com/free/dbip-country-lite-${YEAR}-${MONTH}.csv.gz"
DEST="/var/lib/csf/Geo/dbip-country-lite.csv.gz"

# Tải file DB-IP
wget -O "$DEST" "$URL"

# Giải nén thành CSV
gunzip -f "$DEST"

# Reload CSF để áp dụng dữ liệu mới
csf -r
```

### Thiết lập quyền chạy:

```
chmod +x /usr/local/bin/update-csf-geoip.sh
```

```
chmod +x /usr/local/bin/update-csf-geoip.sh
```

### Cronjob tự động (ví dụ chạy ngày 1 hàng tháng lúc 3h sáng):

```
crontab -e
```

```
crontab -e
```

Thêm dòng:

```
0 3 1 * * /usr/local/bin/update-csf-geoip.sh > /dev/null 2>&1
```

```
0 3 1 * * /usr/local/bin/update-csf-geoip.sh > /dev/null 2>&1
```

---

## 🔧 3. Cấu hình trong `csf.conf`

Mở file cấu hình:

```
nano /etc/csf/csf.conf
```

```
nano /etc/csf/csf.conf
```

Chỉnh các tham số:

```
# Bật ipset để dùng GeoIP
LF_IPSET = "1"

# Thư mục chứa GeoIP database
GEOIP_DB = "/var/lib/csf/Geo/"

# Chặn quốc gia (ISO code 2 chữ cái)
CC_DENY = "CN,RU,IR"

# Cho phép quốc gia (nếu muốn whitelist)
# CC_ALLOW = "VN,US"

# Chặn quốc gia theo port (tùy chọn)
# CC_DENY_PORTS = "CN:22,25"

# Cho phép quốc gia theo port (tùy chọn)
# CC_ALLOW_PORTS = "US:22,80,443"

# Tắt chế độ test
TESTING = "0"
```

```
# Bật ipset để dùng GeoIP
LF_IPSET = "1"

# Thư mục chứa GeoIP database
GEOIP_DB = "/var/lib/csf/Geo/"

# Chặn quốc gia (ISO code 2 chữ cái)
CC_DENY = "CN,RU,IR"

# Cho phép quốc gia (nếu muốn whitelist)
# CC_ALLOW = "VN,US"

# Chặn quốc gia theo port (tùy chọn)
# CC_DENY_PORTS = "CN:22,25"

# Cho phép quốc gia theo port (tùy chọn)
# CC_ALLOW_PORTS = "US:22,80,443"

# Tắt chế độ test
TESTING = "0"
```

---

## 🚀 4. Reload CSF

Sau khi chỉnh cấu hình:

```
csf -r
```

```
csf -r
```

---

## 📊 5. Kiểm tra hoạt động

- Xem danh sách ipset: `ipset list` → sẽ thấy các chain `cc_cn`, `cc_ru`, … có entries (IP range theo quốc gia).
- Kiểm tra log: `tail -f /var/log/lfd.log` → xác nhận CSF đã load GeoIP thành công.

---

## ⚠️ Lưu ý

- DB-IP CSV có dạng `ip_start,ip_end,country_code`. CSF cần CIDR, nên phải dùng script `csfgeoip` (có sẵn trong `/usr/local/csf/bin/`) để convert.
- Nếu chain quốc gia vẫn trống, hãy chạy: `/usr/local/csf/bin/csfgeoip`
- Chặn theo quốc gia có thể ảnh hưởng người dùng hợp pháp. Nên cân nhắc dùng **CC_DENY_PORTS** thay vì chặn toàn bộ.

---

✅ Tóm lại:

- Tạo script `.sh` để cronjob tải DB-IP về `/var/lib/csf/Geo/`.
- Cấu hình `csf.conf` với `LF_IPSET`, `CC_DENY/CC_ALLOW`.
- Reload CSF và kiểm tra ipset.

4.4/5 - (10 bình chọn)

#### Bài viết liên quan

[!\[\](https://legiang360.com/wp-content/uploads/2026/07/wazuh-768x432.jpg)](https://legiang360.com/cai-dat-wazuh-server-tren-almalinux-9/)

#### [Cài đặt wazuh server trên Almalinux 9](https://legiang360.com/cai-dat-wazuh-server-tren-almalinux-9/)

[!\[Adguard\](https://legiang360.com/wp-content/uploads/2025/06/adguard-768x432.webp)](https://legiang360.com/cu-phap-viet-lai-adguard-home-dns/)

#### [Cú pháp viết lại AdGuard Home DNS](https://legiang360.com/cu-phap-viet-lai-adguard-home-dns/)

[!\[Image\](https://legiang360.com/wp-content/uploads/2026/01/image-1-768x403.png)](https://legiang360.com/cai-dat-monarx-trinh-bao-mat-vps-mien-phi/)

#### [Cài đặt Monarx – Trình bảo mật VPS miễn phí](https://legiang360.com/cai-dat-monarx-trinh-bao-mat-vps-mien-phi/)

[!\[Good website security plan\](https://legiang360.com/wp-content/uploads/2026/01/good-website-security-plan.jpg)](https://legiang360.com/mot-so-lenh-co-ban-kiem-tra-server-khi-bi-ddos/)

#### [Một số lệnh cơ bản kiểm tra server khi bị DDoS](https://legiang360.com/mot-so-lenh-co-ban-kiem-tra-server-khi-bi-ddos/)

[!\[Setup caddy web server on ubuntu zlj795\](https://legiang360.com/wp-content/uploads/2025/12/setup-caddy-web-server-on-ubuntu_zlj795-768x384.jpg)](https://legiang360.com/cai-dat-wordpress-bang-web-server-caddy-giai-phap-hien-dai-thay-the-nginx/)

#### [Cài đặt WordPress bằng web server Caddy – Giải pháp hiện đại thay thế Nginx](https://legiang360.com/cai-dat-wordpress-bang-web-server-caddy-giai-phap-hien-dai-thay-the-nginx/)

[!\[Test vps\](https://legiang360.com/wp-content/uploads/2025/11/test-vps.webp)](https://legiang360.com/huong-dan-kiem-tra-thong-so-vps-va-test-hieu-nang-o-cung/)

#### [Hướng Dẫn Kiểm Tra Thông Số VPS và Test Hiệu Năng Ổ Cứng](https://legiang360.com/huong-dan-kiem-tra-thong-so-vps-va-test-hieu-nang-o-cung/)

![](https://legiang360.com/wp-content/uploads/2026/05/photo_2026-05-27_01-59-38-630x630.jpg)
