我试图弄清楚为什么“默认”Proxmox 网络配置没有像我预期的那样运行。
我有:
- Proxmox 服务器 (10.0.40.10)
- Proxmox 默认创建的网桥(vmbr0)
- 连接到 vmbr0(我们称之为 VM1)的 VM(10.0.40.20)
- 连接到 vmbr0(我们称之为 VM2)的 VM(10.0.40.25)
- 在 vmbr0 上配置的网关 (10.0.40.254)
当我从VM1在VM2上执行 HTTP 传输 (GET)时,我观察到的速度表明流量正在退出 Proxmox 主机,进入网关,然后返回到 Proxmox 主机。
VM1 和 VM2 都连接到vmbr0,所以我的期望是vmbr0会根据 MAC/ARP 在两个 VM 之间“切换”,并且流量将完全保持在本地(并且速度会快一到两个数量级) .
当我从 VM2 到 VM1 运行 ping 时,我观察到:
[root@vm2 ~]# ping -c 5 10.0.40.20
PING 10.0.40.20 (10.0.40.20) 56(84) bytes of data.
64 bytes from 10.0.40.20: icmp_seq=1 ttl=64 time=0.485 ms
From 10.0.40.254 icmp_seq=1 Redirect Host(New nexthop: 10.0.40.20)
64 bytes from 10.0.40.20: icmp_seq=2 ttl=64 time=0.609 ms
From 10.0.40.254 icmp_seq=2 Redirect Host(New nexthop: 10.0.40.20)
64 bytes from 10.0.40.20: icmp_seq=3 ttl=64 time=0.598 ms
--- 10.0.40.20 ping statistics ---
3 packets transmitted, 3 received, +2 errors, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.485/0.564/0.609/0.056 ms
运行 traceroute 显示:
[root@vm2 ~]# traceroute -I 10.0.40.20
traceroute to 10.0.40.20 (10.0.40.20), 30 hops max, 60 byte packets
1 gateway (10.0.40.254) 0.328 ms 0.308 ms 0.393 ms
2 10.0.40.20 (10.0.40.20) 0.472 ms 0.481 ms 0.533 ms
vmbr0 配置如下所示:
VM1 的网络定义:
VM2 的网络定义:
这似乎是一个基本的用例,似乎我必须遗漏一些东西。
有谁知道我的期望是否正确,或者 vmbr0 的这种行为是否正确?有什么看起来配置错误吗?我是否需要像代理 ARP 或机上虚拟路由器之类的东西来解决这样一个简单的用例?