iptables ở mức rất thấp và khi bạn đang viết các quy tắc iptables, bạn đang xử lý các gói IP thô. Điều này có một số hàm ý, một trong số đó bạn đã tìm thấy.
Có những trường hợp sử dụng hoàn toàn hợp lệ khi cho phép lưu lượng đi, nhưng bất kỳ lưu lượng đến tương ứng nào cũng không được phép đi qua tường lửa; hoặc ngược lại, lưu lượng đến được phép nhưng không được phép đi. Một ví dụ phổ biến của việc này là đăng nhập máy chủ lưu trữ (do đó thường hữu ích cho kiểm toán): Đăng nhập giao thông nên được cho phép trong , nhưng không ai được phép ra . Trong trường hợp cực đoan, log giao thông nên được cho phép ở , nhưng không có gì khác nên được cho phép hoặc trong hoặc ra ngoài .
Bởi iptables không đưa ra bất kỳ giả định nào về những gì bạn muốn, bạn không chỉ tăng cường bảo mật mà còn cả hiệu suất, bởi vì bộ quy tắc có thể được tối ưu hóa cho chính xác những gì bạn muốn tường lửa thực sự làm.
Nếu bạn muốn cho phép lưu lượng truy cập đến có liên quan đến kết nối hoặc phiên đã được thiết lập, thì chỉ cần nói với nó như vậy:
sudo iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
hoặc cho IPv6:
sudo ip6tables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT
Điều chỉnh -I INPUT 1
phần trên cơ sở khi cần thiết (ví dụ: nếu bạn có các quy tắc khác được ưu tiên hơn quy tắc chung cho phép lưu lượng truy cập liên quan đến kết nối hoặc phiên được thiết lập).