用虛擬 router 連通 subnet - 天天5分鐘玩轉 OpenStack(141)

Neutron Routing 服務提供跨 subnet 互聯互通的能力。
例如前面咱們搭建了實驗環境:linux

cirros-vm1      172.16.100.3        vlan100
cirros-vm3      172.16.101.3        vlan101網絡

這兩個 instance 要通訊必須藉助 router。能夠是物理 router 或者虛擬 router。
下面詳細討論 Neutron 的虛擬 router 實現。測試

配置 l3 agent

Neutron 的路由服務是由 l3 agent 提供的。
l3 agent 須要正確配置才能工做,配置文件爲 /etc/neutron/l3_agent.ini,位於控制節點或網絡節點。spa

devstack 已經幫咱們配置默認的屬性,大部分狀況下不須要修改就能夠使用。router

external_network_bridge 指定鏈接外網的網橋,默認是 br-ex。ci

interface_driver 是最重要的選項,若是 mechanism driver 是 open vswitch,則:路由

interface_driver = neutron.agent.linux.interface.OVSInterfaceDriverit

若是選用 linux bridge,則:配置

interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriverroute

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



下面將建立虛擬 router 「router_100_101」,打通 vlan100 和 vlan101。

建立 router

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

點擊 「Create Router」 按鈕。

router 命名爲 「router_100_101」,點擊 「Create Router」 按鈕確認。

router_100_101 建立成功。

接下來須要將 vlan100 和 vlan101 鏈接到 router_100_101。
點擊 「router_100_101」 連接進入 router 的配置頁面,在 「Interfaces」 標籤中點擊 「Add Interface」 按鈕。

選擇 vlan100 的 subnet_172_16_100_0,點擊 「Add Interface」 確認。

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

完成後,能夠看到 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 測試一下:

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

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

相關文章
相關標籤/搜索