Unix/BSD/OpenBSD 防火墙指南
外观
OpenBSD 包含 PF(“数据包过滤器”)作为防火墙。
要启动时打开 PF,请创建配置文件 rc.conf.local。
vi /etc/rc.conf.local
要在启动时激活 PF,请在配置文件中输入以下内容
pf=YES
要手动启用 PF,请输入以下命令
pfctl -e
要手动禁用 PF,请输入以下命令
pfctl -d
恭喜,您现在受保护,使用的是最好的防火墙之一。
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 |
允许对 dc0 接口上的 <goodguys> 进行入站连接。阻止 dc0 接口上的所有其他入站连接。 |
错误信息。
清理对分片数据包进行碎片整理,在某些情况下会拒绝分片数据包。这可以防止您的计算机变得碎片化,但也会导致大量数据包丢失。要清理网络接口,请在 /etc/pf.conf 中输入以下内容
scrub <in/out> <interface>
一个简单的例子是清理所有入站接口。
scrub in all
如果您对本文档做出了贡献,请随意添加您的用户名。
- CFeyecare - 创建了页面。
- PF 在维基百科上
- "Pf 常见问题解答。" Pf。OpenBSD。2008 年 11 月 3 日 <http://www.openbsd.org/faq/pf/>。