This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.
FreeBSD の非常にありふれた用途の一つにバーチャルサイトの ホスティングがあります. これは一つのサーバがネットワークには複数のサーバとして現れるものです. これは一つのネットワークインタフェイスに 複数のアドレスを割当てることで実現されます.
ネットワークインタフェイスは "真の" アドレスを一つと "別名" のアドレスを複数持ちます. これらの別名は通常 /etc/rc.conf に別名のエントリを置くことで追加されます.
'fxp0' インタフェイスへの別名のエントリは以下の様なものです.
ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"
別名のエントリは alias0 から始まり _alias1, _alias2 の様に増加してゆかなければなりません. 設定プロセスは 最初に欠けた番号のところで停まります.
別名のネットマスクの計算は重要ですが, 幸いなことに非常に簡単です. 個々のインタフェイスについてそのネットワークのネットマスクを正しく 表現しているアドレスが必ず一つ必要です. そのネットワークに所属しているそれ以外のアドレスのネットマスクは 全て 1 でなければなりません.
例として, fxp0 インタフェイスが二つのネットワークに接続されている ものを考えてみましょう. 一つはネットマスクが 255.255.255.0 である 10.1.1.0 ネットワークで, もう一つはネットマスクが 255.255.255.240 である 202.0.75.16 ネットワークです. システムは 10.1.1.0 には 10.1.1.1 として, 202.0.75.20 には 202.0.75.17 として現れるようにします.
以下のエントリはネットワークインタフェイスを上述の環境に正しく 設定するものです.
ifconfig_fxp0="inet 10.1.1.1 netmask 255.255.255.0" ifconfig_fxp0_alias0="inet 10.1.1.2 netmask 255.255.255.255" ifconfig_fxp0_alias1="inet 10.1.1.3 netmask 255.255.255.255" ifconfig_fxp0_alias2="inet 10.1.1.4 netmask 255.255.255.255" ifconfig_fxp0_alias3="inet 10.1.1.5 netmask 255.255.255.255" ifconfig_fxp0_alias4="inet 202.0.75.17 netmask 255.255.255.240" ifconfig_fxp0_alias5="inet 202.0.75.18 netmask 255.255.255.255" ifconfig_fxp0_alias6="inet 202.0.75.19 netmask 255.255.255.255" ifconfig_fxp0_alias7="inet 202.0.75.20 netmask 255.255.255.255"