FreeBSD 4.x 系の安定度が現状よく判らないので 3.x 系の最終版(?) FreeBSD 3.5.1 をインストールした (2000年8月当時)。
ケーブルモデムとつなぐグローバルネットワーク側の接続には NE2000 互換 (10Mbps) の PCI NIC を使用する。 うちの環境ではインタフェースのデバイス名は ed1 となる。 また、グローバル IP アドレスの取得は DHCP となる。
プライベートネットワークは 192.168.1.0/24 とし、 このマシンのアドレスは 192.168.1.1 とする。 オンボードの Intel EtherExpress (100Mbps) で接続し、 デバイス名は fxp0 となる。
これにより FreeBSD インストール時の /etc/rc.conf にはネットワーク関連の設定として次が記述されることになる。
network_interface="ed1 fxp0 lo0" ifconfig_ed1="DHCP" ifconfig_fxp0="inet 192.168.1.1 netmask 255.255.255.0"
また、常時接続のグローバル IP アドレスを http://yi.org/ の Dynamic DNS サービスに uminari.yi.org として登録する。 そこでプライベートネットワークのドメインをそのまま uminari.yi.org とする。
hostname="waffle.uminari.yi.org"
サーバ用途なので X Window System をコンソールから立ち上げることはまずありえないのが、 X のクライアントアプリケーションをクライアント PC の X サーバで表示させる (ややこしい :-) こともあるので、XFree86 もインストールする。 ただし X サーバの設定はとりあえず放っておく。
カーネルコンフィグレーション
# cd /sys/i386/conf # cp GENERIC ONE # vi ONE
追加する項目:
options IPFIREWALL options IPFIREWALL_VERBOSE options "IPFIREWALL_VERBOSE_LIMIT=20" options IPDIVERT
変更する項目:
ident ONE
device apm0 at isa? flags 0x20
pseudo-device bpfilter 4 #Berkeley packet filter
削除する項目:
使用しないデバイス各種
カーネルを再構築する。
# config ONE # cd /sys/compile/ONE # make depend # make # make install
IPFIREWALL を有効にしたカーネルで起動するにはまず /etc/rc.conf に次の項目を追加しておく。
firewall_enable="YES" firewall_type="open"
リブート後、パケットフィルタデバイスを作る。
# cd /dev # ./MAKEDEV bpf1 bpf2 bpf3
APM を許可したカーネルならば、shutdown -p now で OS のシャットダウン処理の後、電源断まで処理できる。
net:*:1000:1000::0:0:Network pseudo-user:/nonexistent:/sbin/nologin
www:*:1000:net