我正在尝试通过 centos stream 9 系统上的 ansible 部署来安装 openstack(zed 版本)。我遵循了多合一安装,我在剧本或任何软件中都没有错误。
我遇到的问题是使用 openstack 创建的 lxc 容器上的网络。我能够从我的 Centos 系统内部发送 ping 并正常访问它们(两个网桥都按预期工作)。但是当我尝试从我的服务器外部访问它们时,从网络 192.168.2.0/24 我无法访问(我已经设置了必要的路由)。当我想用额外的计算节点扩展 openstack 时,这是一个问题。
注意:所有容器都会发生这种情况。
centos上的Setup是默认的aio Openstack-ansible deploys:
主网是centos是:192.168.2.0/24(接口enp0s3)
管理网络:172.29.236.0/22(接口br-mgmt)
Lxc网络:10.255.255.0/24(接口lxcbr0)
LXC网络设置:
eth0:在网络上10.255.255.0/24(veth with lxcbr0)
eth1:在网络上172.29.236.0/22(veth with br-mgmt)
centos上的路由表:
default via 192.168.2.1 dev enp0s3 proto static metric 100
10.255.255.0/24 dev lxcbr0 proto kernel scope link src 10.255.255.1
172.29.228.0/22 dev br-bmaas proto kernel scope link src 172.29.228.100
172.29.232.0/22 dev br-lbaas proto kernel scope link src 172.29.232.100
172.29.236.0/22 dev br-mgmt proto kernel scope link src 172.29.236.100
172.29.240.0/22 dev br-vxlan proto kernel scope link src 172.29.240.100
172.29.244.0/22 dev br-storage proto kernel scope link src 172.29.244.100
172.29.248.0/22 dev br-vlan proto kernel scope link src 172.29.248.1
172.29.252.0/22 dev br-dbaas proto kernel scope link src 172.29.252.100
192.168.2.0/24 dev enp0s3 proto kernel scope link src 192.168.2.211 metric 100
容器内的路由表:
default via 10.255.255.1 dev eth0 proto dhcp src 10.255.255.149 metric 20
10.255.255.0/24 dev eth0 proto kernel scope link src 10.255.255.149 metric 20
10.255.255.1 dev eth0 proto dhcp scope link src 10.255.255.149 metric 20
172.29.236.0/22 dev eth1 proto kernel scope link src 172.29.237.137
172.29.248.0/22 via 172.29.236.100 dev eth1 proto static metric 21
所以如果我想从 ip 192.168.2.100(从服务器外部)ping 到容器管理 ip,预期的 ping 路由(据我所知,取决于路由及其默认值)应该是例如
我已经追踪到容器内
tcpdump -i eth1 icmp
的问题。在点流量到达 eth1 接口之前,我能够收到 ping 流量。但是,当我尝试 tcpdump -i eth0 icmp
检查 ping 是否从 eth1 转发到 eth0 时,没有显示任何内容。我已经检查并在我的 centos 和所有容器上启用了 ipv4 转发:
cat /proc/sys/net/ipv4/ip_forward 1
我测试了默认路由,通过从容器到网络 ping 192.168.2.0/24 来查看它是否正常工作。
此外,我的 SElinux 设置为宽容模式,并且 firewalld 已停止并按照指南的建议进行屏蔽。其他东西会阻塞交通吗?
我还尝试在添加了 2 个计算节点的 ubuntu 20.04 系统上安装精确的 openstack 设置,我在那里的路由没有问题。
澄清一下,我正在使用 aio setup 进行测试和学习,然后再进行自定义配置。我不知道我是否忘记添加一些东西,请让我知道并谢谢。