Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15198955
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: BSD

2008-04-08 10:36:15

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    # 顯示現階段所有統計的資料

阅读(784) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~