期刊/使用 pfSense 打造個人防火牆(下)
出自台灣中等學校資訊管理人學會
目錄 |
[編輯] 使用 WebGUI 設定 pfSense
使用精靈初始化 pfSense 後,就可用瀏覽器瀏覽 pfSense WebGUI 管理畫面,透過 Web 來管理你的 pfSense 主機。pfSense 管理介面很友善,所有功能都顯示在上方頁面選單中。由於 pfSense 大部分功能表功能和設定方式與其它寬頻路由器類似,筆者在這裡就不再重複,下面筆者主要對 pfSense 專有功能進行介紹:
[編輯] 設定多 WAN 線路
使用多條不同的WAN線路傳輸資料,可再提高頻寬的同時還能實現線路備援的功能。 pfSense 目前只支援使用固定 IP 與 DHCP 來連接多 WAN 線路,暫時還不支援 PPPOE 和 PPTP 等多 WAN接入線路(官方已宣佈正開發 PPPOE 多 WAN 接入線路的功能,相信 pfSense 的下個版本就會支援)。
(1) 將實體網卡正確連接到電腦上。
(2) 進入 pfSense 的 Web 管理介面,選擇上方頁面 "Interfaces" 下的 "{assign}" 超連結。
(3) 在出現的 "Interface assignments" 頁面中,按一下畫面右邊 "+" 超連結。
(4) PfSense 會自動增加一塊名為 "OPT1" 的介面,請為該介面選擇網卡,然後按一下 "Save" 按鈕儲存(如下圖)。
(5) 這時會發現在選單功能頁面的 "Interfaces" 下增加了一個 "OPT1" 功能表,請按一下 "OPT1" 超連結。
(6) 在出現的頁面中,請選擇 "Enable Optional 1 interface" 核取方塊,並根據實際情況輸入 "OPT1" 介面的名稱、IP 位址、子網路遮罩和閘道位址等,設定完後按一下 "Save" 按鈕儲存即可。(如下圖)
[編輯] Web 使用者認證服務
相信用過許多公眾無線網路的讀者對Web認證寬頻連接不會感到陌生,即用戶第一次啟動 Web 瀏覽器瀏覽網際網路時,Web 瀏覽器將自動連接到指定的 Web 認證頁面,使用者在認證頁面輸入用戶名稱和密碼,通過認證後,才允許瀏覽網際網路。這種無線連接認證技術非常方便,使用者無須設定任何網路參數(如 IP 位址和子網路遮罩等),也無需安裝任何用戶端軟體,使用 Web 瀏覽器就能完成用戶認證,pfSense 將 Web 使用者認證服務稱為 Captive portal。
(1) 按一下主選單功能頁面 "Services" 功能表下的 "Captive portal" 超連結。
(2) 在出現的頁面中,選擇 "Captive portal" 選項(如下圖),請選擇 "Enable captive portal" 核取方塊,並選擇 "Interface" 為 "LAN" 。 "Idle timeout" 用於設定用戶連接不活動時間超過指定的值就強行斷開用戶連接,如果想取消該選項,讓其空白即可。 "Hard timeout" 用於設定強行斷開用戶連接的時間,該選項不會理會使用者連接是否活動,只要時間到就強行斷開使用者連接,這個選項可以讓我們斷開那些沒事開著電腦下載的使用者,如果是正常的用戶被斷開,只要重新登錄即可恢復連線。 "Enable logout popup window" 用戶設定登錄快顯視窗。 "Redirection URL" 用於設定當用戶通過認證後,被強制轉向哪個 URL。
(3) 如果在 "RADIUS server" 選擇 "Local user manager" 則表示採用 pfSense 自有帳戶資料庫,此時需要在 pfSense 建立相應帳戶;如果選擇 "RADIUS Authentication" 表示採用 RADIUS 伺服器認證,需要輸入 RADIUS 伺服器 IP 位址、認證埠號、共用密鑰、是否需要記帳和記帳埠號 (如下圖)。
(4) 如果要採用安全的 HTTPS 認證方式可以選擇 "Enable HTTPS login" 核取方塊,然後輸入 "HTTPS certificate" 和 "HTTPS private key" 等相關資訊。
(5) "Portal page contents" 用於設定使用者 Web 認證頁面,請按一下 "瀏覽" 按鈕選擇預先編輯好的網頁,雖然網頁的內容可以由我們編輯,但要包含選項下方的 HTML 程式碼以便向 pfSense 送出使用者資訊。 "Authentication error page contents" 用於設定使用者認證錯誤時顯示的錯誤頁面,然後按一下 "Save" 按鈕儲存。
(6) 接著選擇 "Users" 選項來管理 pfSense 自有帳戶資料庫,按一下 "+" 超連結,在出現的頁面中輸入帳戶的相關資訊(如下圖),然後按一下 "Save" 按鈕保存。
(7) 對於某些特殊的用戶(如老闆),可以將他們電腦網卡 MAC 位址加到 "Pass-through MAC" 選項裡,這樣他們就可以不需要經過用戶認證直接上網。需要注意的是,這些用戶還是會受到 "Idle timeout" 和 "Hard timeout" 選項的約束。
(8) 對於對外連到 Internet 的伺服器而言,我們希望它們能 24 小時連接 Internet 而不受 Web 使用者認證服務影響,可以在 "Allowed IP addresses" 選項來設定實現。選擇 "Allowed IP addresses" ,單 "+" 超連結,在出現的頁面中選擇 "Direction" 為 "From" ,輸入伺服器的 IP 位址和說明(如下圖),然後按一下 "Save" 按鈕保存。如果要允許所有用戶不經過用戶認證就能直接瀏覽 Internet 中的某台伺服器(如公司的 Web 伺服器),則增加時選擇 "Direction" 為 "To" ,然後輸入 Internet 中伺服器的 IP 位址即可。
(9) 完成了以上步驟後,如果 pfSense 開啟了 DHCP 伺服器,並將客戶端設定為自動取得 IP 位址,則客戶端上網打開瀏覽器時會出現我們編輯的Web認證網頁,只有通過認證後才能上網。如果客戶端是手動指定 IP 位址,則需要將預設閘道器和 DNS 伺服器都設為 pfSense 內部網卡的 IP 位址。(如:192.168.0.10)
小知識: 什麼是 RADIUS? RADIUS 是 Remote Authentication Dial in User Service 的縮寫,即遠端認證撥號使用者服務,它定義了網路接入伺服器 NAS(Network Access Server,如 VPN 和 PPPOE 等伺服器)與 RADIUS 伺服器之間如何傳遞使用者資訊和記帳資訊。RADIUS 伺服器負責接收用戶的連接請求,完成驗證,並把傳遞服務給使用者所需的設定資訊送回給NAS,使用者取得授權後,RADIUS 伺服器還可以完成對帳號連接過程中的計費功能。
[編輯] 安裝套裝軟體
pfSense 可以透過安裝套裝軟體 (Packages) 來增加其功能,如提供 FTP 服務、代理服務和防垃圾郵件等服務。下面筆者以安裝代理服務 squid 套裝軟體為例進行介紹:
(1) 更新可以安裝外掛程式列表
按一下 pfSense 主功能表頁面 "System" 下的 "Packages" 超連結,pfSense 會從伺服器下載目前可用的套裝軟體清單並顯示出來(如下圖)。
(2) 選擇需要的外掛程式 在列表中找到 "squid" 套裝軟體,然後按一下旁邊的 "+" 超連結,pfSense 會彈出一個對話方塊讓我們確認是否安裝,請按一下 "確定" 按鈕。
(3) 安裝外掛程式 pfSense 會自動從伺服器下載並安裝相關套裝軟體(如下圖),安裝 squid 代理軟體後,pfSense 自動將其設定成透明代理,客戶端上網速度比那些只有 NAT 功能的寬頻路由器要快上許多,由於 pfSense 預設已經對 squid 套裝軟體進行了設定和任務最佳化,不需要我們再去設定了。對於需要使用者設定的套裝軟體(如 Pure-FTPD 和 freeradius),其在安裝後會在管理頁面中增加相應的功能表供使用者設定。
[編輯] 查看網卡流量資訊
pfSense 提供了非常直覺的圖表來顯示網卡流量資訊,透過監控網卡流量,系統管理員可以掌握網路的執行狀況。按一下 pfSense 主功能頁面 "Status" 功能表下的 "Traffic graph" 超連結,在出現的頁面中選擇要查看的介面,然後就可以看到該介面輸入/輸出的流量(如下圖)。如果看不到流量圖,則表示客戶端沒有安裝 Adobe SVG Viewer 軟體。可以到 http://www.adobe.com/svg/viewer/install/ 下載。
[編輯] 遠端喚醒 LAN 電腦
筆者覺得這項功能非常實用,因為當我們在外出差或在家辦公時,可以借助該功能遠端喚醒 LAN 中的電腦,並透過 pfSense 來連接這台電腦的資源。
按一下左頁面 "Services" 功能表下的 "Wake on LAN" 超連結,在出現的頁面中輸入電腦的 MAC 位址,然後按一下 "Send" 按鈕(如下圖),pfSense 會向目的電腦發送特殊的遠端喚醒資料封包,如果目的電腦的 CMOS 中已經設定允許遠端喚醒,則收到遠端資料封包後就會立即開機。
[編輯] Firmware 的更新
pfSense 的升級速度非常快的,但 pfSense 安裝光碟的的更新速度一般會比 Firmware 更新速度慢很多,也就是說用最新的安裝光碟來安裝 pfSense 並不能保證它 Firmware 的版本是最新的,所以經常更新 Firmware 是系統管理員必不可少的工作之一。如果在使用 pfSense 的過程中,遇到一些無法解決的問題,可以先將 Firmware 升級到最新版看問題是否能解決。筆者在實際使用中發現 pfSense 的自動更新功能並不好用,也許是 pfSense 的 Firmware 比較大(一般有 27MB 左右),造成自動更新經常出現更新失敗的情況,所以我們最好使用一些下載工具到 http://www.pfsense.org/mirror.php?section=updates下載最新的Firmware,然後手動進行升級。
(1) 下載 Firmware:在用戶端使用瀏覽器開啟 http://www.pfsense.org/mirror.php?section=updates 網址,下載最新的 Firmware 並儲存在用戶端的硬碟上。
(2) 開始更新:進入 pfSense 的 Web 管理介面,按一下 pfSense 主功能頁面 "System" 功能表下的 "Firmware" 超連結。
(2.1)在出現的頁面中,選擇 "Firmware Update" 選項卡,然後按一下 "Enable firmware upload" 按鈕。
(2.2)在出現的頁面中,按一下 "瀏覽" 按鈕並選擇儲存在客戶端上的 Firmware 檔(如下圖),然後按一下 "Upgrade firmware" 按鈕,pfSense會上傳 Firmware 檔並自動升級,升級完成 pfSense 會自動重啟電腦以使用新的 Firmware。
[編輯] 備份 pfSense 設定
安裝及基本設定後,可使用 pfSense 主功能頁面 Diagnostics 功能表下的 Backup/Restore 超連結,使用備份及還原功能。(如下圖)
(1) Backup configuration : 備份目前的設定,若點選 "Do not backup package information." 則不備份 packages 的相關設定。
(2) Restore configuration : 將備份的設定檔匯入,以回覆先前的設定檔。若原備份檔不含 packages 的相關設定,則 packages 都必須透過 pfSense 的 webGUI 重新安裝一次。
[編輯] SNMP (Simple Net work Management Protocol)
SNMP 可監控你的網路卡進出流量,並透過網路提供具有 MTRG 的機器來描繪流量圖,不過 pfSense 本身不提供 MTRG 的作圖。 如要開啓 SNMP,只要開啟 pfSense 主功能頁面 "Services" 功能選單下 "SNMP" 連結,在 SNMP Daemon 中選取 Enable (打勾)即可。(如下圖)
[編輯] RRD Graph 最近一定時間內之統計圖
RRD Graph 記錄最近 4h(hour), 16h, 2d(day), 1m(month), 1y(year) 的統計圖。(如下圖)其統計圖表包括如下:
- System: 紀錄 CPU 利用率、數量 (utilization, number)
- Traffic : 記錄整體流量 (bits/sec)
- Packets : 記錄單位時間的封包數 (packets/sec, pps)
- Quality : 記錄回應時間 (ms) 及封包遺失率 (%)
- Queues : 記錄各個 Queue 的流量 (bits/sec)
[編輯] 後記
pfSense 是一款功能強大的路由器防火牆軟體,不過根據預設的安裝,pfSense 由於沒有安裝 Squid,所以性能比較差。如果你們公司比較大,網路中需要共用上網的主機比較多,請一定要安裝 Squid,並為之設定比較快的硬碟作為暫存空間。這樣用戶上網瀏覽網頁的時間會明顯有縮短的感受。
透過上面的文章介紹,利用 pfSense 軟體,我們完全可以將一台硬體設定不高的電腦,架設成一台全功能的 Internet 路由器、防火牆。
