当我更改 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 回复: