> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/learn-the-platform/vi/module-4-networking/04-firewall-nat-vlans.md).

# Quy tắc tường lửa, NAT & VLAN

## Tổng quan về Quy tắc Mạng

**Quy tắc mạng** là cơ chế điều khiển trung tâm cho mọi lưu lượng đi qua một mạng VergeOS. Chúng thay thế chức năng vốn thường do các tường lửa, bộ định tuyến và bộ chuyển mạch riêng lẻ cung cấp — tất cả được quản lý từ một danh sách quy tắc duy nhất trên mỗi mạng.

Mọi mạng bên ngoài, mạng nội bộ và mạng VPN trong VergeOS đều có bộ quy tắc riêng. Quy tắc xác định lưu lượng nào được phép, bị chặn, được dịch hoặc được định tuyến. Vì các mạng nội bộ **an toàn mặc định** (không có lưu lượng nào đi qua cho đến khi quy tắc cho phép), việc hiểu các quy tắc là điều thiết yếu để xây dựng các cấu trúc mạng chức năng và an toàn.

Có thể truy cập Quy tắc từ bảng điều khiển của bất kỳ mạng nào bằng cách nhấp **Quy tắc** trong menu bên trái.

## Các loại Quy tắc

VergeOS hỗ trợ ba hành động quy tắc, mỗi hành động phục vụ một mục đích riêng biệt:

### Quy tắc Tường lửa (Chấp nhận / Loại bỏ / Từ chối)

Quy tắc tường lửa kiểm soát những gói tin nào được phép đi qua mạng:

| Hành động     | Hành vi                                                                         |
| ------------- | ------------------------------------------------------------------------------- |
| **Chấp nhận** | Cho phép các gói tin khớp với tiêu chí đã định đi qua                           |
| **Loại bỏ**   | Lặng lẽ loại bỏ các gói tin khớp — bên gửi không nhận được phản hồi             |
| **Từ chối**   | Loại bỏ các gói tin khớp và gửi ICMP "đích không thể đến" về nguồn (nếu có thể) |

Sử dụng **Chấp nhận** quy tắc để cho phép rõ ràng lưu lượng nên được phép. Sử dụng **Loại bỏ** cho hầu hết các tình huống chặn (loại bỏ im lặng giúp ngăn do thám). Sử dụng **Từ chối** khi bạn muốn bên gửi biết ngay rằng kết nối đã bị từ chối.

### Quy tắc NAT/PAT (Dịch)

**Dịch** quy tắc cung cấp Dịch địa chỉ mạng (NAT) và Dịch địa chỉ cổng (PAT). Các cách dùng phổ biến bao gồm:

* **SNAT (NAT nguồn)** — Ẩn các địa chỉ VM nội bộ sau một IP bên ngoài duy nhất để truy cập Internet đi ra
* **DNAT (NAT đích)** — Ánh xạ một IP/cổng bên ngoài tới IP/cổng của một VM nội bộ để truy cập dịch vụ từ bên ngoài (ví dụ: công bố một máy chủ web)
* **NAT 1:1** — Ánh xạ một IP bên ngoài đầy đủ tới một IP nội bộ đầy đủ (tất cả các cổng)
* **Chuyển tiếp cổng** — Dịch một cổng bên ngoài cụ thể sang một cổng nội bộ khác

Quy tắc NAT sử dụng **Dịch** hành động với **Vào** hướng cho DNAT và **Đi ra** hướng cho SNAT.

### Quy tắc Tuyến tĩnh (Định tuyến)

**Định tuyến** quy tắc xác định cách lưu lượng thoát khỏi một mạng. Cách dùng phổ biến nhất là quy tắc **cổng mặc định** gửi toàn bộ lưu lượng đi ra qua DMZ tới một mạng bên ngoài. Quy tắc định tuyến cũng có thể xác định các đường đi cụ thể cho giao tiếp giữa các mạng.

## Thứ tự Xử lý Quy tắc

Các quy tắc được xử lý **từ trên xuống dưới**. Quy tắc khớp đầu tiên sẽ thắng — khi một gói tin khớp với một quy tắc, không có quy tắc nào tiếp theo được đánh giá cho gói tin đó.

**Thứ tự rất quan trọng.** Hãy xem ví dụ này:

1. **Quy tắc NAT** — Dịch lưu lượng đến trên cổng 443 tới VM nội bộ `10.100.0.50:443`
2. **Quy tắc tường lửa** — Loại bỏ lưu lượng đến trên cổng 443

Nếu các quy tắc này bị đảo ngược (loại bỏ trước, rồi mới NAT), lưu lượng sẽ bị loại bỏ trước khi quy tắc NAT kịp thấy nó. Luôn đặt các quy tắc NAT/Dịch **ở trên** các quy tắc tường lửa liên quan khi chúng cần xử lý lưu lượng trước.

Để thay đổi thứ tự quy tắc, chọn một quy tắc từ danh sách quy tắc và dùng tùy chọn **Di chuyển** để sắp xếp lại vị trí của nó.

```mermaid
graph TD
    PKT["Gói tin đến"] --> R1["Quy tắc 1: Dịch<br/>Cổng 443 → 10.100.0.50"]
    R1 -->|"Khớp"| XLATE["Gói tin đã được dịch<br/>tới VM nội bộ"]
    R1 -->|"Không khớp"| R2["Quy tắc 2: Chấp nhận<br/>Cổng 22 từ Quản trị"]
    R2 -->|"Khớp"| ACCEPT["Gói tin được chấp nhận"]
    R2 -->|"Không khớp"| R3["Quy tắc 3: Loại bỏ<br/>Tất cả phần còn lại"]
    R3 --> DROP["Gói tin bị loại bỏ"]

    style PKT fill:#e3f2fd,stroke:#1565c0
    style XLATE fill:#e8f5e9,stroke:#2e7d32
    style ACCEPT fill:#e8f5e9,stroke:#2e7d32
    style DROP fill:#fce4ec,stroke:#c62828
```

## Các Tham số Quy tắc

Mỗi quy tắc được cấu hình với một bộ tham số nhất quán:

| Tham số       | Mô tả                                                                            |
| ------------- | -------------------------------------------------------------------------------- |
| **Tên**       | Nhãn mô tả để quản trị (ví dụ, `Cho phép HTTPS`, `SNAT tới WAN`)                 |
| **Hành động** | Chấp nhận, Loại bỏ, Từ chối, Định tuyến hoặc Dịch                                |
| **Giao thức** | TCP, UDP, ICMP hoặc BẤT KỲ                                                       |
| **Hướng**     | Vào hoặc Ra                                                                      |
| **Giao diện** | Giao diện cụ thể hoặc Bất kỳ                                                     |
| **Nguồn**     | Nơi lưu lượng phát sinh — xem Bộ chọn địa chỉ bên dưới                           |
| **Đích**      | Nơi lưu lượng được chỉ định để đi tới                                            |
| **Mục tiêu**  | Nơi thực sự điều hướng lưu lượng đến đâu (dùng với hành động Định tuyến và Dịch) |
| **Ghim**      | Tùy chọn ghim quy tắc lên Đầu hoặc Cuối danh sách quy tắc                        |

### Lọc cổng

Đối với giao thức TCP và UDP, bạn có thể chỉ định:

* Một **một cổng** dùng chung (ví dụ: `443`)
* Một **dải cổng** dùng chung (ví dụ: `8000-8999`)
* Nhiều cổng bằng các quy tắc riêng biệt

### Trạng thái Theo dõi Kết nối

Các quy tắc nâng cao có thể lọc theo trạng thái kết nối (Mới, Đã thiết lập, Liên quan, Không theo dõi) để kiểm tra gói tin theo trạng thái.

## Bộ chọn Địa chỉ

Tính năng **Nguồn**, **Đích**, và **Mục tiêu** các trường sử dụng bộ chọn địa chỉ — các tùy chọn linh hoạt để chỉ định lưu lượng đến từ đâu hoặc đi tới đâu:

| Bộ chọn                      | Mô tả                                                                        |
| ---------------------------- | ---------------------------------------------------------------------------- |
| **Bí danh**                  | Chọn một bí danh đã đặt tên (một nhóm IP/CIDR) được định nghĩa trên mạng này |
| **Bất kỳ/Không**             | Khớp với mọi địa chỉ — không áp dụng bộ lọc nào                              |
| **Tùy chỉnh**                | Nhập một IP, CIDR hoặc dải IP cụ thể (ví dụ, `192.168.1.50-192.168.1.100`)   |
| **Mặc định**                 | Trình hỗ trợ cho quy tắc định tuyến — xác định tuyến mặc định (0.0.0.0/0)    |
| **Các địa chỉ IP của tôi**   | Chọn một IP được định nghĩa trên mạng này (IP ảo, IP tĩnh, bí danh)          |
| **Địa chỉ mạng của tôi**     | Toàn bộ subnet của mạng này                                                  |
| **IP bộ định tuyến của tôi** | IP của bộ định tuyến mạng này (một địa chỉ duy nhất)                         |
| **Địa chỉ IP khác**          | Chọn một IP cụ thể từ một mạng khác                                          |
| **Địa chỉ mạng khác**        | Chọn toàn bộ subnet của mạng khác                                            |
| **IP bộ định tuyến khác**    | Chọn IP bộ định tuyến của một mạng khác                                      |
| **IP DMZ của mạng khác**     | Chọn IP phía DMZ của một mạng khác (dùng cho định tuyến giữa các mạng)       |

{% hint style="success" %}
Sử dụng **các bộ chọn trợ giúp** (IP của tôi, IP DMZ của mạng khác, v.v.) thay vì mã hóa cứng địa chỉ IP. Các bộ chọn trợ giúp tự động cập nhật nếu địa chỉ mạng thay đổi, và chúng cho phép các quy tắc hoạt động đúng khi được sao chép vào công thức hoặc mẫu tenant.
{% endhint %}

## Bí danh Mạng

**Bí danh** cho phép bạn nhóm nhiều địa chỉ IP hoặc các dải CIDR vào một tập hợp có tên, rồi tham chiếu tập hợp đó trong các quy tắc. Điều này giúp đơn giản hóa việc quản lý khi cùng một nhóm địa chỉ xuất hiện trong nhiều quy tắc.

Để tạo một bí danh:

1. Đi tới **Mạng → Bí danh → Mới**
2. Nhập một **Tên** dùng chung (ví dụ: `Máy-chủ-Web`, `Quản-trị-Viên-Tin-Cậy`)
3. Định nghĩa **Tập địa chỉ** — nhập IPs/CIDRs dưới dạng danh sách phân tách bằng dấu gạch dọc (ví dụ, `10.10.10.10|10.200.10.0/24`) hoặc thêm từng mục riêng lẻ
4. Đặt **Phạm vi xuất bản**: **Riêng tư** (chỉ đám mây này) hoặc **Toàn cục** (khả dụng cho tenant)
5. Nhấp **Gửi**

Khi tạo quy tắc, đặt Nguồn hoặc Đích **Loại** thành **Bí danh** và chọn bí danh mong muốn từ danh sách thả xuống.

{% hint style="warning" %}
Sau khi sửa một bí danh, bạn phải nhấp **Áp dụng quy tắc** trên mọi mạng sử dụng nó để các thay đổi có hiệu lực.
{% endhint %}

## Giới hạn Tốc độ (Giới hạn lưu lượng)

Các quy tắc riêng lẻ có thể có **giới hạn** được bật để giới hạn tốc độ lưu lượng. Khi tạo hoặc chỉnh sửa một quy tắc, hãy chọn **Bật Giới hạn** và cấu hình:

* **Tốc độ** — Giá trị số của tốc độ
* **Loại Tốc độ** — Các đơn vị như gói/giây, MB/ngày, byte/giờ, v.v.
* **Bùng nổ** — Phần cho phép bùng nổ vượt trên giới hạn tốc độ

Việc giới hạn tốc độ cũng có thể được áp dụng ở **cấp độ mạng** (trên bộ định tuyến của mạng) để điều tiết toàn bộ lưu lượng đi qua mạng, không chỉ các quy tắc cụ thể.

## Chẩn đoán Quy tắc

VergeOS cung cấp ba mức chẩn đoán ở cấp quy tắc:

### ô chọn Theo dõi Thống kê Quy tắc

Bật **ô chọn Theo dõi Thống kê Quy tắc** trên bất kỳ quy tắc nào để đếm số gói tin và byte được quy tắc đó xử lý. Có thể xem thống kê từ danh sách quy tắc, cho phép bạn thấy quy tắc nào đang xử lý lưu lượng thực sự và nhiều hay ít đến mức nào.

Để theo dõi trên toàn mạng, hãy bật `thống kê` cài đặt của mạng để tự động theo dõi mọi quy tắc (tham khảo giao diện hiện tại để biết nhãn chính xác).

### Theo dõi / Gỡ lỗi Quy tắc

Bật **Theo dõi/Gỡ lỗi Quy tắc** trên một quy tắc cụ thể để theo dõi tất cả các gói tin khớp với nó. Điều này cực kỳ hữu ích cho việc khắc phục sự cố — bạn có thể thấy chính xác gói tin nào đang chạm vào một quy tắc và liệu chúng được chấp nhận, bị loại bỏ hay được dịch.

### Kiểm tra Cấp thấp

Đối với chẩn đoán nâng cao, hãy kết nối vào console của mạng và chạy:

```bash
nft list ruleset
```

Điều này hiển thị toàn bộ **nftables** ruleset được VergeOS cấu hình, cho thấy các quy tắc thực sự ở cấp kernel đang có hiệu lực. Điều này hữu ích cho các kỹ sư hỗ trợ khi chẩn đoán các vấn đề tương tác quy tắc phức tạp.

## Tạo Quy tắc: Hướng dẫn từng bước

Ví dụ này tạo một bộ quy tắc phổ biến cho một mạng nội bộ cần truy cập Internet và một máy chủ web đi vào:

**Bước 1: Tuyến mặc định (truy cập Internet đi ra)**

1. Đi tới mạng nội bộ → **Quy tắc → Mới**
2. **Tên:** `Cổng mặc định`, **Hành động:** Định tuyến, **Hướng:** Đi ra
3. **Đích:** Mặc định, **Mục tiêu:** IP DMZ của mạng khác → chọn mạng bên ngoài của bạn
4. Gửi và Áp dụng Quy tắc

**Bước 2: SNAT (ẩn IP nội bộ sau IP bên ngoài)**

1. **Tên:** `SNAT đầu ra`, **Hành động:** Dịch, **Hướng:** Đi ra
2. **Nguồn:** Địa chỉ mạng của tôi, **Mục tiêu:** IP DMZ của mạng khác → chọn mạng bên ngoài
3. Ghim vào **Đầu** (SNAT phải xử lý trước các quy tắc tường lửa)
4. Gửi và Áp dụng Quy tắc

**Bước 3: DNAT (công bố máy chủ web)**

1. **Tên:** `DNAT HTTPS`, **Hành động:** Dịch, **Giao thức:** TCP, **Hướng:** Vào
2. **Đích:** Địa chỉ IP của tôi → chọn IP bên ngoài, **Cổng:** 443
3. **Mục tiêu:** Tùy chỉnh → `10.100.0.50` (máy chủ web nội bộ), **Cổng:** 443
4. Gửi và Áp dụng Quy tắc

**Bước 4: Chấp nhận HTTPS đầu vào**

1. **Tên:** `Cho phép HTTPS`, **Hành động:** Chấp nhận, **Giao thức:** TCP, **Hướng:** Vào
2. **Cổng đích:** 443
3. Gửi và Áp dụng Quy tắc

{% hint style="warning" %}
Luôn nhấp **Áp dụng quy tắc** sau khi tạo hoặc sửa quy tắc. Quy tắc được xếp chờ cho đến khi áp dụng — chúng không có hiệu lực cho đến khi bạn áp dụng chúng một cách rõ ràng.
{% endhint %}

## Trunk VLAN

VLAN trong VergeOS được cấu hình ở cấp độ **mạng ngoài** bằng cách gắn thẻ 802.1Q. Mỗi mạng bên ngoài có thể được ánh xạ tới một VLAN ID cụ thể trên mạng vật lý, cho phép phân đoạn lưu lượng mà không cần thêm cáp vật lý.

### Tạo một Mạng Bên ngoài Gắn thẻ VLAN

1. Đi tới **Mạng → Mạng ngoài mới**
2. Đặt **Loại Layer 2** thành `VLAN`
3. Nhập **ID Layer 2** (ID VLAN 802.1Q, ví dụ, `100`)
4. Chọn **Mạng giao diện** (mạng vật lý mà VLAN này chạy trên đó)
5. Cấu hình địa chỉ IP và gửi

Nhiều mạng bên ngoài có thể sử dụng các VLAN ID khác nhau trên cùng một mạng vật lý, mang lại sự tách biệt logic cho quản trị, sản xuất, DMZ và lưu lượng tenant.

### Q-in-Q (Gắn thẻ kép)

Đối với môi trường nhà cung cấp dịch vụ yêu cầu gắn thẻ VLAN kép, hãy chọn một **mạng ngoài** (không phải mạng vật lý) làm Mạng giao diện. Điều này chồng thêm một thẻ VLAN thứ hai lên trên thẻ hiện có.

## Tổng quan về VPN

VergeOS bao gồm kết nối VPN tích hợp sẵn sử dụng hai giao thức:

### WireGuard

Giao thức VPN hiện đại, hiệu năng cao với mật mã tiên tiến và chi phí cấu hình tối thiểu. Được khuyến nghị cho hầu hết các trường hợp sử dụng VPN.

### IPsec

Giao thức VPN tiêu chuẩn ngành được cung cấp cho các môi trường phải giao tiếp với thiết bị IPsec của bên thứ ba (Cisco, pfSense, v.v.).

### Các trường hợp sử dụng WireGuard

* **Kết nối site-to-site giữa các hệ thống VergeOS** — Kết nối hai cài đặt VergeOS qua một đường hầm mã hóa. Mỗi phía tạo một giao diện WireGuard và cấu hình phía còn lại làm peer bằng cách trao đổi khóa công khai.
* **Kết nối site-to-site với peer bên thứ ba** — Kết nối một hệ thống VergeOS với bất kỳ điểm cuối nào tương thích WireGuard.
* **Truy cập người dùng từ xa** — Cung cấp truy cập VPN an toàn cho từng người dùng. VergeOS có thể tự động tạo các tệp cấu hình peer để tải xuống phần mềm khách WireGuard được hỗ trợ.

WireGuard được gắn vào một mạng VergeOS (thường là một mạng nội bộ có quyền truy cập tất cả tài nguyên mà VPN nên chạm tới). Sau khi tạo giao diện và định nghĩa peer, nhấp **Áp dụng quy tắc** để kích hoạt các quy tắc tường lửa và định tuyến được tự động tạo ra.

### Các trường hợp sử dụng IPsec

* **Kết nối thiết bị bên thứ ba** — Kết nối tới Cisco, pfSense, FortiGate hoặc các thiết bị hỗ trợ IPsec khác tại các site từ xa.
* **VPN Tenant** — Cấu hình một đường hầm IPsec bên trong một tenant để kết nối site-to-site tới hạ tầng từ xa của tenant đó.

Cấu hình IPsec bao gồm việc tạo một **Mạng VPN**, cấu hình **Giai đoạn 1** (đàm phán IKE) và **Giai đoạn 2** (tham số mã hóa/hầm), sau đó áp dụng các quy tắc tường lửa được tự động tạo.

{% hint style="success" %}
Nên ưu tiên WireGuard hơn IPsec khi có thể. Nó mang lại hiệu năng tốt hơn, cấu hình đơn giản hơn và ít dễ bị lỗi cấu hình bảo mật hơn.
{% endhint %}

## Vi phân đoạn vi mô

Vi phân đoạn vi mô là một chiến lược bảo mật chia mạng thành các phân đoạn cô lập, mỗi phân đoạn có các kiểm soát bảo mật riêng. VergeOS được xây dựng chuyên biệt cho cách tiếp cận này:

### Cách VergeOS hỗ trợ Vi phân đoạn vi mô

1. **Các mạng nội bộ như các phân đoạn** — Mặc định, mỗi mạng nội bộ là một ranh giới bảo mật cô lập. Tạo các mạng riêng cho các tầng web, ứng dụng, cơ sở dữ liệu, quản trị và phát triển.
2. **Quy tắc tường lửa chi tiết** — Xác định chính sách lưu lượng theo từng quy tắc, chỉ rõ giao thức, cổng, nguồn, đích và hướng. Chỉ cho phép chính xác lượng lưu lượng mà mỗi tầng cần.
3. **Bí danh mạng cho các nhóm chính sách** — Nhóm các IP liên quan vào các bí danh (ví dụ, `Máy-chủ-Web`, `DB-Clients`) và tham chiếu chúng trong các quy tắc để thực thi chính sách nhất quán.
4. **Cô lập tenant** — Mỗi tenant (VDC) hoạt động với DMZ và các mạng nội bộ riêng, cung cấp khả năng bao gói mạng đầy đủ giữa các tenant.
5. **Phản chiếu cổng để quan sát** — Giám sát lưu lượng trên bất kỳ phân đoạn mạng nào để phân tích bảo mật mà không làm gián đoạn sản xuất.
6. **VPN cho các đường dẫn được mã hóa** — Dùng WireGuard hoặc IPsec giữa các phân đoạn mạng nhạy cảm để phòng thủ theo chiều sâu.

### Mẫu Thiết kế Zero-Trust

```mermaid
graph TB
    subgraph "Zero-Trust Đa tầng"
        WEB["Tầng Web<br/>10.100.0.0/24<br/>Chấp nhận: 443 vào"]
        APP["Tầng Ứng dụng<br/>10.100.1.0/24<br/>Chấp nhận: 8080 chỉ từ Web"]
        DB["Tầng CSDL<br/>10.100.2.0/24<br/>Chấp nhận: 3306 chỉ từ Ứng dụng"]
    end

    WEB -->|"Chỉ cổng 8080"| APP
    APP -->|"Chỉ cổng 3306"| DB

    INET["Internet"] -->|"Chỉ cổng 443"| WEB

    style WEB fill:#e3f2fd,stroke:#1565c0
    style APP fill:#fff3e0,stroke:#e65100
    style DB fill:#fce4ec,stroke:#c62828
    style INET fill:#f5f5f5,stroke:#616161
```

Mỗi tầng là một mạng nội bộ riêng với các quy tắc rõ ràng. Tầng web chỉ chấp nhận HTTPS từ Internet. Tầng ứng dụng chỉ chấp nhận cổng 8080 từ tầng web. Tầng cơ sở dữ liệu chỉ chấp nhận cổng 3306 từ tầng ứng dụng. Không có lưu lượng nào khác được phép — mọi đường đi đều được xác định rõ ràng.

{% hint style="info" %}
**Cầu nối VMware**

VMware tách tường lửa và NAT thành NSX-T DFW (vi phân đoạn ở vNIC), NSX-T Edge (NAT và định tuyến tĩnh Tier-0/Tier-1), và các nhóm cổng vDS (VLAN). VergeOS hợp nhất các thành phần này thành danh sách quy tắc theo từng mạng: quy tắc tường lửa thay thế DFW, quy tắc dịch thay thế NAT của NSX Edge, quy tắc định tuyến thay thế các tuyến tĩnh Tier-0/Tier-1, thứ tự quy tắc thay thế các danh mục chính sách NSX, và VPN WireGuard được tích hợp sẵn trong nền tảng.
{% endhint %}

{% hint style="info" %}
**Cầu nối Nutanix**

Nutanix cần add-on Flow cho vi phân đoạn vi mô, cấu hình bridge OVS cho VLAN, và hạ tầng bên ngoài cho NAT/định tuyến/VPN. VergeOS bao gồm các quy tắc tường lửa, quy tắc NAT/PAT, quy tắc định tuyến, VPN WireGuard/IPsec, bí danh địa chỉ, và giới hạn tốc độ cùng thống kê theo từng quy tắc được tích hợp trong mỗi mạng.
{% endhint %}

## Điểm chính

| Khái niệm              | Tóm tắt                                                                                                              |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------- |
| **Các loại quy tắc**   | Chấp nhận/Loại bỏ/Từ chối (tường lửa), Dịch (NAT/PAT), Định tuyến (các tuyến tĩnh)                                   |
| **Thứ tự xử lý**       | Từ trên xuống dưới — khớp đầu tiên sẽ thắng; đặt NAT trước các quy tắc tường lửa liên quan                           |
| **Bộ chọn địa chỉ**    | Dùng các trình hỗ trợ (IP của tôi, IP DMZ của mạng khác) thay vì IP mã cứng để dễ di chuyển                          |
| **Bí danh**            | Các nhóm IP/CIDR được đặt tên để quản lý chính sách nhất quán trên nhiều quy tắc                                     |
| **Giới hạn tốc độ**    | Giới hạn riêng cho từng quy tắc hoặc giới hạn tốc độ toàn mạng trên bộ định tuyến                                    |
| **Chẩn đoán**          | Theo dõi Thống kê theo từng quy tắc, Theo dõi/Gỡ lỗi để kiểm tra ở cấp gói tin, `nft list ruleset` để xem ở mức thấp |
| **VLAN**               | Gắn thẻ 802.1Q được đặt cho từng mạng bên ngoài; Q-in-Q qua external-as-interface                                    |
| **VPN**                | WireGuard (khuyến nghị) cho site-to-site và truy cập từ xa; IPsec để tương thích với bên thứ ba                      |
| **Vi phân đoạn vi mô** | Các mạng nội bộ riêng biệt theo từng tầng + quy tắc đặc quyền tối thiểu = kiến trúc zero-trust                       |

## Các bước tiếp theo

Với các quy tắc tường lửa, NAT, VLAN và VPN đã được cấu hình, hãy khám phá phòng thực hành để áp dụng các khái niệm này vào thực tế: [**Thực hành: Cấu hình Mạng →**](/learn-the-platform/vi/module-4-networking/lab.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/learn-the-platform/vi/module-4-networking/04-firewall-nat-vlans.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
