|
 
|
1#
发表于 2006-11-25 22:28
| 只看该作者
FreeBSD 5.3 Release PF 初体验
FreeBSD 5.3 Release PF 初体验
Description :
FreeBSD 5.3 R 终于出来了,盼了好久终于 Release ,今天利用一些时间小小测试一下 Packet Filter, PF 果真不失所望,效能为现阶段 FreeBSD 里三款 Firewall 中最强之首选,以下是我个人的安装过程,我将它记录下来也给大家参考参考。
Environment :
硬件:i386 PC Intel P3 500
内存网卡:256M RAM + 二片 Intel 网卡
操作系统:FreeBSD 5.3 Release
Setp 1.
编译核心 Compiler Kernel :#cd /usr/src/sys/i386/conf
#vi GENERIC # 将 PF 防火墙 及 CBQ 频宽控制 放入 FreeBSD 核心
device pf
device pflog
device pfsync
options ALTQ
options ALTQ_CBQ
#config GENERIC
#cd ../compile/GENERIC
#make depend all install Setp 2.
设定配置 Configuration:#vi /etc/rc.conf # 设定开机启动档
defaultrouter="88.88.88.254"
hostname="pf.ntut.idv.tw"
ifconfig_fxp0="inet 88.88.88.3 netmask 255.255.255.0"
ifconfig_fxp1="inet 10.10.10.254 netmask 255.255.255.0"
inetd_enable="YES"
pf_enable="YES"
pflog_enable="YES" #vi /etc/sysctl.conf # 开启 NAT 的 IP Forwarding 环境
net.inet.ip.forwarding=1 #vi /etc/inetd.conf # 打开 ftp 的替代 port 如此 NAT 内部才能对外使用 ftp 抓东西
ftp-proxy stream tcp nowait root /usr/libexec/ftp-proxy ftp-proxy #vi /etc/pf.conf # 设定防火墙规则,频宽控制upload 跟 download 一定要在不同 interface
# Macros 定义网络接口
ext_if="fxp0"
int_if="fxp1"
# ALTQ 定义频宽控制的进出
# Outgoing bandwidth limit
altq on $ext_if cbq bandwidth 512Kb queue { std_out }
queue std_out bandwidth 256Kb cbq (default)
# Incoming bandwidth limit
altq on $int_if cbq bandwidth 2Mb queue { std_in }
queue std_in bandwidth 768Kb cbq (default borrow)
# NAT 定义封包转换
nat on $ext_if from $int_if:network to any -> ($ext_if)
rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021
# Filter Rules 定义防火墙规则
pass in all
pass out all
# Bandwidth Control
pass out on $ext_if proto tcp from any to any queue std_out
pass in on $int_if proto tcp from any to any queue std_in Setp 3.
操作控制 Operation & Control:#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 # 显示现阶段所有统计的数据 |
|