Có một ví dụ về các quy tắc iptables trên wiki archlinux:
# Generated by iptables-save v1.4.18 on Sun Mar 17 14:21:12 2013
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:TCP - [0:0]
:UDP - [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
COMMIT
# Completed on Sun Mar 17 14:21:12 2013
Vài ngày trước, bạn tôi hỏi tôi tại sao có REJECT
ba quy tắc cuối cùng. Anh ấy nói với tôi rằng nên có DROP
thay vào đó, và anh ấy đã đề cập một vài điều về bảo mật tốt hơn trong trường hợp DROP
.
Vì vậy, tôi có hai câu hỏi:
Ba quy tắc làm gì?
Liệu nó thực hiện bất kỳ sự khác biệt khi tôi đặt ở đó
DROP
tại chỗREJECT --reject-with
? Nếu có, sự khác biệt là gì?