除了阻止数据包之外,我们还可以限制通过防火墙的数据包数量。这可以使用 iptables 的 limit 模块来实现。在本任务中,我们将使用该模块来限制来自 10.9.0.5 的数据包进入内部网络的数量。你可以使用 "iptables -m limit -h" 来查看手册。
$ iptables -m limit -h
limit match options:
--limit avg max average match rate: default 3/hour
[Packets per second unless followed by
/sec /minute /hour /day postfixes]
--limit-burst number number to match in a burst, default 5
请在路由器上运行以下命令,然后从 10.9.0.5 上 ping 192.168.60.5。描述你的观察结果。请分别在有和没有第二条规则的情况下进行实验,并解释是否需要第二条规则,及其原因。
iptables -A FORWARD -s 10.9.0.5 -m limit \
--limit 10/minute --limit-burst 5 -j ACCEPT
iptables -A FORWARD -s 10.9.0.5 -j DROP