仕事。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 で明示的に指定してあげる必要はないと思うんだけど。