URN Logo
UNIX Resources » BSD » FreeBSD » FreeBSD China » 技术交流 » 59 » 在freebsd上启用pf 只需要在rc.conf加入 pf=YES 就可以了吗?
announcement 声明: 本页内容为FreeBSD China的内容镜像,文章的版权以及其他所有的相关权利属于FreeBSD China和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
freebsdchina.org
  中文文档计划
  Chinese Ports 讨论
  初学指南
  技术交流
  设备驱动
  WEB服务
  Proxy服务
  JAVA平台
  软件发布
  休闲话题
  静语轩
  系统编程
  脚本编程
  内核开发技术
  网络安全
  mail系统
  X-Win系统
  信息交流
  历史-文化-设计-实现
  安装-配置-优化-安全
  中文-桌面-开发-调试
   
在freebsd上启用pf 只需要在rc.conf加入 pf=YES 就可以了吗?
Subject: 在freebsd上启用pf 只需要在rc.conf加入 pf=YES 就可以了吗?
Author: hqpp    Posted: 2006-03-27 15:59:31    Length: 289 byte(s)
[Original] [Print] [Top]
freebsd6。0版本
我想在上面使用pf防火墙 是不是只需要在rc.conf加入 pf=YES 就可以了?
pf的资料不是很多 我看资料上说只需要在rc.conf加入 pf=YES 就可以了,
但那是在openbsd平台上 。freebsd平台也一样吗,需不需要从新编译内核?
另外freebsd默认有启用什么防火墙吗?会不会和pf冲突?
[Original] [Print] [Top]
Subject: (空)
Author: antijp    Posted: 2006-03-27 16:05:41    Length: 4 byte(s)
[Original] [Print] [Top]
不是
[Original] [Print] [Top]
Subject: (空)
Author: hqpp    Posted: 2006-03-27 16:10:49    Length: 172 byte(s)
[Original] [Print] [Top]
Sad
那还要从编译内核了 我嫌每次编译时间长的很 当然我的机子也比较慢。
我还想着可以一装完freebsd就可以用了
[Original] [Print] [Top]
Subject: Re: 在freebsd上启用pf 只需要在rc.conf加入 pf=YES 就可以了吗?
Author: yarshure    Posted: 2006-03-27 16:53:42    Length: 702 byte(s)
[Original] [Print] [Top]
http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/firewalls-pf.html
hqpp 写到:
freebsd6。0版本
我想在上面使用pf防火墙 是不是只需要在rc.conf加入 pf=YES 就可以了?
pf的资料不是很多 我看资料上说只需要在rc.conf加入 pf=YES 就可以了,
但那是在openbsd平台上 。freebsd平台也一样吗,需不需要从新编译内核?
另外freebsd默认有启用什么防火墙吗?会不会和pf冲突?
----
msn or gtalk:yarshure#gmail.com
兴毓传继广,昭宪庆繁祥,令德维垂佑,钦绍念显扬 建道敦安定,懋修肈彝常,裕文焕景瑞,永锡世绪昌
http://bsd.yarshure.com
https://bsd.yarshure.com
[Original] [Print] [Top]
Subject: (空)
Author: hqpp    Posted: 2006-03-27 17:00:19    Length: 12 byte(s)
[Original] [Print] [Top]
谢谢两位大哥
[Original] [Print] [Top]
Subject: 我想大伙不会反对我把它贴进来吧.
Author: thguest    Posted: 2006-03-27 17:12:39    Length: 6386 byte(s)
[Original] [Print] [Top]
FreeBSD 使用手册
上一页 第26章  防火墙 下一页

--------------------------------------------------------------------------------

26.4 OpenBSD Packet Filter (PF) 和 ALTQ
  2003 年 7 月, OpenBSD 的防火墙, 也就是常说的 PF 被成功地移植到了 FreeBSD 上, 并可以通过 FreeBSD Ports Collection 来安装了; 第一个将 PF 集成到基本系统中的版本是 2004 年 11 月发行的 FreeBSD 5.3。 PF 是一个完整的提供了大量功能的防火墙软件, 并提供了可选的 ALTQ (交错队列, Alternate Queuing) 功能。 ALTQ 提供了服务品质 (QoS) 带宽整形功能, 这个功能能够以基于过滤规则的方式来保障不同服务的带宽。 OpenBSD Project 在维护 PF 用户指南方面已经做了非常卓越的工作,因此我们不打算在这本使用手册中进行更进一步的阐述, 以避免不必要的重复劳动。

  PF 在各种 FreeBSD 发行版上的可用情况如下所示:

FreeBSD 版本 PF 可用情况
4.X 之前的版本 PF 在 FreeBSD 4.X 之前的版本分支上不可用。
所有 4.X 版本分支上的版本 PF 作为 KAME 的一部分提供。
5.X 在 5.3-RELEASE 之前的版本 security/pf port 可以用来在这些 FreeBSD 版本上安装 PF。这些版本主要是供开发人员, 以及预览早期的 5.X 版本上使用的。 强烈建议升级到 5.3-RELEASE 或更新的 FreeBSD 版本。
5.3-RELEASE 以及之后的版本 PF 已经成为了基本系统的一部分。 请 不要 尝试使用 security/pf port 在这些 FreeBSD 版本上安装它,因为这样做是没有作用的。 请使用基本系统中的 pf(4) 支持。

  更多的详细信息, 可以在 FreeBSD 版本的 PF 网站上找到: http://pf4freebsd.love2party.net/

26.4.1 启用 PF
  PF 作为 FreeBSD 5.3 和更高版本基本系统安装的一部分,作为一个可以动态加载的模块出现。 如果在 rc.conf 中配置了 pf_enable="YES" 则系统会自动加载对应的内核模块。可加载内核模块在构建时启用了 pflog(4)。

注意: 这个模块假定 options INET 和 device bpf 是存在的。 除非编译时指定了 NOINET6 (对 FreeBSD 6.0-RELEASE 之前的版本) 或 NO_INET6 (对更新一些的版本) (例如在 make.conf(5) 中定义) 它还需要 options INET6。

  一旦加载了这个内河模块, 或者将 PF 支持静态联编进内核, 就可以随时通过 pfctl 来启用或禁用 pf 了。

  下面的例子展示了如何启用 pf:

# pfctl -e
  pfctl 命令提供了一种与 pf 防火墙交互的方法。 要了解进一步的信息, 参考 pfctl(Cool 联机手册是一个不错的办法。

26.4.2 内核选项
  将下面这些选项加入到 FreeBSD 内核的编译配置文件中并不是启用 PF 的强制性要求。这里列出它们主要是为了介绍一些背景信息。 将 PF 编译到内核中之后,就不再需要使用可加载内核模块了。

  如何在内核编译配置中加入对于 PF 选项的例子可以在内核源代码中的 /usr/src/sys/conf/NOTES 这个文件中找到。 这里列举如下:

device pf
device pflog
device pfsync
  device pf 用于启用 “Packet Filter” 防火墙的支持。

  device pflog 启用可选的 pflog(4) 伪网络设备,用以通过 bpf(4) 描述符来记录流量。 pflogd(Cool 服务可以用来存储信息, 并把它们以日志形式记录到磁盘上。

  device pfsync 启用可选的 pfsync(4) 伪网络设备,用以监视 “状态变更”。 由于这不是那个可加载内核模块的一部分, 因此如果需要使用它,就必须自行编译定制的内核了。

  这些设置只有在您使用它们构建和安装新内核之后才会生效。

26.4.3 可用的 rc.conf 选项
  您需要在 /etc/rc.conf 中添加如下配置, 以便在启动时激活 PF:

pf_enable="YES" # 启用 PF (如果需要的话, 自动加载内核模块)
pf_rules="/etc/pf.conf" # pf 使用的规则定义文件
pf_flags="" # 启动时传递给 pfctl 的其他选项
pflog_enable="YES" # 启动 pflogd(Cool
pflog_logfile="/var/log/pflog" # pflogd 用于记录日志的文件名
pflog_flags="" # 启动时传递给 pflogd 的其他选项
  如果您的防火墙后面有一个 LAN, 而且需要通过它来转发 LAN 上的包, 或进行 NAT,还必须同时启用下述选项:

gateway_enable="YES" # 启用作为 LAN 网关的功能
26.4.4 启用 ALTQ
  ALTQ 只有在作为编译选项加入到 FreeBSD 内核时,才能使用。 ALTQ 目前还不是所有的可用网卡驱动都能够支持的。 请参见 altq(4) 联机手册了解您正使用的 FreeBSD 版本中的驱动支持情况。 下面这些选项将启用 ALTQ 以及一些附加的功能。

options ALTQ
options ALTQ_CBQ # Class Bases Queuing (CBQ)
options ALTQ_RED # Random Early Detection (RED)
options ALTQ_RIO # RED In/Out
options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC)
options ALTQ_PRIQ # Priority Queuing (PRIQ)
options ALTQ_NOPCC # Required for SMP build
  options ALTQ 将启用 ALTQ 框架的支持。

  options ALTQ_CBQ 用于启用基于分类的队列 (CBQ) 支持。 CBQ 允许您将连接分成不同的类别, 或者说, 队列, 以便在规则中为它们指定不同的优先级。

  options ALTQ_RED 将启用随机预检测 (RED)。 RED 是一种用于防止网络拥塞的技术。 RED 度量队列的长度,并将其与队列的最大和最小长度阈值进行比较。 如果队列过长, 则新的包将被丢弃。 如名所示, RED 从不同的连接中随机地丢弃数据包。

  options ALTQ_RIO 将启用出入的随机预检测。

  options ALTQ_HFSC 启用层次式公平服务平滑包调度器。要了解关于 HFSC 进一步的信息, 请参见 http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html

  options ALTQ_PRIQ 启用优先队列 (PRIQ)。 PRIQ 首先允许高优先级队列中的包通过。

  options ALTQ_NOPCC 启用 ALTQ 的 SMP 支持。 如果是 SMP 系统, 则必须使用它。

26.4.5 建立过滤规则
  Packet Filter 会从 pf.conf(5) 文件中读取配置规则, 并根据那里的规则修改、 丢弃或让数据包通过。 默认安装的 FreeBSD 已经提供了一格默认的、 包含一些有用例子和注释的 /etc/pf.conf。

  尽管 FreeBSD 提供了自己的 /etc/pf.conf, 但这个文件和 OpenBSD 中的语法是一样的。 OpenBSD 开发团队提供了一个非常好的配置 pf 资源, 它可以在 http://www.openbsd.org/faq/pf/ 找到。

警告: 在浏览 pf 用户手册时, 请时刻注意, 在 FreeBSD 中所包含的 pf 的版本和 OpenBSD 中是不一样的。 在 FreeBSD 5.X 中 pf 相当于 OpenBSD 3.5 中的版本, 而 FreeBSD 6.X 中则相当于 OpenBSD 3.7。

  关于 pf 的配置和使用问题, 可以在 FreeBSD packet filter 邮件列表 提出。 当然, 在提出问题之前, 别忘了查阅邮件列表的存档。
[Original] [Print] [Top]
« Previous thread
普通至强XEON cpu,gcc编译该如何优化?
技术交流
59
Next thread »
关于Zend在freebsd6.0下的安装(最近提到这个的人不少)
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2007-07-26 13:32:59, cost 0.015459060668945 ms.