構成
今回試した構成はこうです。
pfSense 2.0-BETA2評価機@PenDC E2160 Mem2G(上のやつ)
pfSense 1.2.3@Cel E3300 Mem2G
もはやRADIUS oneの皮を着た別物ですw
RADIUS oneのソフトウェア中身はともかく、ガワと電源は中々いい出来です。何よりネットワークアプライアンスっぽくていいです。今度LCDproc用のLCD買ってこようかな…
さて、邪魔なものを省き単純な図にするとこうです。
RADIUS oneが似てないのは気にしないとして、上のやつが今回RADIUSサーバになる1.2.3で下のCaptivePortalをする方が2.0Betaです。2.0の方から見ると青線がWAN側で緑線側がLANです。
RADIUSサーバのセットアップ
PackageからFreeRADIUSを追加したら、Services→FreeRADIUSでユーザーを追加します。必要なのはUsername、Password、Number of Multiple connectionです。IPの割り当てなどはVPNの認証をRADIUSサーバにした際に必要になるようで、CaptivePortalに関して言えばIPは関係ありません。これに関しては特に難しいことはないと思います。
次に、Clientsのタブを設定をします。これをしないと認証できません。
Clientには繋ぎに来るクライアントのIP、この場合には10.0.0.2を入れます。
Shared Secretには認証パスワード、Shortnameにはログを見た際にわかりやすい名前を適当に入れます。
ここではSharedkeyをsecretとします。
その他セッティングに関してはデフォルトのままでいいと思いますが、トラブルシューティングのためにLogは有効にしておいた方がいいかもしれません。
ログを見るにはSSHなりシリアルコンソールなりAnytermなりで
cat /var/log/radius.log
すれば見れます。
Captive portalのセットアップ
まずはCaptivePortalが使える状態にします。
pfSenseでCaptive Portalを始めるにはここを参照するのが手っ取り早いと思います。
注意する点として、最初は認証ページを持っていないので例に沿ったHTMLページを作って下の方にあるPortal page contentsという項目にアップロードする必要があります。
例
<html>
<body>
<form method="post" action="$PORTAL_ACTION$">
ログイン名:<input name="auth_user" type="text"><br>
パスワード:<input name="auth_pass" type="password"><br>
<input name="redirurl" type="hidden" value="$PORTAL_REDIRURL$">
<input name="accept" type="submit" value="Continue">
</form>
</body>
</html>
そして敢えてここでRADIUS認証をしてみます。需要があるのかどうか知りませんがw
変わる手順としてはAuthの所をRADIUSにするだけです。
あとは、SharedkeyにFreeRADIUSのClientsで設定したパス(ここではsecret)を入れておきます。
そうしたらあとはCaptivePortalが有効になっているインターフェースに繋げば、ブラウザでどのページを開いても認証ページへ強制リダイレクトされるので「FreeRADIUSのユーザーとパスワード」を入れれば通信が開始されると思います。
ね?簡単でしょ?
しかし本当に遊べますねpfSenseは…。
[ 4 コメント ] ( 1929 回表示 ) | このエントリーのURL | ( 2.9 / 1696 ) | ツイート
時間に余裕があったので久々にpfSenseを弄ってみました。
長くなるので結論から先に言うと
・64ビット版パッケージはまだ開発段階
・32ビット版は使えるけど一部パッケージが対応していない
・地味にStunnelが使えないのが痛い
・OpenVPNやSSLのCert管理機能が大幅によくなってる
・その他追加されたパッケージがいくつかある他は1.2.3と大差はない
アップデート編
http://snapshots.pfsense.org/ に64ビット版のパッケージがあったのでLiveCD installerの pfSense-2.0-BETA1-20100525-1645.iso.gzを入れてみようと思いCDに焼いてみたのですが、Installerを立ち上げようとするとWating backend....から先に進みませんでした。i386版も同じく無理でした。HW構成は以前RADIUS oneにASUS M/B入れたときの構成のままです。
次に1.2.3を入れてSystem→Firm →Manual updateからファームを上げようと思ったのですが、pfSense-Full-Update-2.0-BETA1-20100525-1645.tgzをアップロードしてもファームがアップロード完了してから先に進まないという状況になってしまいました。仕事してるのかとコンソールからTOPを実行してみましたが1時間待っても0.0.0のまま変化無しです。
ダメ元でコンソール(D-sub9ピン)からXModemでのアップデートをしようと思ったのですが、13) Upgrade from consoleからHTTPでアップデート出来るようだったので
http://snapshots.pfsense.org/FreeBSD_RE ... 5-1645.tgz
を指定して実行したところ、「サインされてないけどいいの?オフィシャルじゃないからどんなことが起きても知らないよ?」といわれましたがyで実行。
するとファームのアップデートが開始されました。
しかし64ビット版パッケージだとファームのアップデートに3時間くらいかかりました。@Mem2G,CelDC E3300 カーネルをビルドしてる?
そしてコンソールからIPを設定してWebUIにアクセスするといつもと変わらぬインターフェースが待っていました。
しかし64ビットはBetaだけあってまだいくつかバグがあるようです。
・コンソールでDateを打つとJSTの時刻で帰ってくるのに設定してもトップのCurrent date/timeがUTCになってログの日付もUTCになる
・DNSを指定してると何故かNSLOOKUP/Pingが出来てもwww.pfsense.orgに繋がらないと言われる
・同じくパッケージをインスコしようとしてもパッケージサーバーに繋がらないと言われる
・DNSを指定せずにPPPoE接続時/DHCP設定時にわたされるDNSを使うと解決する
・アドオンパッケージが2つしかない(バグなのかまだパッケージを作ってる途中なのか)
パッケージに関しては本当に2つしかなかったのか不通なせいで2しかリストアップされなかったのか…。
しかし、これらの問題はi386のパッケージでは起こらなかったためi386版を使用することにしました。1xから2.0へのファームのアップデートも386だとUpdate settingsから2.0-Alpha snapshotを選ぶことにより10分くらいで終わったという。
UI編
UIに関して言えば、デザインがモダンになった他は1.2.3でDashboardパッケージを入れている場合大きく変わりません。
まあRSSを表示できるウィジットが追加されたのはいいとして、画像を表示できるウィジットはいまいち使い道が。。
というか強制的に350*350で表示しないで大きさを選ばさせてください。。
ソフトウェア編
追加されたパッケージ
portsentry
全てのポートで待ち受けて、実際に使われている以外のポートにセッションが来た瞬間にiptablesにDropが追加されるという対ポートスキャンソフト。
ただしパッケージを追加しても
Executing custom_php_install_command()...done.
Writing configuration...
から先に進まないです。pkg_addで追加すればシェルから設定できますがWebUIからだとうまくいきませんでした。惜しい。
vnstat2
ネットワーク帯域などのグラフ化をしてくれます。ntopより軽いですかntopの方が詳細にグラフ化してくれるのでマシンスペックによって選択するのがいいと思います。
OpenVPN Client Export Utility
OpenVPNの設定に必要な.key .ovpn .crtファイルを一括で固めてエクスポートしてくれます。クライアントの設定がかなり楽になります。ovpnファイルを実行するだけで繋がります。
OpenVPNの拡張
まず設定ウィザードが使えるようになりました。そしてpfSense内部で複数のユーザーをもてるので以前まで不便だと思っていた点がかなり改善されました。Free RADIUSを入れておけばそこを認証にも使えます。
また、SSLに使う証明書も簡単に設定、追加ができるようになったのでこの点もかなりよくなったと思います。
しかし残念な点があります。
Stunnelを追加すると
Downloading package configuration file... done.
Saving updated package information... done.
Downloading stunnel and its dependencies... done.
Checking for successful package installation... of stunnel-4.25 failed!
Installation aborted.
と出てパッケージの削除も再インストールも出来なくなるのです。
ライブラリの更新が関係しているらしいのですがこれは解決できませんでした。
代替策としてpkg_add -r stunnelでシェルから一から設定すれば一応動かせます。
パフォーマンスの変化については…目に見えた変化はあまりないように見えます。
もっとも、そこまで高負荷な環境で使っていないので負荷をかけ続けてどうなるかだと思います。内側からセッション張りまくってみますかねぇ。
64ビットがまともに動けばメモリの領域だとかセッション数だとかでかなり違ってくるとは思うのですが…。
パフォーマンスの測定でiperfを走らせて気がついたのですが、iperfを実行するとService->Stop iperfを実行してもシェルでpsすると何故かプロセスが残っているのでkillallしないとならなくなります。
やっぱりまだ実験段階ですね…。Stable待ちです。
[ 1 コメント ] ( 1894 回表示 ) | このエントリーのURL | ( 3 / 1792 ) | ツイート
問題です。この中でProcurveでつかるSFPはどれでしょう?
正解はFTRJ8519P1BNLで、下の2つです。
それ以外はNot a Prcurve transceiverと言われてFaultLEDが点灯します。
なんと紛らわしい
ちなみにCentreCom 9424SPとFirebox 8500-FではPingの疎通のみの確認ですが全部使えました
…何が違うの?
[ 1 コメント ] ( 1985 回表示 ) | このエントリーのURL | ( 3.1 / 1963 ) | ツイート
今この鯖はFortigateの裏にあるわけですが、Fortigateが表にあると接続がNATされてしまうので接続のログが全てFGからの接続として記録されてしまいます。
例
192.168.1.1(FGのアドレス) - xmms.jp [17/May/2010:02:24:52 +0900] "GET / HTTP/1.1" 200 5218
など。いちいちFGのログとあわせてみるのもめんどいなーと思いつつ放置していたのですが、やってみると意外に簡単に解決できました。
方法としては外部からの接続インターフェースにURLフィルタリングを適用するだけです。
時間も時間なので手順だけ簡単にまとめると
UTM→WEB filer→URL Filer で適当な名前でポリシーを作成する
↓
URLに*を入れてTypeでWildcardを選択しAllowする
↓
UTM→WEB filer→Profileで適当なのを選んで(最初からWebというのがあるので今回はこれを利用する)Web URL FilterでHTTPとLogingにチェックを入れてOptionで一番最初に作ったポリシーを選択する
↓
適用したらFirewall→Policy→Policyで外部インターフェース→内部のポリシーを作成または選択し、UTMにチェックを入れWEB filerで3番目に作ったProfileを選択する(この場合はWebというポリシー名)
↓
後はLogの所にずらずらとアドレスが流れてきます。
いやー、FGおもしろいわーw
[ コメントを書く ] ( 2184 回表示 ) | このエントリーのURL | ( 3 / 1803 ) | ツイート
ちょっと前にジャンクでASUSのP5BV-Mというマザーを1000円で拾ってきました。NIFが3つついていたので衝動的にw
P5BV-Mで調べても出てくるのはこいつが殆どなのですが、明らかにこれではないです。
色々調べること30分、ようやくこいつの仕様が分かりました。
まとめるとNICにはBroadcomのBCM5721を2つ使用し、Intel 3200とICH7Rを乗せたサーバー向けボードで、1333MHzまでの775のXeon・Core2が載るみたいです。3200というと低価格鯖の中で定評のあるNECのExpress5800シリーズでも使われているので、その手の人はなじみがあるのではないでしょうかw
しかしこの板にはかなり特殊な独自ファンクションが2つあります。
まず1つは、RAIDコントローラをIntelMatrixStrageとLSIのMegaRAIDの2つからジャンパを切り替えることにより選べることです。WindowsではIntel/LSIの両方使用可能で、LinuxではLSIを使えとマニュアルには書いてありますが、パフォーマンスの違いが出るのかは試してませんw
もう1つは、オプションのASMB3というノートPC用SODIMMの形をしたボードを取り付けることにより、マネージメントポートからWEB UIを使い電源、HWモニタリング等が出来るようになることです。
Knoppixからマネジメントポートが認識できないと思ったら普通のNIFではなかったようです。試そうにも専用のNICでないと意味がないのですが、そのオプションボードを持っていない(というか見かけない)のでなかったことにします。
詳細PDF
ちなみに、OC関係のファンクションは一切ないです。まあ鯖板なので当たり前ですが。
さて、この板のIFの並び方、ぱっと見どこかで見かけたような気がします。
そう、RADIUS oneの中身と同じような構造をしているのです。似たような作りになってると思ってRADIUS oneの筐体を持ち出すと、ちょうどねじ穴(つかATXですが)、NIFの位置などが見事に一致するのです。多分こういうバックパネルの規格があるのだと思いますが。
ならば元々入ってるPen4を窓から投げ捨ててこいつを入れようと思ったのですが、問題が2点ありました。
まず1点は、VGA出力のポートが邪魔でこのままでは入らないという事。箱を切断するか板からポートを抜くかで悩みましたが、試しにはんだを溶かしてポートを何かあれば復元できる形で抜いてみることにしました。
…が、思いの外VGAポートの外枠を止めている金具がしっかりと半田付けされてしまっているので取るにとれず、結局Fuuuuuuuuuuuuuuuuuuuuuuuuccccccccckkkkkkkkkと叫びながらペンチで力ずくで抜きました。経験的に力任せにした結果というのは総じて後悔することになるのですが、まあ今回は大丈夫そうです。
2点目は、CPUクーラーの高さに制限がありデフォルトのクーラーでは入らないという事。どうせ背面に9000rpm近い排気ファンついてるし、Intelのリファレンスクーラー(後期型の薄いやつ)のファン部分を取っ払ってつけてしまえ、と試しにやってみたのですが、なんとか入ったものの微妙にCPUの熱が廃棄しきれない様子でした。
仕方がないのでそれ用の薄いクーラーを買ってきて取り付けたところ、問題は解決しました。
ちなみに今回使用したのはSlim Silence 775というクーラーなのですが、結構周りのコンデンサとの干渉が危なかったですw
そしてTyanの478マザーを取り出して入れてみると
ジャストフィット!
こいつもBIOSをCOMポートへリダイレクト出来るので、クロスケーブルだけあれば用は足ります。デフォルトではOff(VGA出力のみ)なので初回設定時にはVGAが必要になりますが。
しかし鯖板なのに起動すると
AMIBIOS(C)2007 American Megatrends, Inc.
ASUS P5BV-M ACPI BIOS Revision 0216
CPU : Intel(R) Celeron(R) CPU E3300 @ 2.50GHz
Speed : 2.50 GHz Count : 2
DRAM Clocking = 800 MHz
Press DEL to run Setup (F4 on Remote Keyboard)
Press F12 if you want to boot from the network
Press F8 for BBS POPUP (F3 on Remote Keyboard)
Initializing USB Controllers .. Done.
4096MB OK
Auto-Detecting Pri Master..IDE Hard Disk
Pri Master: HDS728040PLAT20 PF1OA21B
Ultra DMA Mode-5, S.M.A.R.T. Capable and Status OK
Auto-detecting USB Mass Storage Devices ..
00 USB mass storage devices found and configured.
NO Keyboard Detected!
Press F1 to Resume
と言う点はどうにかして欲しいと思います。立ち上がってこないと思ってCOMポートをつないで再起動してみたら「キーボードが見つからないけど続けるならF1押せ!」という無理難題を言って止まってました。どうしろとwww
エラーでF1を待つ設定を解除しないと詰むという落とし穴があるのでこの手の設定をするときは注意ですね。CPUのファンがついていないときも同じことになりますw まあこの板はCOMポートで何とか出来るのでいいですがね。
さて、HWで落ち着いたら最近マイブームなpfSenseを入れてマザーの性能を見てみます。
環境;
実験機(Win7,PentiumDCE6600@3.6GHz、Mem4G、M/B:DFI LP UT X48-T2R、NIC:Marvell 88E8052)
Switch(HP Procurve 2848 firmVersion: I.10.77, ROM I.08.07 )
今回の板(pfSense1.2.3-RELEASE 、NAPT有効、Snort有効、ntop有効、CPU:CeleDC3300,Mem4G、NIC:Broadcom BCM5721)
メインマシン(WinXP,E8400@4GHz,Mem8G,M/B Gigabyte EX38-DS4 NIC:蟹 RTL8111B)
この環境で
実験機--pfSense--SW--メインマシン
という繋ぎ方でIperfを走らせ速度を計測してみます。IperfはメインマシンをサーバにしてNAPT越しに実験機が繋げにくる形になります。
まずデフォルトの状態
------------------------------------------------------------
[3924] local **.1.195 port 5001 connected with **.1.193 port 51035
[ ID] Interval Transfer Bandwidth
[3924] 0.0- 1.0 sec 19.4 MBytes 162 Mbits/sec
[3924] 1.0- 2.0 sec 18.9 MBytes 158 Mbits/sec
[3924] 2.0- 3.0 sec 19.0 MBytes 160 Mbits/sec
[3924] 3.0- 4.0 sec 18.6 MBytes 156 Mbits/sec
[3924] 4.0- 5.0 sec 19.2 MBytes 161 Mbits/sec
[3924] 5.0- 6.0 sec 19.1 MBytes 160 Mbits/sec
[3924] 6.0- 7.0 sec 18.8 MBytes 158 Mbits/sec
[3924] 7.0- 8.0 sec 19.1 MBytes 160 Mbits/sec
[3924] 8.0- 9.0 sec 19.2 MBytes 161 Mbits/sec
[3924] 9.0-10.0 sec 19.1 MBytes 160 Mbits/sec
[3924] 0.0-10.0 sec 190 MBytes 160 Mbits/sec
次にTCP WindowSizeを56kByteにして測定
[ ID] Interval Transfer Bandwidth
[3912] 0.0- 1.0 sec 72.4 MBytes 608 Mbits/sec
[3912] 1.0- 2.0 sec 71.6 MBytes 601 Mbits/sec
[3912] 2.0- 3.0 sec 73.8 MBytes 619 Mbits/sec
[3912] 3.0- 4.0 sec 72.1 MBytes 605 Mbits/sec
[3912] 4.0- 5.0 sec 73.7 MBytes 618 Mbits/sec
[3912] 5.0- 6.0 sec 74.0 MBytes 621 Mbits/sec
[3912] 6.0- 7.0 sec 73.4 MBytes 616 Mbits/sec
[3912] 7.0- 8.0 sec 73.6 MBytes 618 Mbits/sec
[3912] 8.0- 9.0 sec 73.8 MBytes 619 Mbits/sec
[3912] 9.0-10.0 sec 73.8 MBytes 619 Mbits/sec
[3912] 0.0-10.0 sec 732 MBytes 613 Mbits/sec
そしてTCP WindowSizeを128kByteにして測定
[ ID] Interval Transfer Bandwidth
[3892] 0.0- 1.0 sec 112 MBytes 937 Mbits/sec
[3892] 1.0- 2.0 sec 111 MBytes 930 Mbits/sec
[3892] 2.0- 3.0 sec 112 MBytes 936 Mbits/sec
[3892] 3.0- 4.0 sec 111 MBytes 932 Mbits/sec
[3892] 4.0- 5.0 sec 110 MBytes 923 Mbits/sec
[3892] 5.0- 6.0 sec 108 MBytes 906 Mbits/sec
[3892] 6.0- 7.0 sec 111 MBytes 933 Mbits/sec
[3892] 7.0- 8.0 sec 112 MBytes 937 Mbits/sec
[3892] 8.0- 9.0 sec 111 MBytes 935 Mbits/sec
[3892] 9.0-10.0 sec 111 MBytes 933 Mbits/sec
[3892] 0.0-10.0 sec 1109 MBytes 929 Mbits/sec
最後にTCP WindowSizeを1024kByteにして測定
[ ID] Interval Transfer Bandwidth
[3912] 0.0- 1.0 sec 114 MBytes 956 Mbits/sec
[3912] 1.0- 2.0 sec 112 MBytes 938 Mbits/sec
[3912] 2.0- 3.0 sec 112 MBytes 943 Mbits/sec
[3912] 3.0- 4.0 sec 112 MBytes 941 Mbits/sec
[3912] 4.0- 5.0 sec 113 MBytes 944 Mbits/sec
[3912] 5.0- 6.0 sec 108 MBytes 907 Mbits/sec
[3912] 6.0- 7.0 sec 109 MBytes 917 Mbits/sec
[3912] 7.0- 8.0 sec 112 MBytes 936 Mbits/sec
[3912] 8.0- 9.0 sec 110 MBytes 925 Mbits/sec
[3912] 0.0-10.0 sec 1114 MBytes 934 Mbits/sec
さすがにSnortを有効にして1Gで通信してしまうとCPUの使用率は90%後半で張り付いていましたが、それでもこれだけの速度が出るのは中々だと思います。Snort無効状態だと50%位で収まっていたと思います。
しかしIDSとして仕事しているのか?と思いnmapとNessusをかけてみましたが見事に両方ともはじかれました。
触ってみた感じ、さすがにCore2位のレベルになるとFWの仕事は余裕があるみたいですね。E3300って殆どE7200ですし。CIFS越しでもubuntu->Win7で80MB/sec出ていたのでFWとしては速い部類に入るのではないかと思います。
1Uに収まりなおかつ速度も速いので言うことないです。QuadCore乗せてメインFWにしてしまおうかと思うくらいです。HAVPは試していませんが、最近AVゲートウェイよりもパーソナルAVの方が重要(当たり前)だと思うのでIDS/FW/Routerとして動いてくれるならいいですが。
[ コメントを書く ] ( 2402 回表示 ) | このエントリーのURL | ( 3 / 2055 ) | ツイート
<<最初へ <戻る | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 進む> 最後へ>>