更改策略后 iptables -L 的输出

更改策略后 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:/# 

答案1

DNS 查找速度变慢。由于新规则集现在阻止接收 DNS 回复,因此对于每行,在达到超时之前都会有一段时间。

您应该始终使用-n参数以避免 DNS 查找。实际上,-v也应该用来理解它的输出。坦率地说,iptables -L几乎不应该使用它,尤其是在 stackexchange 上,因为它使得很难重现问题中所询问的内容。唯一有用的情况是当特定匹配或目标在其输出上显示附加状态信息时。

您应该更喜欢其中之一:

  • iptables -S对于单个表或链(如果提供)

  • iptables-save -c对于带有数据包计数的整个规则集(这有助于确定规则是否不匹配)

无论如何,您应该添加一条有状态规则以允许接收回复流量,包括 DNS 回复:

iptables -I INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

相关内容