ひとりごと

新しい記事:[973]  古い記事:[971] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2003/10/16 (木)

・ NAT箱の実験

我が家のネットワーク接続は ルータに見立てた ThinkPadを経由しての PPPoE となっています。今はいちばん簡単な ユーザppp に NATと簡単なフィルタをやらせているのですが、最近はウイルスの種類も多くなってきましたし そろそろどこかに壁を作らないといけないな~と思っています。

それで、とりあえず考えていることは下記のようなこと。

さて、pppにも簡単なフィルタは書けるのですが、書ける数が少ないのとポートの範囲指定に難があるので ppp はPPPoEだけに使用してフィルタとNATは別に用意したほうがよさそうです。で、Handbookを見ますと、 ipfw と natd で出来るらしいので、これを使うことにします。

といっても、これまでユーザpppしか使ったことがありませんから、ひとまず余ってるPCにNICを2枚差してNAT箱モドキを作って練習してみることにしました。

             Ethernet          Ethernet(クロス)
おうちLAN <----------- FreeBSD ----------- ゲーム機
(10.0.0.0/24)       fxp0     sis0            fxp0
               10.0.0.10     172.16.0.1    172.16.0.100
上のような FreeBSDを作ります。おうちLANがインターネット、ゲーム機がNATでぶら下がっているという設定です。
  1. options IPFIREWALL
    options IPFIREWALL_VERBOSE
    options IPDIVERT
    を入れてカーネルを作成
  2. /etc/rc.conf に下記を記載
    firewall_enable="YES"
    firewall_type="open" ←とりあえず
    natd_enable="YES"
    natd_interface="fxp0"
    gateway_enable="YES"
  3. 上のでだいたい動くようなので、firewall_type="simple"をベースに /etc/rc.firewall を書き換え
でだいたい動くようになりました。と書くと簡単なのですが、たっぷり3時間ぐらいかかりました(笑)。だいたい natd_interfaceに外側のインタフェイスを指定するのが分からなくて1時間ぐらいはまってましたし(^^;)。ipfwも書式自体はシンプルなのですが、TCP/IPがどんな手順で何が流れているのかイマイチわかってないのでかなり難解なのです。

それはともかく、出来上がった NAT箱はそこらへんに売ってる安物ルータと比べてどうなのだろう・・・ということで、速度を測ってみました。


NAT直結
1回目11.01MB/s10.80MB/s
2回目10.52MB/s11.01MB/s
3回目11.01MB/s11.04MB/s
平均10.85MB/s10.95MB/s
NAT箱スペック
CPU: Pentium!!! 800MHz
MEM: PC133 256MB
FreeBSD 5.1R
測定方法
/dev/zeroから作った100MBのファイルを
ftpで転送して表示された速度

平均値としては直結のほうがわずかに高い値なのですが、この差は測定誤差以下なので、直結でもNATさせても同じと考えてよいでしょう。てゆーか、そこらへんのPCでてきとーに作ったNAT箱で10MB/sも出るのですね・・・。ちまたのローカルルータは高級なやつ以外は遅かったりするので、あまりものPCで作ったNAT箱はもっと遅いのかと思ってました(^^;)。やはりローカルルータはPCでこしらえるのが良いのかもしれません。

[つっこみ]

新しい記事:[973]  古い記事:[971] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)