34.3.虚拟主机
FreeBSD 的常见用途之一是虚拟站点托管,其中一台服务器在网络中表现为多个服务器。这是通过将多个网络地址分配给单个接口来实现的。
一个网络接口有一个“真实”地址,并且可以拥有任意数量的“别名”地址。这些别名通常通过在 /etc/rc.conf 中添加别名条目来实现,如下所示:
别名条目必须以 alias0
开头,使用递增的数字,如 alias0
、alias1
,依此类推。配置过程将在第一个缺失的数字处停止。
别名子网掩码的计算非常重要。对于给定的接口,必须有一个地址正确表示网络的子网掩码。任何其他属于该网络的地址必须使用全 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.1.1.2
到 10.1.1.5
和 202.0.75.18
到 202.0.75.20
)必须配置为子网掩码为 255.255.255.255
。
以下 /etc/rc.conf 条目将接口配置为适应此场景:
一种更简洁的表达方式是使用以空格分隔的 IP 地址范围。第一个地址将使用指定的子网掩码,而额外的地址将使用子网掩码 255.255.255.255
。
最后更新于
这有帮助吗?