ipfw

パソコンとカメラの日々: NAT

 弟がMMPRPGをやるというので設置したNAPTだが、実は全てのパケットを通過させるという設定だった。これすなわち、ウィルスに感染したマシンからばらまかれるパケットも、そのまま通してしまうということだ。いくらなんでもこれでは社会の迷惑なので、NAPTマシンであるFreeBSDipfwを設定してみた。いじったファイルは/etc/rc.firewallである。


/sbin/ipfw -f flush
/sbin/ipfw add pass all from 192.168.1.0/24 to グローバルIPブロック
/sbin/ipfw add pass all from グローバルIPブロック to 192.168.1.0/24
/sbin/ipfw add divert natd all from any to any via dc0
/sbin/ipfw add pass all from 弟マシンのIPアドレス to any
/sbin/ipfw add pass all from any to 弟マシンのIPアドレス
/sbin/ipfw add pass tcp from any 110 to 私マシンのIPアドレス
/sbin/ipfw add pass tcp from 私マシンのIPアドレス to any 110
/sbin/ipfw add pass all from any to me
/sbin/ipfw add pass all from me to any

 我が家のLANは、グローバルIPアドレスとプライベートIPアドレスのふたつのセグメントで構成されている。まずは最初の2行で、このふたつのセグメント間のパケット交換を許可した。

 3行目が、NAPTを有効にする設定だ。で、NAPTを経由した場合でも、このファイルで同じように設定できるようだ。4〓5行目が弟のマシン用。 MMPRPGだとどのポートを使うのかいまひとつはっきりしないので、とりあえず全部開けてある。いちおうNorton Anti Virusは入れてあるし、それなりにPCをいじくる経験も長いのでなんとかなるだろう。

 6〓7行目は外部のサーバーからPOP3でメールを取ってくるための設定。普通はNAPTマシンがメールサーバーを兼ねているので必要ない。しかし私がローカルなマシンでpopfileの実験をやっている都合で開けてある。

 で、最後に自分自身にくるパケットと、自分自身が発信するパケットを許可。残りはデフォルトで不許可なので、中から外に出て行くパケットはほとんどなくなるはず。