FreeBSD 的一个很普通的用途是虚拟主机站点, 一个服务器虚拟成很多服务器一样提供网络服务。 这通过在一个接口上绑定多个网络地址来实现。
一个特定的网络接口有一个“真实”的地址,
也可能有一些“别名”地址。这些别名通常用
/etc/rc.conf
中的记录来添加。
一个 fxp0
的别名记录类似于:
ifconfig_fxp0_alias0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"
记住别名记录必须从 alias0
开始并且按顺序递增(例如 _alias1
、
_alias2
)。
配置程序将会停止在第一个缺少的数字的地方。
计算别名的子网掩码是很重要的,幸运的是它很简单。
对于一个接口来说,必须有一个描述子网掩码的地址。
任何在这个网段下的地址必须有一个全是 1
的子网掩码(通常表示为
255.255.255.255
或
0xffffffff
。
举例来说, 假设使用
fxp0
连接到两个网络,
分别是 10.1.1.0
,
其子网掩码为 255.255.255.0
,
以及 202.0.75.16
,
其子网掩码为 255.255.255.240
。
我们希望从 10.1.1.1
到 10.1.1.5
以及从
202.0.75.17
到
202.0.75.20
的地址能够互相访问。
如前所述, 只有两个网段中的第一个地址 (本例中,
10.0.1.1
和
202.0.75.17
) 应使用真实的子网掩码;
其余的 (10.1.1.2
到 10.1.1.5
以及
202.0.75.18
到
202.0.75.20
) 则必须配置为使用
255.255.255.255
作为子网掩码。
下面是根据上述描述所进行的 /etc/rc.conf
配置:
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"
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<[email protected]>.
关于本文档的问题请发信联系
<[email protected]>.