iptables 默认规则理解

iptables 默认规则理解

就允许进入 (dtp:domain, bootps) 的流量而言,以下规则中的最后一部分是什么意思?根据我的研究,我了解到 bootps 是引导程序,dpt 是目标端口,但我不明白它实际上在做什么或允许什么,我怀疑它是否允许任何数据包进入,因为这样的默认规则没有意义。(我在手册页中查找了 iptables,但找不到答案)

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:bootps 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:bootps 

答案1

该规则允许接收发送到端口 53(名为“域”;DNS 端口)和 67(名为“bootps”;DHCP 和 BOOTP 服务器端口)的 UDP 和 TCP 数据包。

这些名称来自/etc/services,它本身来自 IANA 维护的主列表。如今,“bootps” 表示 DHCP,它是旧 BOOTP 协议的改进形式。

简而言之,这些规则旨在允许系统充当 DNS 和 DHCP 服务器。


附注 1:第四条规则没什么用,因为 DHCP/BOOTP绝不使用 TCP。编写规则集的人并不关心。


旁注 2:事实上,请注意该链具有“政策接受”,这基本上意味着在最底部有一个隐含的“接受任何事情”规则。

由于没有规则可以拒绝或丢弃任何数据包,因此全部数据包将被接受,使得所有四条规则变得多余。

答案2

/etc/services 中列出了服务“domain”和“bootps”

尝试grep 'domain' /etc/services获取该服务的端口号。

或者iptables -nL用端口号而不是服务名称来列出您的规则。

相关内容