●Neutron 的路由服务是由 l3 agent 提供的。 除此之外,l3 agent 通过 iptables 提供 firewall 和 floating ip 服务。
l3 agent 需要正确配置才能工作,配置文件为 /etc/neutron/l3_agent.ini,位于控制节点或网络节点上。
interface_driver 是最重要的选项,如果 mechanism driver 是 linux bridge,则:
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
如果 mechanism driver 选用 open vswitch,则:
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
●查看结点上都有那些agent服务。
命令: source /opt/stack/devstack/openrc admin admin
neutron agent-list
●l3 agent 会为每个 router 创建了一个 namespace,通过 veth pair 与 TAP 相连,然后将 Gateway IP 配置在位于 namespace 里面的 veth interface 上,这样就能提供路由了。
查看路由命令:neutron router-list
通过 ip netns 查看 namespace.
router 对应的 namespace 命名为 qrouter-<router id>。
通过 ip netns exec <namespace name> ip a 命令查看 router 中的 veth interface 配置。
查看namespace中的路由表:
ip netns exec <namespace name> kernel IP routing table