我最近购买了一台专用服务器,服务器提供商为我分配了一个 /30 子网。假设它是:
89.1.1.0/30 网关是 89.1.1.1,我的服务器的 ESXi IP 是 89.1.1.2
然后我又请求了三个 IP,他们给出的结果是:(例如)202.1.1.1.1/32 202.1.1.2.2/32 200.1.1.1.1/32
这三个 IP 的默认网关是我的服务器主 IP 块的网关 - 89.1.1.1
我猜它们位于不同的 IP 块上。我不知道这里使用了什么配置或概念才能将这些地址分配给我的虚拟机。
答案1
至少有online.net 就是使用这种设置的。那里的说明是向现有服务器添加额外的 IP,而不是让服务器(VM)拥有自己的专用 IP,但这是可以做到的,而且可以正常工作。
重要的是:这些 IP 的网络掩码,/32
因为调整后的配置就好像它们不在任何网络中一样:它们只需要网关。网关的 IP 路由必须直接在接口上明确添加。作为以太网,在底层,这两个 IP 之间仍然会像往常一样有 ARP 请求。
VM 必须在虚拟机管理程序上正确配置:桥接而非 NAT,并且虚拟机管理程序中的 VM 接口 MAC 地址必须正确设置为 ISP 的设置(如果您的 ISP 正在检查 MAC 地址,则可以将 online.net 配置为该地址)。
对于 Linux,在 VM 中,假设其 WAN 以太网接口称为wan0
,给定的故障转移 IP 为192.0.2.10/32
,网关为89.1.1.1
(如 OP 的示例):
ip address add dev wan0 192.0.2.10/32
ip route add 89.1.1.1 dev wan0
ip route add default via 89.1.1.1
前两个命令也可以缩写,以便用两行完成:
ip address add dev wan0 192.0.2.10 peer 89.1.1.1
ip route add default via 89.1.1.1
当然,应该理解,主机提供商的网关已经具有类似的路由设置(例如ip route add 192.0.2.10/32 dev customer1234
,可能以某种方式动态配置)以使其正常工作。
现在您必须调整它以适应启动设置。RHEL 类可能需要route-wan0
文件ip route
除了文件之外,还使用第一个非缩写示例中的命令ifcfg-wan0
来应对特殊路由设置。Debian 类可以在选项中使用任何其他自定义ip
命令up
interfaces
文件来完成标准选项。