我正在尝试通过专用服务器上的一个物理 NIC 路由多个 IP,以便与 Proxmox KVM VM 一起使用。我有一台专用服务器,当前运行 Debian 4.4.5-8,有 3 个可用的 IP 地址,将显示为 176.xxx.xxx.196(主服务器)、176.xxx.xxx.198(与主服务器位于同一子网)和 5.xxx.xxx.166(不同子网)。我目前正在尝试使用 dedi 路由第三个 IP 地址,以便与我使用 proxmox v2.x 设置的 vps 一起使用,但这样做真的非常困难。绑定其他 IP 地址的虚拟接口按预期工作,排除了外部路由问题。
提供商给出了主子网上 IP 地址的以下信息:
网关:176.xxx.xxx.193
网络掩码:255.255.255.224
广播:176.xxx.xxx.223
以及第二个子网上的 IP 地址的以下信息:
网关:5.xxx.xxx.161
网络掩码:255.255.255.248
广播:5.xxx.xxx.167
我对 /etc/network/interfaces 所做的所有尝试要么不起作用,要么导致网络完全无用。
这是文件的当前状态,其中辅助 IP 地址在同一子网上工作,并且 IPv6 也在工作,但没有第二个子网。
# Nativen IPv6 Schnittstelle
iface eth0 inet6 manual
# Bridge IPv4 Schnittstelle (176.xxx.xxx.193/27)
auto vmbr0
iface vmbr0 inet static
address 176.xxx.xxx.196
netmask 255.255.255.224
gateway 176.xxx.xxx.193
broadcast 176.xxx.xxx.223
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
post-up ip addr add 176.xxx.xxx.198/27 dev vmbr0
auto vmbr1
iface vmbr1 inet static
address 5.xxx.xxx.166
netmask 255.255.255.248
gateway 5.xxx.xxx.161
broadcast 5.xxx.xxx.167
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
post-up ip addr add 5.xxx.xxx.166/29 dev vmbr1
# Bridge IPv6 Schnittstelle (Reichweite: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx::/64)
iface vmbr0 inet6 static
address xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
netmask 64
up ip -6 route add xxxx:xxxx:xxxx:xxxx:xxxx:xxxx dev vmbr0
down ip -6 route del xxxx:xxxx:xxxx:xxxx:xxxx:xxxx dev vmbr0
up ip -6 route add default via xxxx:xxxx:xxxx:xxxx:xxxx:xxxx dev vmbr0
down ip -6 route del default via xxxx:xxxx:xxxx:xxxx:xxxx:xxxx dev vmbr0
答案1
这是完全地通过重新安装客户虚拟机来修复。专用服务器的提供商为每个客户机分配了 mac 地址,然后通过 dhcp 为其分配了 ip 地址,这样就解决了问题。
答案2
你有两座桥(vmbr0
和vmbr1
),两个都作为eth0
成员,因此您实际上有一个第 2 层域,我怀疑这会导致怪异。您是否试图向 VM 公开两个 NIC?如果是这样,您应该公开一个 NIC 并将两个地址附加到 VM 内部的 NIC。主机应该有一个包含 的桥接器eth0
。
由于辅助子网已经具有网关,因此主机无需充当网关。不要在主机上为辅助子网配置任何地址或路由。在客户机中,将其中一个辅助 IP 连接到其 NIC,并将默认网关配置为 5.xxx.xxx.161。主机将仅充当第二层桥接器,以允许虚拟机到达网关。