[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

ぱちもん switch (?)

ぱちもん switch (?)とすらいえるか?こんなの :-)

やりたいこと:

できるだけ NetBSD デフォルト設定を変更せずに、 特定のサービスだけをねじまげる。 IP forwarding をせず、 アプリケーション層だけで行う。

まず最初に、 IP forwarding をしない NetBSD BOX を用意する。 ネットワーク図はこういう感じになります。

     Internet
       |
       | ef0
     NetBSD mf0 ---- virus checker の箱が別にあるとする
       | if0
       |
    -------- LAN

 ef0 外 側インターフェイス
 mf0 DMZ側インターフェイス
 if0 内 側インターフェイス

お金があったら L4 switch とかで曲げるんだろうけど、 お金がないから、さぁどうしましょう? :-)

汎用 TCP proxy

特定のサービスに関しては、 if0 でどんな宛先でも吸いあげて、 proxy を勝手に行なってほしい。 以下これを gauntlet firewall にちなんで transparency モードと呼ぶことにしよう。

IP Filter を使う場合、別に難しくはない。ioctl(2) すればよい。

WWW (80/tcp)

if0 に来る (dst 80/tcp) は virus checker へねじ曲げる。

ブラウザで if0 の 80/tcp を proxy 指定するなら別に何も必要としないんだけどね。 同じホストの上の squid にねじ曲げるなら何も必要ないし、 別のホストの virus checker へねじまげる場合でも、 単純な tcp_proxy を daemon として走らせることで解決できる。 inetd でうけて、virus check へとばしてもよいわけだし。

SMTP (25/tcp)

virus checker は普通に smtp を喋っているので、 NetBSD 箱で postfix を走らせる。

ただ if0 では 25/tcp を吸って、全部 virus checker へ投げてしまう方がよ いのかもしれない。 これは汎用 tcp proxy でねじまげれば OK ( ログが問題だが… )。

POP3 (110/tcp)

汎用 TCP proxy で十分です。

POP を APOP に変換しろは別に不必要だろう。 メールソフトがきちんとしてればいいんだし。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >