记录一次 OpenStack 集群在创建虚机后无法获取 IP 的问题

发布时间 2023-12-27 19:28:51作者: 神王攻大人

现象

所有的组件状态都是正常工作的,DHCP 服务正常工作,在个个虚拟网络设备端口抓包,发现 OpenVSwitch 上 DHCP 包可以通行,虚机获取 DHCP Discover 请求可以正常发出,但是无法收到回包。

抓包命令

tcpdump  -i eth0 udp port 67 or port 68 -vvv

抓包点

网络节点上对应的网络空间的的 DHCP 服务网卡上、br-int、patch、虚机的网桥、虚机两端的 veth-pair 设备。

异常点

从虚机中发出的 DHCP Discover 包在进入到网桥上后就不出去了不知道跑哪里去了。

问题推理

关于 OpenStack 上虚机为啥要接网桥再接 br-int 上这个迷惑的行为稍有过研究的同学就会知道这个是由于 OpenStack 的安全组是通过 iptables 规则生效的,但是 iptables 不能作用于 OVS。那么可以怀疑的是上面的iptables出现了问题。

问题确认

由于此 OpenStack 机器安装是发生的错误,Kolla 对于 Docker 的配置错误,没有正确的清理 docker 的 iptables 规则导致网络不同。

处理方案

清空 iptables 上的规则,重启网络即可(重启机器)。