Iptables
更改策略後 iptables -L 的輸出
當我更改 INPUT 的預設策略時,iptables -L 的輸出在第三行之後停止。我通過 ssh 和本地檢查了它。我的終端的輸出(是的,我知道我不應該使用 root)。
root@pi4:/# iptables -L -v Chain INPUT (policy ACCEPT 73 packets, 16085 bytes) pkts bytes target prot opt in out source destination 261 18964 ACCEPT tcp -- any any 192.168.0.0/16 anywhere tcp dpt:60022 94 7786 ACCEPT all -- lo any anywhere anywhere 0 0 ACCEPT tcp -- any any 192.168.0.0/16 anywhere tcp dpt:netbios-ssn 0 0 ACCEPT tcp -- any any 192.168.0.0/16 anywhere tcp dpt:microsoft-ds 0 0 ACCEPT udp -- any any 192.168.0.0/16 anywhere udp dpt:netbios-ns 4 962 ACCEPT udp -- any any 192.168.0.0/16 anywhere udp dpt:netbios-dgm Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination root@pi4:/# iptables -P INPUT DROP root@pi4:/# iptables -L -v Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination ^C root@pi4:/#
DNS查找速度變慢。由於新規則集現在阻止接收 DNS 回复,因此對於每一行,在達到超時之前都會有一段時間。
您應該始終使用該
-n
參數來避免 DNS 查找。其實,-v
也應該用它來做一些有意義的輸出。坦率地說,iptables -L
幾乎不應該使用,尤其是在 stackexchange 上,因為它很難重現問題中的問題。唯一有用的情況是特定匹配或目標在其輸出上顯示附加狀態資訊。您應該更喜歡其中之一:
iptables -S
對於單個表或鏈(如果提供)iptables-save -c
對於具有數據包計數的整個規則集(這有助於確定規則是否不匹配)無論如何,您應該添加一個有狀態規則以允許接收回复流量,包括 DNS 回复:
iptables -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT