跳转到内容

Unix/BSD/OpenBSD 防火墙指南

来自维基教科书,开放世界中的开放书籍

OpenBSD 包含 PF(“数据包过滤器”)作为防火墙。

要启动时打开 PF,请创建配置文件 rc.conf.local。

vi /etc/rc.conf.local

要在启动时激活 PF,请在配置文件中输入以下内容

pf=YES

要手动启用 PF,请输入以下命令

pfctl -e

要手动禁用 PF,请输入以下命令

pfctl -d

恭喜,您现在受保护,使用的是最好的防火墙之一。

配置 PF

[编辑 | 编辑源代码]

Pf 默认是一个非常好的防火墙,但也包含一些选项。您可以通过编辑配置文件 /etc/pf.conf 来更改 pf 的配置。

选项 描述 示例 示例描述
rdr 重定向流量 rdr on tl0 proto tcp from any to any port 80 -> 192.168.1.20 重定向 192.168.1.20 在 tl0 接口上的流量,对于任何端口,最高到 80。
阻止 阻止流量 block out on fxp0 from 192.168.0.1 to any 对于 192.168.0.1,阻止 fxp0 接口上的所有出站流量,对于任何端口。
通过 允许流量通过 pass in all 除非另有说明,否则 pf 将允许所有入站流量。
清理 清理对分片数据包进行碎片整理,在某些情况下会拒绝分片数据包。 scrub in all 清理所有接口上的所有入站流量。
表格 定义 IP 组。 table <goodguys> { 172.16.0.0/16, 172.16.1.0/24, 172.16.1.100 }

block in on dc0 all
pass in on dc0 from <goodguys> to any

允许对 dc0 接口上的 <goodguys> 进行入站连接。阻止 dc0 接口上的所有其他入站连接。

错误信息。

清理对分片数据包进行碎片整理,在某些情况下会拒绝分片数据包。这可以防止您的计算机变得碎片化,但也会导致大量数据包丢失。要清理网络接口,请在 /etc/pf.conf 中输入以下内容

scrub <in/out> <interface>

一个简单的例子是清理所有入站接口。

scrub in all

如果您对本文档做出了贡献,请随意添加您的用户名。

另请参阅

[编辑 | 编辑源代码]
  • PF 在维基百科上

参考文献

[编辑 | 编辑源代码]
华夏公益教科书