我试图弄清楚为什么“默认” Proxmox网络配置不符合我的预期。
我有:
当我从VM1 从VM2 在 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
运行跟踪路由显示:
[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的这种正确行为?看起来配置有误吗?我是否需要诸如Proxy ARP或内置虚拟路由器之类的东西来解决这种简单的用例?
答案 0 :(得分:1)
已解决:例如,某些虚拟机的IP地址配置为/ 32而不是/ 24。 10.0.40.25/32而不是10.0.40.25/24,因此没有将自己视为与对等设备位于同一子网中,因此流量是通过默认路由发送的。