有人可以给我一个提示,告诉我如何在任何 TCP 请求发送到特定 IP 地址时设置基本拒绝规则吗?我正在使用PF包过滤器。有什么帮助吗?
答案1
/etc/pf.conf
在您的配置中,最基本的形式如下所示:
block from any to 192.0.2.2
# which is equivalent to:
block drop from any to 192.0.2.2
默认情况下,此block
操作将drop
数据包默默在所有接口上,从any
源 IP,双向。因为客户端不知道它被阻止,所以它会超时并可能会再次尝试......
block return
是个“友好的邻居”让客户端知道该地址无法访问的方法回应以协议特定的方式,用TCP RST(复位)或者ICMP 不可达包。客户可以使用此信息放弃,或以理智的方式重试。
block return from any to 192.0.2.2
block
可以使用该选项更改默认行为set block-policy
。
一个更复杂的示例 - 但当您的规则集开始增长时更易于管理和阅读:
mybadhosts = "{ 192.0.2.2, 203.0.113.0/24 }"
ext_if = "em0"
block return on $ext_if from any to $mybadhosts # example #1
block return on em0 from any to { 192.0.2.2, 203.0.113.0/24 } # ^expanded form
block drop out on egress from any to $mybadhosts # example #2
例子#1显示变量、列表{}
、网络掩码的简单使用/24
,并指定接口em0
。 (注意变量被定义没有 $ 符号, 和引号被删除,当规则在运行时扩展时)
例子#2丢弃接口组out
上的出站数据包egress
(请参阅ifconfig(8)
)
也可以看看: