Tag Archives: pfSense

vsftpd behind pfsense

早期 ftp server 只提供 active mode,client 端與 ftp server 建立連線後由 server 的 port 20 連到 client 指定的 port 進行資料傳輸,但是在目前的網路環境下,通常 client 端前方都有 firewall 或分享器,server port 20 連回 client 端時通常都會被 firewall 或分享器擋掉,因此系統管理人員常會遇到用戶抱怨無法使用 ftp server。

為了解決 active mode 的問題,ftp 協定稍後增加了 passive mode,client 端與 ftp server 建立連線後由 server 通知 client 端連接到 server 所開啟的另一個 high port 進行資料傳輸,在這個模式下如果  ftp server 位於 firewall 後端,而且是以 port forward 方式提供服務,設定上會比較複雜,以下以 vsftp 在 pfsense 後端提供服務為例,說明所需的設定:

vsftpd

在 vsftpd.conf 加入以下設定

pasv_addr_resolve=YES
pasv_address=<your server’s full qualified domain name>
pasv_min_port=60000
pasv_max_port=60100

pfSense

firewall rules

1. allow any traffic to <wan ip>:21

2. allow any traffic to <wan ip>:60000~60100

NAT rules

1. WAN port 21 forward to <internal server ip>:21

2. WAN port 60000~60100 forward to <internal server ip>:60000~60100

 

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

pfSense 與 log 管理

最近在測試 pfSense 順便記一下發生的問題,設備是一台 4 port realtek 網卡的 PC,先在 CF 裝最新 1.2.2 版 embedded image,結果不知什麼原因 DMZ 和 LAN 2 個設定好的網段不能互通,在 forum 上提出來也沒回應,最後參考一些 post downgrade 到 1.2.0 版後,同樣的設定運作就正常了,另外要求 128M 以上的記憶體對 embedded 而言似乎高了點,目前是剛好 128M 的記憶體在跑,還沒有出現任何問題。

CF 卡空間有限 ,把 log 存到遠端的 server 是一個很好的作法,以 fedora 為例,只要修改 /etc/sysconfig/rsyslog 將設定改為

SYSLOGD_OPTIONS=”-m 0 -x -r”
再重新啟動 rsyslogd 服務,Fedora 就可以接收來自 pfSense 的 log。

但是這個作法有一個缺點,pfSense 和系統的 log 全混在 /var/log/messages 了,firewall 設備 log 量特別大,另外寫到一個獨立的檔案會更好管理。首先我們要判斷 pfSense 送出來的 log 是帶那一個 facility,先停止 rsyslogd 服務,以 root 身份執行以下指令即時監看一下 pfSense 送出來的 log

rsyslogd -m 0 -x -r -d

很快的應該會看到類似以下的事件

1800607472: logmsg: local0.info<134>, flags 2, from ‘x.x.x.x’, msg Mar 18 00:18:48 pf: 128. 341606 rule 67/0(match): block in …..

所以我們可以發現 pfSense 是利用 local0 facility 來傳送 log,只要在 /etc/rsyslog.conf 加入以下設定,就可以把 pfSense 送出來的 log 存到指定的檔案

local0.*          /var/log/pfsense.log

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...