現在電腦日新月異,常常換電腦的習慣會導致家裏電腦越來越多
好一點的家庭當然每個人超過一台電腦或是以上,還有配備專屬驢子機
以我家來說電腦就九台了,需求當然不只有是大家可以透過NAT上上網,
網芳彼此分享檔案,怎麼樣作管理,我想也是很重要的一環,而這一點,
弄一台家用等級的防火牆是不可避免的。

那麼我先列出家用電腦的防火牆至少基本具備哪些功能
01. Firewall,幫大家擋住攻擊 (省去每一台電腦都裝上防火牆軟體)
02. NAT,提供大家上網
03. DHCP,管理IP
04. WebGUI,要易於管理

目前為止,這也是一般一千元左右的IP分享器能夠提供的等級,那麼更進階還需要什麼呢?
05. Firewall,可設定 block/pass rules,可過濾封包(packet filtering)
06. Port Forward,轉 port
07. log system,詳細的系統紀錄

這邊大概是好一點的IP分享器具備的等級了,那麼再好需要多好呢?
08. Traffic shaper,可針對單一IP限流,或是針對IP或是service的priority作設定
09. Wireless a/b/g HostAP,當無線基地台,至少要可WEP,WPA,隱藏 SSID等等
10. uPnP,讓MSN之類的可以穿透firewall

截至目前為止,具備這些功能的防火牆想必非常符合家用電腦了,那是否還需要更進接的功能呢?
11. IPSec,連接兩個Private Network,我自己是拿來作跟實驗室的網路串
12. PPTP,在外面臨時想要連回家取用某一台電腦的資源時就派上用場了
13. Captive portal,讓你家的網路必須透過網頁認證才可以使用網路的功能,應用在無線網路上最好用
14. SNMP,讓你知道電腦網路的使用情況,再用MRTG去作圖
15. NTOP,統計一下區網的電腦使用的情況,主要看傳輸資料類型和總共上傳下載多少作統計

以上這些功能,你可以用錢買的到,大概過把萬的router就可以弄到這些功能了
但是如果你有一台爛電腦,也可以讓你把爛電腦升級成這些功能的喔!

而這些功能,都可以透過pfSense來達成,pfSense是base on FreeBSD 6.1加上pf的系統修改而成的
free,no charge,但是破爛電腦請自備
備註:pfSense有很多功能都是monowall修改而來的 (base FreeBSD 4.9 + ipfilter)

簡單來說pfSense是套作業系統,不是軟體,是你必須安裝在一台電腦上的,基本需求
CPU普通就好(隨著服務的機器越多,當然準備越快越好)
RAM至少需要128MB
安裝空間至少128MB,可安裝在CDROM,HD,CF卡上
(最簡單的作法當然是去找一張128MB的CF配上IDE轉CF的卡就很方便了)
網路卡準備兩張作NAT,如果要再架設無線基地台,再加上一張無線網路卡即可 (最好是Atheros晶片)

破電腦 + 一張128MB CF + (2+1)張網路卡, 來開始實現效能優異的家用防火牆吧!

當然,我必須說,pfSense既然是base on FreeBSD,所以其實pfSense可以做到的功能,FreeBSD + pf 當然都可以做到,只是在設定上,如果用FreeBSD,就得一個設定檔一個一個去弄,慢慢用手工化用vi修改,測試,好處當然是自由度很高,只是不好設定 罷了,而pfSense有方便的WebGUI和Setup wizard可以很輕易的設定出這些功能,就像是在操作一台功能強大的IP分享器似的,好處當然是就算你沒玩過FreeBSD,也可以上手,壞處是自由度 普通,就只能用pfSense給的功能和它可擴充的package,而且目前仍然有些bug存在!

pfSense的設定可能分幾個單元寫,這邊先作個小簡介,告訴大家可以玩到什麼樣的程度
我自己的pfSense的機器是如下,雖然沒有實體測試過,但是這樣的機器等級服務50台以上應該不是問題
AMD K7-850,RAM 448MB,256MB CF卡,兩張Intel 82259網路卡+Dlink G520無線網卡

以下是我家的網路架構圖,除了有pfSense外,還有一台FreeBSD作File Server和WWW、FTP………

Source: http://www.mobile01.com/topicdetail.php?f=300&t=251395
Related: http://www.pfsense.org/index.php?option=com_content&task=view&id=40&Itemid=43