Gĩi dữ liệu (packet) từ mạng ngồi, sau đĩ đi vào giao diện mạng nối với mạng ngồi (chẳng hạn như eth0). Đầu tiên packet sẽ qua chuỗi PREROUTING (trước khi định tuyến). Tại đây, packet cĩ thể bị thay đổi thơng số (mangle) hoặc bị đổi địa chỉ IP đích (DNAT). Đối với packet đi vào máy, nĩ sẽ qua chuỗi INPUT. Tại chuỗi INPUT, packet cĩ thể được chấp nhận hoặc bị hủy bỏ. Tiếp theo packet sẽ được chuyển lên cho các ứng dụng (client/server) xử lí và tiếp theo là được chuyển ra chuỗi OUTPUT. Tại chuỗi OUTPUT, packet cĩ thể bị thay đổi các thơng số và bị lọc chấp nhận ra hay bị hủy bỏ.
Gĩi sau khi rời chuỗi PREROUTING sẽ qua chuỗi FORWARD. Tại chuỗi FORWARD, nĩ cũng bị lọc ACCEPT hoặc DENY. Gĩi sau khi qua chuỗi FORWARD hoặc chuỗi OUTPUT sẽ đến chuỗi POSTROUTING (sau khi định tuyến).
Tại chuỗi POSTROUTING, gĩi cĩ thể được đổi địa chỉ IP nguồn (SNAT) hoặc đĩng giả địa chỉ (MASQUERADE). Gĩi sau khi ra giao diện mạng sẽ được chuyển để đi đến máy tính khác trên mạng ngồi.
Hình 3.2: Quá trình chuyển gĩi dữ liệu qua Netfilter
Trong chuỗi, mỗi luật sẽ được áp dụng theo thứ tự, mỗi luật cĩ một tập các điều kiện xác định luật cĩ phù hợp hay khơng và tác động chỉ xảy ra khi điều kiện phù hợp. Kết thúc một chuỗi thì tác động mặc định sẽ được sử dụng, nghĩa là gĩi tin sẽ được phép đi qua.
Các trạng thái kết nối :
- NEW: mở kết nối mới
- ESTABLISHED: đã thiết lập kết nối
- RELATED: mở một kết nối mới trong kết nối hiện tại - CONNMARK
- MARK - INVALID - UNTRACKED