OpenBlockS 600の魅力の1つに、ギガビットイーサネットを2基搭載している点がある。これをLinuxの多彩なネットワーク機能と組み合わせることで、ネットワーク機器の1つとしてさまざまに応用できる可能性があるのだ。そこで、今回はOpenBlockS 600をネットワークの運用や管理に活用することを考え、さまざまなネットワーク設定の方法を紹介していこう。
第2回では次の図1のようなネットワークを想定し、OpenBlockS 600のWeb管理インターフェイスを利用してOoenBlockS 600をローカルルーターとしてセットアップする例を紹介した。
|
| 図1 本記事で想定するネットワーク環境 |
今回は引き続き図1のネットワーク環境を想定し、一般的に多く利用されるであろうネットワーク設定を行いながら、OpenBlockS 600のネットワーク性能を見ていくことにしよう。
iptablesを使ったフィルタリング
OpenBlockS 600でL3/L4フィルタリングを行うには、通常Linuxで行うのと同様にiptablesを利用する。iptables自体の使い方や設定方法は一般的なLinux環境の場合とまったく同じなので説明は省略するが、ルーター上でフィルタリングを行う場合、起動時にフィルタルールが適用されるようにセットアップするのが一般的だろう。そこで、ここではOpenBlockS 600起動時にiptablesを使ったフィルタを適用する方法を紹介しよう。
OpenBlockS 600は起動時にいくつかのファイルを読み込んで実行していく。そのうち「/etc/rc.iptables」がiptables関連の処理を行うために用意されているファイルだ。このファイルに実際に適用するiptablesのコマンドを記述しておけば良い。
たとえば、OpenBlockS 600のETHER-0に入ってくるパケットのうち、192.168.102.2の80/tcpおよび25/tcpへのパケットを拒否し、そのほかのパケットは通すという場合、以下のように記述する。
iptables -A FORWARD -i eth0 -d 192.168.102.2 -p tcp --dport 80 -j DENY iptables -A FORWARD -i eth0 -d 192.168.102.2 -p tcp --dport 25 -j DENY iptables -A FORWARD -i eth0 -d 192.168.102.2 -j ACCEPT
また、/etc/rc.iptablesの設定を有効にするために以下を「/etc/rc.conf」ファイルに記述しておく。
iptables=YES
パケットフィルタリング利用時のスループット
それでは、実際にOpenBlockS 600でフィルタリングを行った場合のスループットを測ってみよう。今回はフィルタの個数による性能の変動についても確認するため、フィルタ10件、30件、100件という3つの条件で測定を行った。いずれの場合もフィルタのルールセットは下記のような条件で作成している。
- ソースIPアドレスによるDENYルールを7割
- IPアドレスのほかにプロトコルと宛先ポートの指定があるDENYルールを3割
また、フィルタルールについてはそれぞれのケースにおいてルールセット中で重複がないように設定している。測定回数は前回同様FTPとHTTPともに5回ずつとし、それぞれのケースで平均を求めている。結果は次の表1のとおりだ。
| フィルタ件数 | スループット | |
|---|---|---|
| FTP | HTTP | |
| フィルタ10件 | 315.52Mbps | 345.36Mbps |
| フィルタ30件 | 294.83Mbps | 313.31Mbps |
| フィルタ100件 | 267.79Mbps | 292.61Mbps |
NAT(IPマスカレード)の設定とそのスループット
NATについてもフィルタリングの場合と同様、iptablesを利用する。設定についても同様に/etc/rc.iptablesにNATルールを記述することで行える。
さて、NATのスループットであるが、ここでは/etc/rc.iptablesに以下のような基本的なNATルールのみを記述して適用して測定を行った。このテストケースではNAT以外のフィルタルールは適用していない。これまでと同じく、測定は5回ずつ行って平均を出している。結果は次の表2のとおりだ。
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
| プロトコル | FTP | HTTP |
|---|---|---|
| スループット | 99.42Mbps | 120.88Mbps |
