天天看點

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

Neutron Routing 服務提供跨 subnet 互聯互通的能力。

例如前面我們搭建了實驗環境:

cirros-vm1      172.16.100.3        vlan100

cirros-vm3      172.16.101.3        vlan101

這兩個 instance 要通信必須借助 router。可以是實體 router 或者虛拟 router。

下面詳細讨論 Neutron 的虛拟 router 實作。

Neutron 的路由服務是由 l3 agent 提供的。

l3 agent 需要正确配置才能工作,配置檔案為 /etc/neutron/l3_agent.ini,位于控制節點或網絡節點。

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

devstack 已經幫我們配置預設的屬性,大部分情況下不需要修改就可以使用。

external_network_bridge 指定連接配接外網的網橋,預設是 br-ex。

interface_driver 是最重要的選項,如果 mechanism driver 是 open vswitch,則:

interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver

如果選用 linux bridge,則:

interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver

l3 agent 運作在控制或網絡節點。

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

下面将建立虛拟 router “router_100_101”,打通 vlan100 和 vlan101。

進入操作菜單 Project -> Network -> Routers。

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

點選 “Create Router” 按鈕。

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

router 命名為 “router_100_101”,點選 “Create Router” 按鈕确認。

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

router_100_101 建立成功。

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

接下來需要将 vlan100 和 vlan101 連接配接到 router_100_101。

點選 “router_100_101” 連結進入 router 的配置頁面,在 “Interfaces” 标簽中點選 “Add Interface” 按鈕。

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

選擇 vlan100 的 subnet_172_16_100_0,點選 “Add Interface” 确認。

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

用同樣的方法添加 vlan101 的 subnet_172_16_101_0。

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

完成後,可以看到 router_100_101 有了兩個 interface,其 IP 正好是 subnet 的 Gateway 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 的 Gateway IP。

3. cirros-vm1 和 cirros-vm3 應該可以通信了。

通過 PING 測試一下:

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

不出所料,cirros-vm1 和 cirros-vm3 能通信了。

下一節我們詳細探究 router_100_101 是如何起作用的。

用虛拟 router 連通 subnet - 每天5分鐘玩轉 OpenStack(141) 配置 l3 agent 建立 router

繼續閱讀