openstack计算节点上的vm无法获取dhcp

img


img


ubuntu20.04部署了openstack,一台控制节点(dhcp服务就在它上)一台计算节点。各有两张网卡,eth0和eth1。eth0是可以访问外网的。eth1是作为内网用的,上面没有配置ip。创建了flat网络。创建的实例只要是被调度到计算节点,那就无法获取到IP地址。。控制节点dhcp的tap设备,eth1,和计算节点vm的tap设备,eth1都在一个桥上,二层应该没问题啊。为什么计算节点的实例获取不到ip。
是不是计算节点vm到达eth1的流量转到eth0,
再转到控制节点的eth0,它再转到eth1,之后转到dhcp服务器,网络是不是就通了?
毕竟两个节点eth0是通的,都可以访问外网。但是两个eth1,虽然都在一个桥上,但是感觉物理隔离,计算节点的虚机访问不到控制节点的dhcp服务器。
百思不得其解,求教大佬,怎么让计算节点上的vm获取到控制节点dhcp服务器提供的服务呢

brctl show 查一下
看看是不是有bond被加入到linux bridge上
如果有,就把bond解绑了

同意楼上的观点

看下这个配置:
编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件:
在[linux_bridge]部分,将公共虚拟网络和公共物理网络接口对应起来:
将PUBLIC_INTERFACE_NAME替换为底层的物理公共网络接口
[linux_bridge]
physical_interface_mappings = public:ens33
在[vxlan]部分,禁止VXLAN覆盖网络:
[vxlan]
enable_vxlan = False

还有这个配置:
编辑/etc/neutron/dhcp_agent.ini文件:
在[DEFAULT]部分,配置Linuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络来访问元数据
[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True

参考下这篇的配置 https://www.jianshu.com/p/35c7ef26a153

参考下这篇的配置 https://www.jianshu.com/p/35c7ef26a153

看下这个配置:
编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件:
在[linux_bridge]部分,将公共虚拟网络和公共物理网络接口对应起来:
将PUBLIC_INTERFACE_NAME替换为底层的物理公共网络接口
[linux_bridge]
physical_interface_mappings = public:ens33
在[vxlan]部分,禁止VXLAN覆盖网络:
[vxlan]
enable_vxlan = False

还有这个配置:
编辑/etc/neutron/dhcp_agent.ini文件:
在[DEFAULT]部分,配置Linuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络来访问元数据
[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True

这篇博文可以参考以下
https://blog.csdn.net/qq_41583618/article/details/90168375

https://ask.csdn.net/questions/366952?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-ask-2~default~OPENSEARCH~Rate-8.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-ask-2~default~OPENSEARCH~Rate-8.pc_feed_download_top3ask