docker 網(wǎng)絡(luò)-macvlan

1霸褒、什么是macvlan 仓犬,解決什么問(wèn)題侠驯。有什么限制條件?

macvlan.png

1脐恩、網(wǎng)絡(luò)結(jié)構(gòu) 所有VM /namespace 復(fù)用 主機(jī)物理網(wǎng)卡 镐侯,不會(huì)涉及數(shù)據(jù)包的重新組裝與nat 轉(zhuǎn)發(fā)。所以比較高效
2、macvlan 設(shè)備實(shí)現(xiàn)了主機(jī)虛擬網(wǎng)絡(luò)苟翻,在eth0 下面的子設(shè)備擁有自己獨(dú)立的ip 與mac 地址韵卤,一臺(tái)物理主機(jī)可以擁有多個(gè)網(wǎng)絡(luò)設(shè)備通過(guò)eth0 直接與外部網(wǎng)關(guān)相連接。
3崇猫、 macvlan 子設(shè)備可以實(shí)現(xiàn)依靠eth0 沈条,組件自己的局域網(wǎng) 802.q。比如 mac0诅炉,mac1 在一個(gè)網(wǎng)端蜡歹,mac2 在一個(gè)網(wǎng)段,來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)隔離涕烧。
4月而、物理主機(jī)網(wǎng)卡(eth0)的子設(shè)備,無(wú)法直接與主機(jī)網(wǎng)絡(luò)通信议纯,但是可以通過(guò)其他手段達(dá)到通信的效果父款,比如創(chuàng)建一個(gè)與主機(jī)物理網(wǎng)卡的ip 相同的一個(gè)子設(shè)備,或者子設(shè)備的數(shù)據(jù)通過(guò)eth0瞻凤,發(fā)給外部交換機(jī)路由器憨攒,由路由器或者交換機(jī)在發(fā)回 主機(jī)。間接實(shí)現(xiàn)子設(shè)備與主機(jī)通信
5阀参、 macvlan 有幾種連接模式
private :所有子設(shè)備不能通信肝集。
VEPA:子設(shè)備虛擬局網(wǎng)內(nèi)通信
Bridge :所有子設(shè)備可以通信,也可以與外部通信(docker 默認(rèn))
Passthru 结笨;只有一個(gè)設(shè)備
6包晰、需要物理網(wǎng)卡啟用混雜模式(這樣才能接受非主機(jī)mac 地址的數(shù)據(jù)包)以及內(nèi)核支持macvlan
7、一個(gè)物理網(wǎng)卡支持的macvlan 子設(shè)備的數(shù)量是有限制的炕吸,無(wú)線網(wǎng)絡(luò)可能不支持macvlan。
- macvlan 優(yōu)化成ipvlan 勉痴,一個(gè)物理網(wǎng)卡所有子設(shè)備的mac 地址與主機(jī)相同赫模,ip 地址與主機(jī)不同

2、macvlan 命令測(cè)試

注macvlan 地址設(shè)置應(yīng)該與主機(jī)的網(wǎng)絡(luò)環(huán)境一致蒸矛。

#!/usr/bin/env bash
#檢查 是否支持macvlan
modprobe macvlan
lsmod | grep macvlan

# 開(kāi)啟網(wǎng)卡混雜模式promiscuity=1 on
ip -d link  show eth1 |grep promisc
ip link set [interface] promisc on
ifconfig [interface] promisc

#
sudo ip netns add net1


# 查看eth0 網(wǎng)卡地址
ifconfig eth0

# 創(chuàng)建的格式為 ip link add link <PARENT> <NAME> type macvlan瀑罗,
# 其中 <PARENT> 是 macvlan 接口的父 interface 名稱,<NAME> 是新建的 macvlan 接口的名稱雏掠,這個(gè)名字可以任意取斩祭。
# 使用 ip link 可以看到我們剛創(chuàng)建的 macvlan 接口,除了它自己的名字之外乡话,后面還跟著父接口的名字
# 使用 bridge 模式摧玫,沒(méi)加這個(gè) 默認(rèn)net1,net2 沒(méi)有ping 通
sudo ip link add link eth0 mac1 type macvlan mode bridge


# 查看
ip -d link show mac1

sudo ip link set mac1 netns net1
# 與 eth0 網(wǎng)段相同
sudo ip netns exec net1 ip addr add 10.0.2.21/24 dev mac1

sudo ip netns exec net1 ip link set mac1 up
sudo ip netns exec net1 ip a

# 添加默認(rèn)路由,與主機(jī)eth0 默認(rèn)路由一致
sudo ip netns exec net1 route add default gw 10.0.2.2

sudo ip netns add net2
sudo ip link add link eth0 mac2 type macvlan
sudo ip link set mac2 netns net2
sudo ip netns exec net2 ip addr add 10.0.2.22/24 dev mac2 mode bridge
sudo ip netns exec net2 ip link set mac2 up
sudo ip netns exec net2 route add default gw 10.0.2.2

sudo ip netns exec net1 ping 10.0.2.22
sudo ip netns exec net2 ping 10.0.2.21

# 修改 mode ,net1绑青,net2 沒(méi)有ping 通
sudo ip netns exec net2 ip link set mac2 type macvlan mode private
sudo ip netns exec net1 ping 10.0.2.22
sudo ip netns exec net2 ping 10.0.2.21

3诬像、macvlan 在docker 中應(yīng)用測(cè)試

#1屋群、單機(jī)
docker network create -d macvlan --subnet=10.0.2.0/24 --gateway=10.0.2.2 -o parent=eth0 macvlan0

docker run --rm -dit --network macvlan0  --name c1 hub.c.163.com/library/busybox sh
docker run --rm -dit --network macvlan0  --name c2 hub.c.163.com/library/busybox sh
docker exec -it c1 ping c2
docker exec -it c2 ping c1

# baidu
docker exec -it c2 ping 180.97.33.108



#2、macvlan 跨主機(jī)通信 

# 一定需要對(duì)網(wǎng)卡開(kāi)啟混雜模式 坏挠,特別是虛擬機(jī)的設(shè)置芍躏。
sudo ip link set eth1  promisc [on|off]

# host A
docker network create -d macvlan --subnet=192.168.99.0/24 --gateway=192.168.99.1 -o parent=eth1 macvlan1
docker run --rm -dit --network macvlan1  --name c3 --ip 192.168.99.201 hub.c.163.com/library/busybox sh
# host B
docker network create -d macvlan --subnet=192.168.99.0/24 --gateway=192.168.99.1 -o parent=eth1 macvlan1
docker run --rm -dit --network macvlan1  --name c3 --ip 192.168.99.202 hub.c.163.com/library/busybox sh

#Host a
docker exec -it c3 ping 192.168.99.202

# host b
docker exec -it c3 ping 192.168.99.201

4、總結(jié)

1降狠、macvlan 網(wǎng)絡(luò)性能高对竣,但是沒(méi)有overlay 動(dòng)態(tài)全局分配ip 的功能,需要手動(dòng)指定
2榜配、macvlan 網(wǎng)絡(luò)使用有一定的限制條件 柏肪,可以考慮ipvlan 替換

5、參考
network-virtualization-macvlan
networking
docker-multi-host-networking

相關(guān)內(nèi)容

docker 網(wǎng)絡(luò)-準(zhǔn)備
docker 網(wǎng)絡(luò)-host
docker 網(wǎng)絡(luò)-bridge
docker 網(wǎng)絡(luò)-overlay
docker 網(wǎng)絡(luò)-macvlan

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末芥牌,一起剝皮案震驚了整個(gè)濱河市烦味,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌壁拉,老刑警劉巖谬俄,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異弃理,居然都是意外死亡溃论,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)痘昌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)钥勋,“玉大人,你說(shuō)我怎么就攤上這事辆苔∷憔模” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵驻啤,是天一觀的道長(zhǎng)菲驴。 經(jīng)常有香客問(wèn)我,道長(zhǎng)骑冗,這世上最難降的妖魔是什么赊瞬? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮贼涩,結(jié)果婚禮上巧涧,老公的妹妹穿的比我還像新娘。我一直安慰自己遥倦,他們只是感情好谤绳,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般闷供。 火紅的嫁衣襯著肌膚如雪烟央。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,274評(píng)論 1 300
  • 那天歪脏,我揣著相機(jī)與錄音疑俭,去河邊找鬼。 笑死婿失,一個(gè)胖子當(dāng)著我的面吹牛钞艇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播豪硅,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼哩照,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了懒浮?” 一聲冷哼從身側(cè)響起飘弧,我...
    開(kāi)封第一講書(shū)人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎砚著,沒(méi)想到半個(gè)月后次伶,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡稽穆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年冠王,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舌镶。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡柱彻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出餐胀,到底是詐尸還是另有隱情哟楷,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布骂澄,位于F島的核電站吓蘑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏坟冲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一溃蔫、第九天 我趴在偏房一處隱蔽的房頂上張望健提。 院中可真熱鬧,春花似錦伟叛、人聲如沸私痹。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)紊遵。三九已至账千,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間暗膜,已是汗流浹背匀奏。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留学搜,地道東北人娃善。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像瑞佩,于是被迫代替她去往敵國(guó)和親聚磺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354