> 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/knowledge-base/vi/networking/firewall-connection-tracking-state.md).

# Trạng thái theo dõi kết nối trong quy tắc tường lửa

Cách sử dụng trường Trạng thái theo dõi kết nối trong các quy tắc tường lửa VergeOS để chặn các kết nối đến mới mà không làm rớt lưu lượng trả về cho các kết nối đi.

## Tổng quan

{% hint style="info" %}
**Điểm chính**

* Các quy tắc tường lửa VergeOS có trạng thái;  **Trạng thái theo dõi kết nối** trường khớp các gói tin theo trạng thái conntrack.
* Giới hạn một **Chặn** quy tắc thành trạng thái `mới` để chặn các kết nối đến không được yêu cầu mà không làm rớt lưu lượng phản hồi.
* Đừng tự thêm quy tắc chấp nhận cho lưu lượng phản hồi — chuỗi được tạo sẵn đã chấp nhận `đã thiết lập`/`liên quan` lưu lượng.
  {% endhint %}

Các quy tắc tường lửa VergeOS có trạng thái. Trường **Trạng thái theo dõi kết nối** trên một quy tắc mạng chỉ khớp với các trạng thái conntrack đã chọn. Cách dùng phổ biến nhất là làm cho một **Chặn** quy tắc chặn *mới* các kết nối đến mà không đồng thời làm rớt *lưu lượng phản hồi* của các kết nối mà máy chủ được bảo vệ tự khởi tạo.

## Điều kiện tiên quyết

* Quen thuộc với [quy tắc mạng VergeOS](/run-the-platform/vi/mang/network-rules.md).
* Người dùng có quyền chỉnh sửa quy tắc mạng.

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

Trường này có trong biểu mẫu chỉnh sửa quy tắc mạng. Để trống để khớp bất kỳ trạng thái nào.

**Giá trị cho phép:** `mới`, `đã thiết lập`, `liên quan`, `không được theo dõi`.

| Trạng thái            | Ý nghĩa                                                                                              |
| --------------------- | ---------------------------------------------------------------------------------------------------- |
| `mới`                 | Gói tin đầu tiên của một kết nối — một nỗ lực kết nối không được yêu cầu.                            |
| `đã thiết lập`        | Các gói tin thuộc về một kết nối đã được thấy ở cả hai chiều.                                        |
| `liên quan`           | Một kết nối mới mà conntrack liên kết với một kết nối hiện có (ví dụ: kênh dữ liệu FTP và lỗi ICMP). |
| `không được theo dõi` | Các gói tin được loại trừ rõ ràng khỏi theo dõi kết nối.                                             |

Trường chấp nhận nhiều trạng thái được phân tách bằng dấu phẩy (`established,related`) và phủ định bằng một `!=` (`!= mới`).

{% hint style="info" %}
Không có `không hợp lệ` tùy chọn. VergeOS đã loại bỏ các gói tin không hợp lệ bằng một quy tắc nền tảng hệ thống (`ct state invalid drop`) gần đầu mỗi chuỗi được tạo, nên bạn không cần tự thêm.
{% endhint %}

## Vấn đề: Một quy tắc Drop làm hỏng lưu lượng đi ra

Một IP công khai duy nhất thường được dùng vừa cho dịch vụ đầu vào vừa làm địa chỉ SNAT đầu ra cho một tenant hoặc VM phía sau nó. Một quy tắc bao trùm **Chặn** trên địa chỉ IP đích đó chặn lưu lượng đầu vào không được yêu cầu như mong muốn — nhưng nó cũng làm rớt các phản hồi cho lưu lượng đầu ra của tenant, vì các phản hồi đó đến cùng địa chỉ IP công khai ở trạng thái `đã thiết lập`.

Triệu chứng: tenant không thể truy cập internet, và việc xóa quy tắc từ chối sẽ khắc phục.

Xóa bỏ drop sẽ cho các phản hồi đã thiết lập đi qua, nhưng nó cũng mở lại quyền truy cập đầu vào không được yêu cầu — đúng thứ quy tắc được tạo ra để chặn. Đừng xóa quy tắc; hãy giới hạn phạm vi của nó.

## Cách khắc phục: Giới hạn Drop cho các kết nối mới

1. Từ bảng điều khiển của mạng, nhấp vào **Quy tắc** trong menu bên trái.
2. Chọn **Chặn** quy tắc và nhấp **Chỉnh sửa** trong menu bên trái.
3. Trong **Trạng thái theo dõi kết nối** trường, nhập `mới`.
4. Nhấp **Gửi**.
5. Nhấp **Áp dụng quy tắc** trong menu bên trái để áp dụng thay đổi.

Drop giờ chỉ khớp với các kết nối đến mới, không được yêu cầu. Lưu lượng phản hồi cho các kết nối đi ra ở trạng thái `đã thiết lập`, không còn khớp với drop, và sẽ rơi xuống phần cuối của chuỗi `ct state established,related accept`.

## Vì sao không cần quy tắc chấp nhận cho đường phản hồi

VergeOS tạo ra `đầu vào` và `chuyển tiếp` các chuỗi với một `drop` chính sách và một phần cuối `ct state established,related accept` làm dòng cuối cùng. nftables đánh giá các quy tắc từ trên xuống, và `drop` và `accept` là kết thúc: một drop không được giới hạn đặt phía trên accept ở cuối sẽ chặn lưu lượng phản hồi trước khi nó tới accept. Giới hạn drop thành `mới` cho phép lưu lượng đã thiết lập và liên quan đi xuống đến accept ở cuối — bạn không cần tự thêm quy tắc accept.

> **Mô hình tư duy:** Chặn `mới` để khóa các kết nối đến không được yêu cầu. Hãy để `đã thiết lập` và `liên quan` chảy để bất cứ gì máy chủ được bảo vệ khởi tạo đều có thể hoàn tất.

## Điều cần biết

* Thứ tự quy tắc rất quan trọng. Phần cuối `established,related accept` là dòng cuối cùng của chuỗi được tạo; một drop bao trùm đặt phía trên nó mà không đặt trạng thái nào sẽ nuốt mất lưu lượng phản hồi.
* Việc giới hạn phạm vi tương tự áp dụng cho mọi quy tắc, không chỉ drop. Ví dụ, hãy giới hạn một **Accept** đến `mới` để kiểm soát bên nào có thể bắt đầu kết nối.
* Trạng thái `liên quan` rất quan trọng đối với các giao thức có luồng phụ được helper theo dõi (FTP, một số VoIP, lỗi ICMP); accept hệ thống ở cuối bao gồm cả những thứ này.

## Tài nguyên bổ sung

* [Quy tắc mạng](/run-the-platform/vi/mang/network-rules.md)

{% hint style="info" %}
**Cần trợ giúp?**

Nếu bạn có câu hỏi hoặc vấn đề với quy trình này, hãy liên hệ với đội hỗ trợ VergeOS.
{% endhint %}


---

# 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/knowledge-base/vi/networking/firewall-connection-tracking-state.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.
