真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Docker跨主機(jī)網(wǎng)絡(luò)(manual)的實(shí)現(xiàn)-創(chuàng)新互聯(lián)

1. Macvlan 簡(jiǎn)介

創(chuàng)新互聯(lián)建站主營(yíng)盤龍網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),盤龍h5成都小程序開發(fā)搭建,盤龍網(wǎng)站營(yíng)銷推廣歡迎盤龍等地區(qū)企業(yè)咨詢

在 Macvlan 出現(xiàn)之前,我們只能為一塊以太網(wǎng)卡添加多個(gè) IP 地址,卻不能添加多個(gè) MAC 地址,因?yàn)?MAC 地址正是通過(guò)其全球唯一性來(lái)標(biāo)識(shí)一塊以太網(wǎng)卡的,即便你使用了創(chuàng)建 ethx:y 這樣的方式,你會(huì)發(fā)現(xiàn)所有這些“網(wǎng)卡”的 MAC 地址和 ethx 都是一樣的,本質(zhì)上,它們還是一塊網(wǎng)卡,這將限制你做很多二層的操作。有了 Macvlan 技術(shù),你可以這么做了。

Macvlan 允許你在主機(jī)的一個(gè)網(wǎng)絡(luò)接口上配置多個(gè)虛擬的網(wǎng)絡(luò)接口,這些網(wǎng)絡(luò) interface 有自己獨(dú)立的 MAC 地址,也可以配置上 IP 地址進(jìn)行通信。Macvlan 下的虛擬機(jī)或者容器網(wǎng)絡(luò)和主機(jī)在同一個(gè)網(wǎng)段中,共享同一個(gè)廣播域。Macvlan 和 Bridge 比較相似,但因?yàn)樗∪チ?Bridge 的存在,所以配置和調(diào)試起來(lái)比較簡(jiǎn)單,而且效率也相對(duì)高。除此之外,Macvlan 自身也完美支持 VLAN。

同一 VLAN 間數(shù)據(jù)傳輸是通過(guò)二層互訪,即 MAC 地址實(shí)現(xiàn)的,不需要使用路由。不同 VLAN 的用戶單播默認(rèn)不能直接通信,如果想要通信,還需要三層設(shè)備做路由,Macvlan 也是如此。用 Macvlan 技術(shù)虛擬出來(lái)的虛擬網(wǎng)卡,在邏輯上和物理網(wǎng)卡是對(duì)等的。物理網(wǎng)卡也就相當(dāng)于一個(gè)交換機(jī),記錄著對(duì)應(yīng)的虛擬網(wǎng)卡和 MAC 地址,當(dāng)物理網(wǎng)卡收到數(shù)據(jù)包后,會(huì)根據(jù)目的 MAC 地址判斷這個(gè)包屬于哪一個(gè)虛擬網(wǎng)卡。這也就意味著,只要是從 Macvlan 子接口發(fā)來(lái)的數(shù)據(jù)包(或者是發(fā)往 Macvlan 子接口的數(shù)據(jù)包),物理網(wǎng)卡只接收數(shù)據(jù)包,不處理數(shù)據(jù)包,所以這就引出了一個(gè)問(wèn)題:本機(jī) Macvlan 網(wǎng)卡上面的 IP 無(wú)法和物理網(wǎng)卡上面的 IP 通信!關(guān)于這個(gè)問(wèn)題的解決方案我們下一節(jié)再討論。

Docker跨主機(jī)網(wǎng)絡(luò)(manual)的實(shí)現(xiàn)

簡(jiǎn)單來(lái)說(shuō),Macvlan 虛擬網(wǎng)卡設(shè)備是寄生在物理網(wǎng)卡設(shè)備上的。發(fā)包時(shí)調(diào)用自己的發(fā)包函數(shù),查找到寄生的物理設(shè)備,然后通過(guò)物理設(shè)備發(fā)包。收包時(shí),通過(guò)注冊(cè)寄生的物理設(shè)備的 rx_handler 回調(diào)函數(shù),處理數(shù)據(jù)包。

2.簡(jiǎn)單介紹manual的流程

macvlan 就如它的名字一樣,是一種網(wǎng)卡虛擬化技術(shù),它能夠?qū)⒁粋€(gè)物理網(wǎng)卡虛擬出多個(gè)接口,每個(gè)接口都可以配置 MAC 地址,同樣每個(gè)接口也可以配自己的 IP,每個(gè)接口就像交換機(jī)的端口一樣,可以為它劃分 VLAN。

macvlan 的做法其實(shí)就是將這些虛擬出來(lái)的接口與 Docker 容器直連來(lái)達(dá)到通信的目的。一個(gè) macvlan 網(wǎng)絡(luò)對(duì)應(yīng)一個(gè)接口,不同的 macvlan 網(wǎng)絡(luò)分配不同的子網(wǎng),因此,相同的 macvlan 之間可以互相通信,不同的 macvlan 網(wǎng)絡(luò)之間在二層上不能通信,需要借助三層的路由器才能完成通信,如下,顯示的就是兩個(gè)不同的 macvlan 網(wǎng)絡(luò)之間的通信流程。

Docker跨主機(jī)網(wǎng)絡(luò)(manual)的實(shí)現(xiàn)

我們用一個(gè) Linux 主機(jī),通過(guò)配置其路由表和 iptables,將其配成一個(gè)路由器(當(dāng)然是虛擬的),就可以完成不同 macvlan 網(wǎng)絡(luò)之間的數(shù)據(jù)交換,當(dāng)然用物理路由器也是沒(méi)毛病的。

3.Macvlan 的特點(diǎn):

1.可讓使用者在同一張實(shí)體網(wǎng)卡上設(shè)定多個(gè) MAC 地址。
2.承上,帶有上述設(shè)定的 MAC 地址的網(wǎng)卡稱為子接口(sub interface);而實(shí)體網(wǎng)卡則稱為父接口(parent interface)。
3.parent interface 可以是一個(gè)物理接口(eth0),可以是一個(gè) 802.1q 的子接口(eth0.10),也可以是 bonding 接口。
4.可在 parent/sub interface 上設(shè)定的不只是 MAC 地址,IP 地址同樣也可以被設(shè)定。
5.sub interface 無(wú)法直接與 parent interface 通訊 (帶有 sub interface 的 VM 或容器無(wú)法與 host 直接通訊)。
承上,若 VM 或容器需要與 host 通訊,那就必須額外建立一個(gè) sub 6.interface 給 host 用。
7.sub interface 通常以 mac0@eth0 的形式來(lái)命名以方便區(qū)別。
用張圖來(lái)解釋一下設(shè)定 Macvlan 后的樣子:

Docker跨主機(jī)網(wǎng)絡(luò)(manual)的實(shí)現(xiàn)

4.實(shí)驗(yàn)環(huán)境

docker01 docker02
192.168.1.11 192.168.1.13

關(guān)閉防火墻和禁用selinux,更改主機(jī)名

[root@localhost ~]# hostnamectl set-hostname docker01
[root@localhost ~]# su -
上一次登錄:二 12月 17 08:20:36 CST 2019從 192.168.1.1pts/0 上
[root@docker01 ~]# systemctl stop firealld
Failed to stop firealld.service: Unit firealld.service not loaded.
[root@docker01 ~]# setenforce 0
setenforce: SELinux is disabled
[root@docker01 ~]# systemctl daemon-reload 
[root@docker01 ~]# systemctl restart docker
4.1 macvlan的單網(wǎng)絡(luò)通信

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


分享名稱:Docker跨主機(jī)網(wǎng)絡(luò)(manual)的實(shí)現(xiàn)-創(chuàng)新互聯(lián)
鏈接分享:http://weahome.cn/article/phcoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部