Freebsd上使用pf防火墙

2009-05-13 15:41:37来源:未知 阅读 ()

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

要在 FreeBSD 6.1 上使用 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 }
#假設頻寬足夠的話,可以從父佇列借用額外的頻寬
#queue std_in bandwidth 768Kb cbq (brrrow)
#對外開放的服務
open_services = "{80, 443}"
#內部私有的 IP
priv_nets = "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8 }"
# options
#設定拒絕連線封包的處理方式
set block-policy return
#
set optimization aggressive
#紀錄 $ext_if
set loginterface $ext_if
# scrub
#整理封包
scrub in all
#nat
#NAT 位址轉譯處理
nat on $ext_if from $int_if:network to any -> $ext_if
#ftp-proxy
#ftp-proxy 重新導向
rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021
#
rdr on $ext_if proto tcp from any to 140.111.152.13 port 21 -> 192.168.13.253 port 21
#Transparent Proxy Server
rdr on rl0 proto tcp from 192.168.13.0/24 to any 80 -> 127.0.0.1 port 3128

标签:

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

上一篇:一口气做了8集完整的OpenBSD快速入门系列视频,希望大家喜欢

下一篇:PF防火墙详解