USBメモリにインストールした場合、マシンによってはマウントに失敗するなど正常に起動できない場合があるのでこれの対応方法も記載します。起動するまでのインストール時のトラブル対応にはFreeBSDのLiveFS CDがあると便利なので用意しておくと良いでしょう。
pfSenseの2010年11月現在の安定版はVer.1.2.3でhttp://www.pfsense.org/mirror.php?section=downloadsからダウンロードします。RC3版の頃から2010年11月まで1年半程使用しましたが全くトラブル無く快適に使用できました。
待望のVer.2.0のβ版は毎日新しいスナップショットが作られていて、http://snapshots.pfsense.org/からダウンロードします。β版ということで一部未完成な部分も見受けられますが、Ver.1.2.3より大幅に機能が強化されており、安定性も十分だと思います。
この記事ではVer.2.0βのi386用20101029-1233 LiveCD版を使用しています。他にNanoBSD組み込み版もありますが、インストール画面がVGAに出力されずRS232Cで通信する必要があるのでPCをルータにする場合には特に採用する必要はないかと思います。逆にALIXボード等をルータにする場合は組み込み版一択になるでしょう。
pfSenseをUSBメモリにインストールする場合ルーターにするPCでなく別のPCを使うことも可能です。今回はルーターにするPCにCDドライブが付いていないのでデスクトップ用のPCにUSBメモリを挿してインストールしました。この方法の場合、間違って既存のハードディスクにインストールしてしまったり余計な起動情報などを書き込んだりしないよう注意する必要があります。
pfSense(FreeBSD)ではUSBメモリをda0**として認識しますが、これはSCSIデバイスとして扱われているということです。SCSIの場合はデバイスを認識するまでに一定の時間が必要なのですが、どうもpfSense(FreeBSD)ではUSBメモリの認識までの待ち時間が短すぎて上手くいかないことがあるようです。(pfSenseの問題というよりFreeBSDの問題だと思います)
/boot/loader.confに次の一行を加えると上手くいくようになる筈です。
kern.cam.boot_delay=10000
ただし、pfSenseが起動した後ならpfSenseのメニューからShellを起動してファイルを編集するだけなので簡単なのですが、マウント失敗はOS起動中に発生してその後の作業ができないのでpfSense自体からは変更することができません。
別にFreeBSDの入ったPCがあればUSBメモリをそれに挿して変更してやれば良いのですが、無ければFreeBSDのLiveFS CDでPCを起動して作業します。
#mkdir /pfSense (ディレクトリ名は適当で良いです)
#mount /dev/da0s1a /pfSense (USBメモリを/pfSenseにマウント)
#ee /pfSense/boot/loader.conf (ちょっとした作業にはeeエディタが簡単だと思います)
ここで先程の1行を追加します。eeエディタの終了は[ESC]から[a][Enter]
#umount /dev/da0s1a (忘れずにアンマウントしておきます)
#reboot
作成中

普段BitTorrentなんて使わないが、とりあえず大きな(怪しくない^^)ファイルを幾つか落としてみた。
思ったより速度出るものです。(上りは帯域絞りました。)