摘要:掛接到兩個(gè)上的網(wǎng)絡(luò)設(shè)備自動(dòng)加入到相應(yīng)的中。實(shí)驗(yàn)的目的是要驗(yàn)證屬于同一個(gè)中和能通,而屬于不同中的不通。重啟宿主機(jī),查看網(wǎng)絡(luò)接口用查看當(dāng)前的配置,和分別掛載和上了。配置的配置的配置的使用能通,不能通。
本文首發(fā)于我的公眾號(hào) cloud_dev,專(zhuān)注于干貨分享,號(hào)內(nèi)有大量書(shū)籍和視頻資源,后臺(tái)回復(fù)「1024」即可領(lǐng)取,歡迎大家關(guān)注,二維碼文末可以?huà)摺?/pre> 01 準(zhǔn)備環(huán)境環(huán)境:ubuntu 16.04 環(huán)境(物理 or 虛擬)
確認(rèn) CPU 是否支持虛擬化:
# egrep -o "(vmx|svm)" /proc/cpuinfo # vmx如果不支持,開(kāi)啟 KVM 嵌套虛擬化之后再重啟。
1.1 安裝 KVM 環(huán)境sudo apt-get install -y qemu-kvm qemu-system libvirt-bin virt-manager bridge-utils vlan1.2 安裝 Ubuntu 圖形化界面sudo apt-get install -y xinit gdm kubuntu-desktop02 創(chuàng)建 KVM 虛擬機(jī)使用 virt-manager 創(chuàng)建 KVM 虛擬機(jī),方法比較簡(jiǎn)單,由于篇幅有限,大家可以查閱相關(guān)資料自行了解。
創(chuàng)建完之后用 virsh list --all 查看創(chuàng)建的 VM:
Id Name State ---------------------------------------------------- - kvm1 shut off - kvm2 shut off - kvm3 shut off我們的實(shí)驗(yàn)拓?fù)淙缦拢?/p>
圖中創(chuàng)建了 2 個(gè) Linux Bridge:brvlan1 和 brvlan2,宿主機(jī)的物理網(wǎng)卡 eth0 抽象出兩個(gè)虛擬設(shè)備 eth0.1 和 eth0.2,也就是兩個(gè) VLAN 設(shè)備,它們分別定義了兩個(gè) VLAN:VLAN1 和 VLAN2。掛接到兩個(gè) Bridge 上的網(wǎng)絡(luò)設(shè)備自動(dòng)加入到相應(yīng)的 VLAN 中。VLAN1 接兩個(gè) VM,VLAN 接一個(gè) VM。
實(shí)驗(yàn)的目的是要驗(yàn)證屬于同一個(gè) VLAN1 中 VM1 和 VM2 能 ping 通,而屬于不同 VLAN 中的 VM ping 不通。
03 實(shí)驗(yàn)開(kāi)始 3.1 配置 VLAN編輯 /etc/network/interfaces,加入兩個(gè) Bridge 和兩個(gè) VLAN 設(shè)備的配置,如下:
# The primary network interface auto ens33 iface ens33 inet dhcp auto ens33.1 iface ens33.1 inet manual vlan-raw-device ens33 auto brvlan1 iface brvlan1 inet manual bridge_stp off bridge_waitport 0 bridge_fd 0 bridge_ports ens33.1 auto ens33.2 iface ens33.2 inet manual vlan-raw-device ens33 auto brvlan2 iface brvlan2 inet manual bridge_stp off bridge_waitport 0 bridge_fd 0 bridge_ports ens33.2注意,這里務(wù)必和自己電腦的接口名稱(chēng)統(tǒng)一,比如我這里叫 ens33,就配 ens33.1 和 ens33.2 的 VLAN 設(shè)備,當(dāng)然你也可以改成 eth0 的形式。
重啟宿主機(jī),ifconfig 查看網(wǎng)絡(luò)接口:
用 brctl show 查看當(dāng)前 Linux Bridge 的配置,ens33.1 和 ens33.2 分別掛載 brvlan1 和 brvlan2 上了。
# brctl show bridge name bridge id STP enabled interfaces brvlan1 8000.000c298c57e8 no ens33.1 brvlan2 8000.000c298c57e8 no ens33.2 virbr0 8000.000000000000 yes3.2 配置 VM我們先配置 VM1,啟動(dòng) virt-manager,在圖形界面中將 VM1 的虛擬網(wǎng)卡掛到 brvlan1 上:
同樣的方式配置 VM2 和 VM3,VM2 也配到 brvlan1 上,VM3 配到 brvlan2 上。
3.3 查看 VM 配置用 virsh start xxx 啟動(dòng) 3 個(gè) VM:
# virsh start kvm1 # virsh start kvm2 # virsh start kvm3再通過(guò) brctl show 查看 Bridge,這時(shí)發(fā)現(xiàn) brvlan1 下接了 vnet0 和 vnet1,brvlan2 下接了 vnet2:
# brctl show bridge name bridge id STP enabled interfaces brvlan1 8000.000c298c57e8 no ens33.1 vnet0 vnet1 brvlan2 8000.000c298c57e8 no ens33.2 vnet2 virbr0 8000.000000000000 yes通過(guò) virsh domiflist xxx 確認(rèn)這就是 VM 的虛擬網(wǎng)卡:
# virsh domiflist kvm1 Interface Type Source Model MAC ------------------------------------------------------- vnet0 bridge brvlan1 rtl8139 52:54:00:b3:dd:3a # virsh domiflist kvm2 Interface Type Source Model MAC ------------------------------------------------------- vnet1 bridge brvlan1 rtl8139 52:54:00:b7:4f:ef # virsh domiflist kvm3 Interface Type Source Model MAC ------------------------------------------------------- vnet2 bridge brvlan2 rtl8139 52:54:00:d8:b8:2a04 驗(yàn)證為了驗(yàn)證相同 VLAN 之間的連通性和不同 VLAN 之間的隔離性,我們?yōu)?3 個(gè) VM 都配置同一網(wǎng)段的 IP。
使用 virt-manager 進(jìn)入 VM console 控制面。
配置 VM1 的 IP:
ifconfig eth0 192.168.100.10 netmask 255.255.255.0配置 VM2 的 IP:
ifconfig eth0 192.168.100.20 netmask 255.255.255.0配置 VM3 的 IP:
ifconfig eth0 192.168.100.30 netmask 255.255.255.0使用 VM1 ping VM2 能 ping 通,VM2 ping VM3 不能 ping 通。
驗(yàn)證完畢。
大家如果有興趣,可以抓個(gè)包看看,在發(fā)送 ping 包之前,需要知道對(duì)方的 MAC 地址,所以會(huì)先在網(wǎng)絡(luò)中廣播 ARP 包。ARP 是二層協(xié)議,VLAN 的作用就是隔離二層的廣播域,ARP 包自然就不能在不同 VLAN 中流通,所以在相同 VLAN 中,通信雙方能夠拿到對(duì)方的 MAC 地址,也就能 ping 通,不同 VLAN 反之。
我的公眾號(hào) cloud_dev,號(hào)內(nèi)有大量書(shū)籍和視頻資源,后臺(tái)回復(fù)「1024」即可領(lǐng)取,分享的內(nèi)容包括但不限于云計(jì)算虛擬化、容器、OpenStack、K8S、霧計(jì)算、網(wǎng)絡(luò)、工具、SDN、OVS、DPDK、Linux、Go、Python、C/C++編程技術(shù)等內(nèi)容,歡迎大家關(guān)注。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/11504.html
摘要:系列專(zhuān)欄博主結(jié)合工作實(shí)踐輸出的,解決實(shí)際問(wèn)題的專(zhuān)欄,朋友們看過(guò)來(lái)開(kāi)發(fā)實(shí)戰(zhàn)開(kāi)發(fā)實(shí)戰(zhàn)嵌入式通用開(kāi)發(fā)實(shí)戰(zhàn)嵌入式通用開(kāi)發(fā)實(shí)戰(zhàn) 【系列專(zhuān)欄】:博主結(jié)合工作實(shí)踐輸出的,解決實(shí)際問(wèn)題的專(zhuān)欄,朋友們看過(guò)來(lái)! 《QT開(kāi)發(fā)實(shí)戰(zhàn)》 《嵌入式通用開(kāi)發(fā)實(shí)戰(zhàn)》 《
摘要:但是,畢竟是人,哪天忙了就會(huì)忘記提交,所以想著能不能實(shí)現(xiàn)在自己阿里云服務(wù)器系統(tǒng)上,設(shè)置,定制下命令,實(shí)現(xiàn)每天定點(diǎn)自動(dòng)提交。 前言 進(jìn)入自己github主頁(yè)會(huì)看到自己的提交記錄,如果某天沒(méi)有提交記錄,那天的小方框就顯示灰色。強(qiáng)迫癥的我,每次進(jìn)來(lái)看著就感覺(jué)不爽,想著自己每天記得提交點(diǎn)東西,爭(zhēng)取像阮一峰大神一樣,每天都有提交記錄。 showImg(https://www.wty90.co...
摘要:阿里云學(xué)生組團(tuán)活動(dòng)詳情介紹配置服務(wù)器服務(wù)器購(gòu)買(mǎi)成功之后,找到你服務(wù)器的公網(wǎng)地址。這里我把公網(wǎng)隱藏了設(shè)置安全組服務(wù)器需要端口放行,否則你的端口是無(wú)法訪(fǎng)問(wèn)的,因?yàn)榘踩枰栽品?wù)器存在安全組這個(gè)東西。前文概述出于好奇,我用學(xué)生優(yōu)惠租了一臺(tái)阿里云服務(wù)器,打算做一些Java web的開(kāi)發(fā),但是畢竟是第一次接觸這樣的東西,還是比較陌生,在這個(gè)過(guò)程中遇到了一些問(wèn)題(肯定會(huì)遇到問(wèn)題的),但是呢,在網(wǎng)上...
閱讀 2084·2023-04-25 17:23
閱讀 2901·2021-11-17 09:33
閱讀 2485·2021-08-21 14:09
閱讀 3530·2019-08-30 15:56
閱讀 2577·2019-08-30 15:54
閱讀 1603·2019-08-30 15:53
閱讀 2093·2019-08-29 13:53
閱讀 1113·2019-08-29 12:31