先復習一下前面我們討論的知識。
當租戶網絡連接到 Neutron router,通常將 router 作為默認網關。
當 router 接收到 instance 的數據包,並將其轉發到外網時:
1. router 會修改包的源地址為自己的外網地址,這樣確保數據包轉發到外網,並能夠從外網返回。 2. router 修改返回的數據包,並轉發給真正的 instance。
這個行為被稱作 Source NAT。
如果需要從外網直接訪問 instance,則可以利用 floating IP。
下面是關於 floating IP 必須知道的事實:
1. floating IP 提供靜態 NAT 功能,建立外網 IP 與 instance 租戶網絡 IP 的一對一映射。 2. floating IP 是配置在 router 提供網關的外網 interface 上的,而非 instance 中。 3. router 會根據通信的方向修改數據包的源或者目的地址。
下面我們通過實驗深入學習 floating IP。
點擊 Project -> Compute -> Access & Security 菜單,打開 Floating IPs 標簽頁。
點擊 “Allocate IP To Project” 按鈕。
floating IP Pool 為 ext_net,點擊 “Allocate IP” 按鈕。
從 Pool 中成功分配了一個 IP 10.10.10.3。 下面我們將它分配給 cirror-vm3,點擊 “Associate” 按鈕。
在下拉列表中選擇 cirror-vm3,點擊 “Associate” 按鈕。
分配成功,floating IP 10.10.10.3 已經對應到 cirros-vm3 的租戶 IP 172.16.101.3。
下一節我們將觀察底層網絡發生了怎樣的變化,並分析 floating IP 是如何工作的。