Freebsd PF 安装使用

2009-05-13 13:23:47来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折



FreeBSD下的PF

  FreeBSD下的包过滤工具有IPFW,IPF以及PF,它们各有特点。PF原本是OpenBSD下的包过滤工具,FreeBSD开发人员已经把PF移植到了FreeBSD上了。如果要在FreeBSD上使用PF,需如下操作:
1. 编译内核:
  cd /usr/src/sys/i386/conf
    cp GENERIC LOULAN
    编辑 LOULAN加入以下内容
    device pf
    device pflog
    device pfsync
    options ALTQ
    options ALTQ_CBQ
    options ALTQ_RED
    options ALTQ_RIO
    options ALTQ_HFSC
    options ALTQ_CDNR
    options ALTQ_PRIQ
    options ALTQ_NOPCC
    options ALTQ_DEBUG
    config LOULAN
    make depend&& make && make install && reboot
2. 编写防火墙规则pf.conf
  具体可以参考 man pf.conf ,根据实现需求编写防火墙规则。
    pfctl -f pf.conf      应用pf.conf的规则
    pfctl -sr            查看访问规则
    pfctl -sn            查看NAT规则
    pfctl -sa            查看所有PF信息
    pfctl -Rf pf.conf    重新加载访问规则
    pfctl -Nf pf.conf    重新加载NAT规则
    pfctl -Fa -f pf.conf 重新加载所有规则


Freebsd PF 安装使用

要在 FreeBSD 6.2 上使用 PF 防火墙,有二个方式,一个是编译进入核心,另外是以动态模块方式加载。
编译进入核心的方式
#FreeBSD log traffic,如果有使用 pflog,就要编译进核心
device bpf
#启动 PF Firewall
device pf
#启动虚拟网络设备来记录流量(经由 bpf)
device pflog
#启动虚拟网络设备来监视网络状态
device pfsync
以动态模块加载
vi /etc/rc.conf
加入下面四行
#启用 PF
pf_enable="YES"
#PF 防火墙规则的设定文件
pf_rules="/etc/pf.conf"
#启用 inetd 服务
inetd_enable="YES"
#启动 pflogd
pflog_enable="YES"
#pflogd 储存记录档案的地方
pflog_logfile="/var/log/pflog"
#转送封包
gateway_enable="YES"
#开启 ftp-proxy 功能
vi /etc/inetd.conf
把下面这一行最前面的 # 删除
ftp-proxy stream tcp nowait root /usr/libexec/ftp-proxy ftp-proxy
使用 sysctl 做设定(也可以重新开机让设定生效)
sysctl -w net.inet.ip.forwarding=1
vi /etc/pf.conf
#对外的网络卡
ext_if = "sis0"
#对内的网络卡
int_if = "rl0"
#频宽控管
#定义 std_out 总频宽 512Kb
#altq on $ext_if cbq bandwidth 512Kb queue { std_out }
#定义 std_out 队列频宽 256Kb,使用预设队列
#queue std_out bandwith 256Kb cbq (default)
#定义 std_in 总频宽 2Mb
#altq on $int_if cbq bandwidth 2Mb queue { std_in }

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:JAVA 运算符和表达式

下一篇:unix,linux 关机命令