INPUT
và OUTPUT
chuỗi được truyền qua cho các gói được gửi đến và gửi từ các ứng dụng chạy trên máy cục bộ.
Nếu một ứng dụng gửi một gói, nó đi qua
app -> OUTPUT -> POSTROUTING -> interface
Ngược lại, một gói được gửi đến một ứng dụng đi qua
interface -> PREROUTING -> INPUT -> app
Trong khi một gói chuyển tiếp đi qua
interface -> PREROUTING -> FORWARD -> POSTROUTING -> interface
Lưu ý rằng đó MASQUERADE
chỉ là một trường hợp đặc biệt SNAT
, trong đó địa chỉ nguồn được lấy từ giao diện.
Cũng xem hình ảnh này hoặc nhiều người tương tự bạn có thể tìm thấy trong iptables
hướng dẫn.
Chỉnh sửa
Nếu bạn muốn làm DNAT
cho các gói được gửi từ một ứng dụng, bạn phải sử dụng OUTPUT
, bởi vì DNAT
chỉ hoạt động trong PREROUTING
và các gói đi từ một ứng dụng không bao giờ đi qua PREROUTING
.
Tương tự như vậy cho SNAT
, INPUT
và POSTROUTING
trong trường hợp của các ứng dụng gửi đến một ứng dụng, mặc dù tôi không chắc chắn về tình trạng hiện tại của SNAT
trong INPUT
, nó có thể bị phá vỡ và không thực sự làm việc.
Vì hầu hết việc giả mạo xảy ra trong các gói chuyển tiếp bộ định tuyến, bạn không thấy các loại ứng dụng này thường xuyên.