ぱちもん switch (?)とすらいえるか?こんなの :-)
できるだけ NetBSD デフォルト設定を変更せずに、 特定のサービスだけをねじまげる。 IP forwarding をせず、 アプリケーション層だけで行う。
まず最初に、 IP forwarding をしない NetBSD BOX を用意する。 ネットワーク図はこういう感じになります。
Internet
|
| ef0
NetBSD mf0 ---- virus checker の箱が別にあるとする
| if0
|
-------- LAN
ef0 外 側インターフェイス
mf0 DMZ側インターフェイス
if0 内 側インターフェイスお金があったら L4 switch とかで曲げるんだろうけど、 お金がないから、さぁどうしましょう? :-)
特定のサービスに関しては、 if0 でどんな宛先でも吸いあげて、 proxy を勝手に行なってほしい。 以下これを gauntlet firewall にちなんで transparency モードと呼ぶことにしよう。
IP Filter を使う場合、別に難しくはない。ioctl(2) すればよい。
if0 に来る (dst 80/tcp) は virus checker へねじ曲げる。
ブラウザで if0 の 80/tcp を proxy 指定するなら別に何も必要としないんだけどね。 同じホストの上の squid にねじ曲げるなら何も必要ないし、 別のホストの virus checker へねじまげる場合でも、 単純な tcp_proxy を daemon として走らせることで解決できる。 inetd でうけて、virus check へとばしてもよいわけだし。
virus checker は普通に smtp を喋っているので、 NetBSD 箱で postfix を走らせる。
ただ if0 では 25/tcp を吸って、全部 virus checker へ投げてしまう方がよ いのかもしれない。 これは汎用 tcp proxy でねじまげれば OK ( ログが問題だが… )。
my homepage is www.fml.org/home/fukachan/.
my free softwares are found at www.fml.org/software/.
fml 4.0 project homepage is www.fml.org/fml/menu.ja.html.
fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
about one floppy bsd routers, see www.bsdrouter.org/.
USB bootable OS is www.fml.org/software/mkliveusb/.
my laboratory is www.nsrg.fml.org.
Also, visit nuinui's world :) at www.nuinui.net.
For questions about me, e-mail <fukachan@fml.org>.
Copyright (C) 1993-2011 Ken'ichi Fukamachi
Powered by IIJ (1996-2008) and Chitose Institute of Science _and_ Technology (2008-).
Powered by NetBSD (1993-).