pfctl

pfctl

PF防火墙的配置命令

补充说明

pfctl命令 是PF防火墙的配置命令,PF防火墙( 全称:Packet Filter )是UNIX LIKE系统上进行TCP/ip流量过滤和网络地址转换的软件系统。PF同样也能提供TCP/IP流量的整形和控制,并且提供带宽控制和数据包优先集控制。PF最早是由Daniel Hartmeier开发的,现在的开发和维护由Daniel和openBSD小组的其他成员负责。

PF防火墙的功能很多,本站只列举一些基本配置。

激活

要激活pf并且使它在启动时调用配置文件,编辑/etc/rc.conf文件,修改配置pf的一行:

pf=yes

重启操作系统让配置生效。

也可以通过pfctl程序启动和停止pf:

pfctl -e
pfctl -d

注意这仅仅是启动和关闭PF,实际它不会载入规则集,规则集要么在系统启动时载入,要在PF启动后通过命令单独载入。

配置

系统引导到在rc脚本文件运行PF时PF从/etc/pf.conf文件载入配置规则。注意当/etc/pf.conf文件是默认配置文件,在系统调用rc脚本文件时,它仅仅是作为文本文件由pfctl装入并解释和插入pf的。对于一些应用来说,其他的规则集可以在系统引导后由其他文件载入。对于一些设计的非常好的unix程序,PF提供了足够的灵活性。

pf.conf文件有7个部分:

  1. 宏:用户定义的变量,包括IP地址,接口名称等等。
  2. 表:一种用来保存IP地址列表的结构。
  3. 选项:控制PF如何工作的变量。
  4. 整形:重新处理数据包,进行正常化和碎片整理。
  5. 排队:提供带宽控制和数据包优先级控制。
  6. 转换:控制网络地址转换和数据包重定向。
  7. 过滤规则:在数据包通过接口时允许进行选择性的过滤和阻止。

除去宏和表,其他的段在配置文件中也应该按照这个顺序出现,尽管对于一些特定的应用并不是所有的段都是必须的。

空行会被忽略,以#开头的行被认为是注释。

控制

引导之后,PF可以通过pfctl程序进行操作,以下是一些例子:

pfctl -f /etc/pf.conf  # 载入 pf.conf 文件
pfctl -nf /etc/pf.conf # 解析文件,但不载入
pfctl -Nf /etc/pf.conf # 只载入文件中的NAT规则
pfctl -Rf /etc/pf.conf # 只载入文件中的过滤规则
pfctl -sn # 显示当前的NAT规则
pfctl -sr # 显示当前的过滤规则
pfctl -ss # 显示当前的状态表
pfctl -si # 显示过滤状态和计数
pfctl -sa # 显示任何可显示的

完整的命令列表,请参阅pfctl的man手册页。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/pfctl/

(0)
AuroraAurora站点维系者
上一篇 2024年 3月 1日 下午4:29
下一篇 2024年 3月 1日 下午4:30

相关推荐

  • Docker 更改默认存储目录

    由于安装docker,默认的存储目录在根磁盘,会导致我们在拉取镜像的时候,更目录的空间越来越小,不修改存储目录的情况下,会导致我们可用空间越来越小,最终导致根目录不够用。根目录大点…

    2021年 11月 4日
  • seinfo

    文章目录seinfo补充说明语法选项实例 seinfo 查询SELinux的策略提供多少相关规则 补充说明 seinfo命令 是用来查询SELinux的策略提供多少相关规则,一个主…

    入门教程 2024年 3月 4日
  • logwatch

    文章目录logwatch补充说明语法选项实例 logwatch 可定制和可插入式的日志监视系统 补充说明 logwatch命令 是一个可定制和可插入式的日志监视系统,它通过遍历给定…

    入门教程 2023年 12月 19日
  • ppp-off

    文章目录ppp-off补充说明语法 ppp-off 关闭ppp连线 补充说明 这是Slackware发行版内附的程序,让用户切断PPP的网络连线。 语法 ppp-off

    入门教程 2024年 3月 1日
  • Java 方法

    在前面几个章节中我们经常使用到 System.out.println(),那么它是什么呢? println() 是一个方法。 System 是系统类。 out 是标准输出对象。 这…

    2023年 3月 4日
  • ftpcount

    ftpcount 显示目前已FTP登入的用户人数 补充说明 显示目前已ftp登入的用户人数。执行这项指令可得知目前用FTP登入系统的人数以及FTP登入人数的上限。 语法: ftpc…

    入门教程 2023年 12月 14日
  • updatedb

    文章目录updatedb补充说明语法选项实例 updatedb 创建或更新slocate命令所必需的数据库文件 补充说明 updatedb命令 用来创建或更新slocate命令所必…

    入门教程 2024年 3月 11日
  • 结构体

    文章目录结构体什么是结构体?结构体的声明定义具名结构体变量定义匿名结构体变量结构体变量的 0 值访问结构体中的字段结构体的指针匿名字段嵌套结构体(Nested Structs)提升…

    2023年 12月 5日
  • vdfuse

    文章目录vdfuse补充说明什么是VirtualBox语法选项实例 vdfuse VirtualBox软件挂载VDI分区文件工具 补充说明 vdfuse命令 是VirtualBox…

    入门教程 2024年 3月 11日
  • apt-get

    文章目录apt-get补充说明语法选项参数实例 apt-get Debian Linux发行版中的APT软件包管理工具 补充说明 apt-get命令 是Debian Linux发行…

    入门教程 2023年 12月 6日

发表回复

登录后才能评论
Translate »