互联网控制消息协议(ICMP)是一种诊断工具,因此不应完全丢弃该流量。完全阻止 ICMP 的任何尝试都是不明智的,因为它还会导致停止向我们提供错误消息。仅启用最重要的控制消息,例如回声请求、回声应答、目的地不可达和超时等消息,并拒绝其余消息。回声请求和回声应答是 ping 的一部分。在输入策略中,我们仅允许回声应答、而在输出策略中,我们仅允许回声请求。
nft add rule inet filter input iifname enpXsY icmp type { echo-reply, destination-unreachable, time-exceeded } limit rate 1/second accept nft add rule inet filter input iifname enpXsY ip protocol icmp drop
最后,我们记录并丢弃所有无效数据包。
nft add rule inet filter input iifname enpXsY ct state invalid log flags all level info prefix ”Invalid-Input: ” nft add rule inet filter input iifname enpXsY ct state invalid drop
转发和输出策略
在转发和输出策略中,默认情况下我们将丢弃数据包,仅接受已建立连接的数据包。
nft add chain inet filter forward { type filter hook forward priority 0 ; counter ; policy drop ; } nft add rule inet filter forward ct state established, related accept nft add rule inet filter forward ct state invalid drop nft add chain inet filter output { type filter hook output priority 0 ; counter ; policy drop ; }
典型的桌面用户只需要端口 80 和 443 即可访问互联网。最后,允许可接受的 ICMP 协议并在记录无效数据包时丢弃它们。
nft add rule inet filter output oifname enpXsY tcp dport { 80, 443 } ct state established accept nft add rule inet filter output oifname enpXsY icmp type { echo-request, destination-unreachable, time-exceeded } limit rate 1/second accept nft add rule inet filter output oifname enpXsY ip protocol icmp drop nft add rule inet filter output oifname enpXsY ct state invalid log flags all level info prefix ”Invalid-Output: ” nft add rule inet filter output oifname enpXsY ct state invalid drop
(编辑:惠州站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|