Neutron Routing服务提供子网络之间的互连。
例如,之前创造了一个实验环境:
cirros-vm1 172.16.100.3 vlan100
cirros-vm3 172.16.101.3 vlan101
这两个实例要进行通信就必须利用路由器。 可以是物理路由器也可以是虚拟路由器。
详细说明Neutron的虚拟路由器实现。
配置 l3 agent
Neutron的路由服务由L3代理提供。
l3代理必须位于控制节点或网络节点上,配置文件/etc/neutron/l3_agent.ini中。
devstack正在为我设定默认属性。 在大多数情况下,无需更改即可使用。
external_network_bridge指定连接到外部网的桥接器,缺省值为br-ex。
interface_driver是最重要的选项。 如果机构驱动器是open vswitch,则:
interface _ driver=neutron.agent.Linux.interface.ovsinterfacedriver
如果选择linux bridge :
interface _ driver=neutron.agent.Linux.interface.bridgeinterfacedriver
L3代理在控制节点或网络节点上运行。
然后,创建虚拟router “router_100_101”,并连接vlan100和vlan101。
创建 router
进入操作菜单Project - Network - Routers。
单击“创建路由器”按钮。
router命名为router_100_101,然后单击" Create Router "按钮进行确认。
router_100_101创建成功。
然后,必须将vlan100和vlan101连接到router_100_101。
单击router_100_101链接进入“路由器设置”页,然后在" Interfaces "选项卡中单击" Add Interface "按钮。
为vlan100选择subnet_172_16_100_0,然后单击添加界面进行确认。
使用同样的方法添加vlan101的subnet_172_16_101_0。
完成后,您将看到router_100_101中有两个界面。 其IP正好是subnet的网关IP 172.16.100.1和172.16.101.1。
到此为止,我们可以预料到以下情况。
1. router_100_101已连接到subnet_172_16_100_0和subnet_172_16_101_0。
2. router_100_101已经设置了两个subnet的网关IP。
3. cirros-vm1和cirros-vm3应该可以通信。
试着通过PING测试吧:
果然,cirros-vm1和cirros-vm3现在可以通信了。
下一节将详细研究router_100_101的工作方式。