我们有两个不同的网络接口eno1
和eno2
(eno3
和eno4
未连接),我们有一个网桥,vmbr0
我们想要添加另一个网桥vmbr1
,并且我们想要在这些网桥上设置两个不同的网关。
当前vmbr0
的网关设置为172.20.10.1
。现在我们要创建另一个桥vmbr1
并将其网关设置为172.20.1.40
和这是 的输出ifconfig
。
我在 HP ProLiant DL380p Gen8 上使用 Proxmox VE 5.4-13
并uname -a
展示
Linux vmserver1 4.15.18-21-pve #1 SMP PVE 4.15.18-48 (Fri, 20 Sep 2019 11:28:30 +0200) x86_64 GNU/Linux
我想要这样做的主要原因是为了在两个不同的网络上创建虚拟机。
这些网络是独立的,并且彼此之间没有物理连接。
答案1
您将主机的网络路由表与网桥的定义混淆了。网桥没有默认路由;它只是一个连接不同网络接口的设备。路由表可以有默认路由(也可以没有)。
当您定义桥接器时,您还可以定义默认路由对于主机接口通过该网桥,但您不需要分配主机 IP 地址或默认路由。
就你而言,你说:“当前vmbr0
的网关设置为172.20.10.1
。现在我们要创建另一个桥vmbr1
并将其网关设置为172.20.1.40
“。你不能这样做:服务器只能有一个默认网关*,这根据定义定义没有其他明确目的地的数据包的路由。
但是,您的虚拟机可以具有默认路由,并且它们可以具有您规划的子网上的 IP 地址vmbr1
(也许是 172.20.1.0/24?),以及关联的默认路由172.20.1.40
.
一个例子。在我的家庭网络上,我还有两个网卡,每个网卡连接到一个网桥。主机本身仅在这些网桥之一上拥有 IP 地址。防火墙在两个网桥上都有一个 IP 地址,而我的其余虚拟机仅连接到一个网桥。
不要计划让您的 Proxmox 主机在两个网络之间路由。默认情况下它不会这样做,并且让它这样做是一个非常糟糕的主意。
* 除非您选择多个路由表的复杂性,但我们不要这样做。