就允许进入 (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
用端口号而不是服务名称来列出您的规则。