将 ext_net 连接到 router - 每天5分钟玩转 OpenStack(145)
上一節(jié)完我們創(chuàng)建了外部網(wǎng)絡(luò) ext_net,接下來需要將其連接到 Neutron 的虛擬路由器,這樣 instance 才能訪問外網(wǎng)。
?
點(diǎn)擊菜單 Project -> Network -> Routers 進(jìn)入 router 列表。
點(diǎn)擊 router_100_101 的 “Set Gateway” 按鈕。
在 “External Network” 下拉列表中選擇 ext_net,點(diǎn)擊 “Set Gateway”。
外網(wǎng)設(shè)置成功。我們需要看看 router 發(fā)生了什么變化。
點(diǎn)擊 “router_100_101” 鏈接,打開 “Interfaces” 標(biāo)簽頁。
router 多了一個新 interface,IP 為 10.10.10.2。
該 interface 用于連接外網(wǎng) ext_net,對應(yīng)的 br-ex 的 port “qg-cf54d3ea-6a”。
在 router 的 namespace 中查可以看到 qg-cf54d3ea-6a 已經(jīng)配置了 IP 10.10.10.2。
router interface 的命名規(guī)則如下:?
1. 如果 interface 用于連接租戶網(wǎng)絡(luò),命名格式為 qr-xxx。?
2. 如果 interface 用于連接外部網(wǎng)絡(luò),命名格式為 qg-xxx。
?
查看 router 的路由表信息:
可以看到默認(rèn)網(wǎng)關(guān)為 10.10.10.1。?
意味著對于訪問 vlan100 和 vlan101 租戶網(wǎng)絡(luò)以外的所有流量,router_100_101 都將轉(zhuǎn)發(fā)給 ext_net 的網(wǎng)關(guān) 10.10.10.1。
?
現(xiàn)在 router_100_101 已經(jīng)同時連接了 vlan100, vlan101 和 ext_net 三個網(wǎng)絡(luò),如下圖所示:
我們在 cirros-vm3 上測試一下。
cirros-vm3 位于計(jì)算節(jié)點(diǎn),現(xiàn)在已經(jīng)可以 Ping 到 ext_net 網(wǎng)關(guān) 10.10.10.1 了。
通過 traceroute 查看一下 cirros-vm3 到 10.10.10.1 的路徑:
數(shù)據(jù)包經(jīng)過兩跳到達(dá) 10.10.10.1 網(wǎng)關(guān)。?
1. 數(shù)據(jù)包首先發(fā)送到 router_100_101 連接 vlan101 的 interface(172.16.101.1)。?
2. 然后通過連接 ext_net 的 interface(10.10.10.2) 轉(zhuǎn)發(fā)出去,最后到達(dá) 10.10.10.1。
當(dāng)數(shù)據(jù)包從 router 連接外網(wǎng)的接口 qg-cf54d3ea-6a 發(fā)出的時候,會做一次 Source NAT,將包的源地址修改為 router 的接口地址 10.10.10.2,這樣就能夠保證目的端能夠?qū)?yīng)答的包發(fā)回給 router,然后再轉(zhuǎn)發(fā)回源端 instance。
?
有關(guān) Source NAT 的詳細(xì)分析可以參考 Linux Bridge 中 router 的相關(guān)章節(jié)。
?
floating IP
通過 SNAT 使得 instance 能夠直接訪問外網(wǎng),但外網(wǎng)還不能直接訪問 instance。
直接訪問 instance 指的是通信連接由外網(wǎng)發(fā)起,例如從外網(wǎng) SSH instance。
如果需要從外網(wǎng)直接訪問 instance,可以利用 floating IP。
?
Open vSwitch driver 環(huán)境中 floating IP 的實(shí)現(xiàn)與 Linux Bridge driver 完全一樣:
都是通過在 router 提供網(wǎng)關(guān)的外網(wǎng) interface 上配置 iptables NAT 規(guī)則實(shí)現(xiàn)。
有關(guān) floating IP 的詳細(xì)分析可以參考 Linux Bridge 中 floating IP 的相關(guān)章節(jié)。
?
至此,OVS 的路由服務(wù)就討論完了,下一節(jié)我們將開始學(xué)習(xí) Neutron VxLAN 的 OVS 實(shí)現(xiàn)。
總結(jié)
以上是生活随笔為你收集整理的将 ext_net 连接到 router - 每天5分钟玩转 OpenStack(145)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天融信防火墙NGFW4000,无法进入w
- 下一篇: ML2 配置 OVS VxLAN - 每