单个接口上有多个 IP 地址是一件坏事吗?

单个接口上有多个 IP 地址是一件坏事吗?

/116除了每个 VPS 附带的单个 IPv4 和 IPv6 地址外,Linode 还免费提供较大的(4096)IPv6 地址块。

通常情况下,对于不需要 SSL 的普通网站,我可以将许多 A 记录指向单个 IPv4 地址,并配置 Apache(或同等软件)来执行正确的事情,并使用标头Host将浏览器引导到需要去的地方。

对于需要 SSL 的站点,我会提供并配置单独的 IPv4 地址,并适当地指向 DNS,因为(假设没有 SNI)Web 服务器在 SSL 握手之前不知道要使用什么证书。

一切都很好。

我想利用 Linode 提供的地址,使部分站点(最终是所有站点)都支持 IPv6 原生地址,但我不确定最佳做法是什么。我是否应该对非 SSL 主机采用相同的方法?我是否应该始终为每个主机分配单独的 IPv6 地址?我还没有读到任何告诉我采用这两种方法的内容。也许我错过了某个 RFC。

然而,我的简单明了(呵呵)问题是这个:鉴于 Linode 仅提供单个“物理”接口(eth0),而所有其他 IPv4/v6 地址都需要在其上作为虚拟接口(eth0:0eth0:1、…),我是否最好不要再添加任何虚拟地址?或者,假设接口到那时还没有饱和,将许多(数百个)IPv6 地址用作虚拟接口是否没有什么坏处?

(如果我误解了 Linode 的产品和/或 IPv6,那么我可能在这里问了错误的问题 [甚至可能是多个错误的问题],但希望事实并非如此。;)

答案1

我认为,如果您已经在 IPv4 上进行基于名称的虚拟托管,那么您将为 IPv6 保留相同的配置,而不是为每个虚拟主机拆分配置和 IP。当然,对于 SSL 站点,您需要为每个站点分配一个 IP,这在 IPv6 上应该非常简单,因为您可以根据需要向接口添加任意数量的 IP,我认为您不需要创建额外的命名接口。

如果您想要单独的数据包过滤规则或者在网络层进行核算(基于 IP 进行区分会很有用),那么可能需要为每个虚拟主机分配 IP。

相关内容