Freebsd PF 安装使用
2009-02-13 12:22:51 来源:WEB开发网pass out on $int_if from any to $int_if:network keep state
#开放对外网络的联机
#pass out $ext_if proto tcp from any to any queue std_out
pass out on $ext_if proto tcp all modulate state flags S/SA
pass out on $ext_if proto { udp, icmp } all keep state
启动 PF,并读取 pf 规则
pfctl -e;pfctl -f /etc/pf.conf
PF 指令的用法
#启动 PF
pfctl -e
#加载 PF 规则
pfctl -f /etc/pf.conf
#检查 PF 语法是否正确 (未加载)
pfctl -nf /etc/pf.conf
#停用 PF
pfctl -d
#重读 PF 设定档中的 NAT 部分
pfctl -f /etc/pf.conf -N
#重读 PF 设定档中的 filter rules
pfctl -f /etc/pf.conf -R
#重读 PF 设定文件中的选项规则
pfctl -f /etc/pf.conf -O
#查看 PF 信息
#显示现阶段过滤封包的统计资料
pfctl -s info
pfctl -si
pfctl -s memory
#显示现阶段过滤的规则
pfctl -s rules
pfctl -sr
pfctl -vs rules
#显示现阶段过滤封包的统计资料
pfctl -vsr
#显示现阶段 NAT 的规则
pfctl -s nat
pfctl -sn
#检视目前队列
pfctl -s queue
#显示现阶段所有统计的数据
pfctl -s all
pfctl -sa
#清除 PF 规则
#清空 NAT 规则
pfctl -F nat
#清空队列
pfctl -F queue
#清空封包过滤规则
pfctl -F rules
#清空计数器
pfctl -F info
pfctl -F Tables
#清空所有的规则
pfctl -F all
#PF Tables 的使用
#显示 table 内数据
pfctl -t ssh-bruteforce -Tshow
pfctl -t table_name -T add spammers.org
pfctl -t table_name -T delete spammers.org
pfctl -t table_name -T flush
pfctl -t table_name -T show
pfctl -t table_name -T zero
过滤扫描侦测软件
block in quick proto tcp all flags SF/SFRA
block in quick proto tcp all flags SFUP/SFRAU
block in quick proto tcp all flags FPU/SFRAUP
block in quick proto tcp all flags /SFRA
block in quick proto tcp all flags F/SFRA
block in quick proto tcp all flags U/SFRAU
block in quick proto tcp all flags P
如果防火墙和 Proxy Server 不在同一台主机
Proxy Server:192.168.13.250
no rdr on rl0 proto tcp from 192.168.13.250 to any port 80
rdr on rl0 proto tcp from 192.168.13.0/24 to any port 80 -> 192.168.13.250 port 3128
出处:http://blog.chinaunix.net/u2/66172/showart_571855.html
更多精彩
赞助商链接