天天看點

OpenStack入門修煉之網絡虛拟化基礎(20)1.Linux Bridge的基本概念2.了解virbr0

假設主控端有 1 塊與外網連接配接的實體網卡 eth0,上面跑了 1 個虛機 VM1,現在有個問題是: 

如何讓 VM1 能夠通路外網?

① 給 VM1 配置設定一個虛拟網卡 vnet0,通過 Linux Bridge br0 将 eth0 和 vnet0 連接配接起來,如下圖所示

OpenStack入門修煉之網絡虛拟化基礎(20)1.Linux Bridge的基本概念2.了解virbr0

Linux Bridge 是 Linux 上用來做 TCP/IP 二層協定交換的裝置,其功能大家可以簡單的了解為是一個二層交換機或者 Hub。多個網絡裝置可以連接配接到同一個 Linux Bridge,當某個裝置收到資料包時,Linux Bridge 會将資料轉發給其他裝置。

在上面這個例子中,當有資料到達 eth0 時,br0 會将資料轉發給 vnet0,這樣 VM1 就能接收到來自外網的資料; 

反過來,VM1 發送資料給 vnet0,br0 也會将資料轉發到 eth0,進而實作了 VM1 與外網的通信。

現在我們增加一個虛機 VM2,如下圖所示

OpenStack入門修煉之網絡虛拟化基礎(20)1.Linux Bridge的基本概念2.了解virbr0

VM2 的虛拟網卡 vnet1 也連接配接到了 br0 上。 

現在 VM1 和 VM2 之間可以通信,同時 VM1 和 VM2 也都可以與外網通信。

virbr0 是 KVM 預設建立的一個 Bridge,其作用是為連接配接其上的虛機網卡提供 NAT 通路外網的功能。

virbr0 預設配置設定了一個IP 192.168.122.1,并為連接配接其上的其他虛拟網卡提供 DHCP 服務。

使用TightVNC連接配接192.168.56.11,檢視網卡資訊

OpenStack入門修煉之網絡虛拟化基礎(20)1.Linux Bridge的基本概念2.了解virbr0

沒有問題,可以通路外網,說明 NAT 起作用了。

需要說明的是,使用 NAT 的虛拟機 centos可以通路外網,但外網無法直接通路 centos。 

因為 centos 發出的網絡包源位址并不是 192.168.122.169,而是被 NAT 替換為主控端的 IP 位址了。

這個與使用 br0 不一樣,在 br0 的情況下,centos 通過自己的 IP 直接與外網通信,不會經過 NAT 位址轉換。

OpenStack入門修煉之網絡虛拟化基礎(20)1.Linux Bridge的基本概念2.了解virbr0

版權聲明:原創作品,謝絕轉載。否則将追究法律責任

本文轉自 IT_外賣小哥  51CTO部落格,原文連結:http://blog.51cto.com/jinlong/2049817

繼續閱讀