仕事。NIC2枚差しで、bridge + Firewall づくり。 FW専用機の予算はない(^^;
CPUは遅くてもいいので VIA C3 あたりを使って、Micro ATX で一台組もうかと秋葉原を散策。 が、Socket370 の新品マザーなんて、既にどこにも置いてない。PlatHome に 17cm * 17cm とかの Flex ATX なマザーはあったが普通のケースには入らないし。 Pen4 や Athlon なんてクソ熱い CPU は使いたくないのだが・・・
結局新品マザーは諦めて、会社のジャンク PC から適当に部品取りしてでっち上げる。
FreeBSD 4.7R でブリッジを作るとして。 Firewall 構築ガイド の IPFW + Bridge を参考に設定。カーネルの設定ファイルに
options BRIDGE options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=100 options IPFIREWALL_DEFAULT_TO_ACCEPT
を記述して再構築。/etc/rc.conf に
firewall_enable="YES" firewall_type="open"
を追加して、
# sysctl -w net.link.ether.bridge=1 # sysctl -w net.link.ether.bridge_ipfw=1
で bridge として動作する・・・はずだったのだが。
パケットが流れてくれないんですけど。うーん。
# UNIX USER 2001/4 にも FreeBSD で bridge を作る記事あり。その記事でも同様な記述。
検索 & 試行錯誤した結果、
# sysctl -w net.link.ether.bridge_cfg=de0:0,fxp0:0 # sysctl -w net.link.ether.bridge_refresh=1
としたら動いた。NIC は2枚しか刺さってないから、net.link.ether.bridge_cfg で明示的に指定してあげる必要はないと思うんだけど。