我安装了具有 2 个节点配置(1 个控制器,1 个计算)的 openstack liberty,每个节点都有 1 个公共 nic 和 1 个私有 nic,并使用 dvr 遵循此场景:http: //docs.openstack.org/networking-guide/scenario_dvr_ovs。 html
在控制器节点中,我创建了具有 eth0 的 IP(这是公共网卡)的 br-ex,并安装了 l3-agent(dvr_snat 模式)ovs-agent dhcp-agent 和服务。
使用管理员帐户,我创建了 ext-net 并将我的子网附加到它。使用演示租户,我创建了一个演示网、一个演示子网和一个演示路由器,然后我设置了网关neutron router-gateway-set demo-net ext-net
所以我ovs-vsctl show
看起来如下
Bridge br-int
fail_mode: secure
Port "sg-ef30b544-a4"
tag: 4095
Interface "sg-ef30b544-a4"
type: internal
Port "qr-a4b8653c-78"
tag: 4095
Interface "qr-a4b8653c-78"
type: internal
Port "qg-d33db11d-60"
tag: 1
Interface "qg-d33db11d-60"
type: internal
Port br-int
Interface br-int
type: internal
Port "tap9f36ccde-1e"
tag: 4095
Interface "tap9f36ccde-1e"
type: internal
Port int-br-ex
Interface int-br-ex
type: patch
options: {peer=phy-br-ex}
Bridge br-ex
Port "eth0"
Interface "eth0"
Port br-ex
Interface br-ex
type: internal
Port phy-br-ex
Interface phy-br-ex
type: patch
options: {peer=int-br-ex}
Bridge br-tun
Port br-tun
Interface br-tun
type: internal
ovs_version: "2.4.0"
和网络命名空间
root@controller:~# ip netns
qdhcp-3e662de0-9a85-4d7d-bb85-b9d4568ceaec
snat-f3f6213c-384c-4ec5-914c-e98aba89936f
qrouter-f3f6213c-384c-4ec5-914c-e98aba89936f
我的问题是 l3-agent 无法设置 snat 网络,因为似乎网络无法访问。
ERROR neutron.agent.l3.agent Command: ['sudo', '/usr/bin/neutron-rootwrap', '/etc/neutron/rootwrap.conf', 'ip', 'netns', 'exec', 'snat-f3f6213c-384c-4ec5-914c-e98aba89936f', 'ip', '-4', 'route', 'replace', 'default', 'via', '149.XXX.YYY.ZZZ', 'dev', 'qg-d33db11d-60']
ERROR neutron.agent.l3.agent Exit code: 2
ERROR neutron.agent.l3.agent Stdin:
ERROR neutron.agent.l3.agent Stdout:
ERROR neutron.agent.l3.agent Stderr: RTNETLINK answers: Network is unreachable
ping -I br-ex 8.8.8.8
作品。
ping -I br-int 8.8.8.8
说网络不可达。
正如你所看到的,在 br-int 和 br-ex 之间有一个补丁,所以它应该可以工作,但它没有。