HowToSetUpaFirewallwithPFonFreeBSDtoProtectaWebServer
我是从Linux迁移过来的FreeBSD新用户,Linux中使用的是netfilter防火墙框架(LCTT译注:netfilter是由RustyRussell提出的内核防火墙框架)。那么在FreeBSD上,我该如何设置PF防火墙,来保护只有一个公共IP地址和端口的web服务器呢?
PF是包过滤器(packetfilter)的简称。它是为OpenBSD开发的,但是已经被移植到了FreeBSD以及其它操作系统上。PF是一个包状态过滤引擎。在这篇教程中,我将向你展示如何在以及11.x中设置PF防火墙,从而来保护web服务器。
第一步:开启PF防火墙你需要把下面这几行内容添加到文件/etc/文件中:
在这里:
pf_enable="YES"-开启PF服务
pf_rules="/usr/local/etc/"-从文件/usr/local/etc/中读取PF规则
pflog_enable="YES"-为PF服务打开日志支持
pflog_logfile="/var/log/pflog"-存储日志的文件,即日志存于文件/var/log/pflog中
第二步:在/usr/local/etc/文件中创建防火墙规则输入下面这个命令打开文件(超级用户模式下):
保存并关闭文件。欢迎来参考我的规则集。如果要检查语法错误,可以运行:
第三步:开始运行PF防火墙命令如下。请小心,如果是基于SSH的会话,你可能会和服务器断开连接。
开启PF防火墙:检查语法错误:查看PF状态:第四步:pfctl命令的简单介绍你需要使用pfctl命令来查看PF规则集和参数配置,包括来自包过滤器(packetfilter)的状态信息。让我们来看一下所有常见命令:
显示PF规则信息在每条规则的详细输出中添加规则编号:
如何在命令行中禁止PF服务如何在命令行中刷新PF规则/NAT/路由表如何在命令行中仅刷新队列如何在命令行中清除所有计数器示例输出:
如果要查看实时日志,可以运行:
关于作者via:
作者:VivekGite译者:ucasFL校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出