使用 PF 阻止到某些 IP 的传出连接

使用 PF 阻止到某些 IP 的传出连接

有人可以给我一个提示,告诉我如何在任何 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)


也可以看看:

相关内容