FreeBSD 使用手册
上一页 | 第12章 　设置和调整 | 下一页

# 12.9 虚拟主机

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有问题，请先阅读文档，如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.