国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

手把手教你 Linux 是如何實現 VLAN 的

rottengeek / 2400人閱讀

摘要:掛接到兩個上的網絡設備自動加入到相應的中。實驗的目的是要驗證屬于同一個中和能通,而屬于不同中的不通。重啟宿主機,查看網絡接口用查看當前的配置,和分別掛載和上了。配置的配置的配置的使用能通,不能通。

本文首發于我的公眾號 cloud_dev,專注于干貨分享,號內有大量書籍和視頻資源,后臺回復「1024」即可領取,歡迎大家關注,二維碼文末可以掃。
01 準備環境

環境:ubuntu 16.04 環境(物理 or 虛擬)

確認 CPU 是否支持虛擬化:

# egrep -o "(vmx|svm)" /proc/cpuinfo
# vmx

如果不支持,開啟 KVM 嵌套虛擬化之后再重啟。

1.1 安裝 KVM 環境
sudo apt-get install -y qemu-kvm qemu-system libvirt-bin virt-manager bridge-utils vlan
1.2 安裝 Ubuntu 圖形化界面
sudo apt-get install -y xinit gdm kubuntu-desktop
02 創建 KVM 虛擬機

使用 virt-manager 創建 KVM 虛擬機,方法比較簡單,由于篇幅有限,大家可以查閱相關資料自行了解。

創建完之后用 virsh list --all 查看創建的 VM:

Id    Name                           State
----------------------------------------------------
 -     kvm1                           shut off
 -     kvm2                           shut off
 -     kvm3                           shut off

我們的實驗拓撲如下:

圖中創建了 2 個 Linux Bridge:brvlan1 和 brvlan2,宿主機的物理網卡 eth0 抽象出兩個虛擬設備 eth0.1 和 eth0.2,也就是兩個 VLAN 設備,它們分別定義了兩個 VLAN:VLAN1 和 VLAN2。掛接到兩個 Bridge 上的網絡設備自動加入到相應的 VLAN 中。VLAN1 接兩個 VM,VLAN 接一個 VM。

實驗的目的是要驗證屬于同一個 VLAN1 中 VM1 和 VM2 能 ping 通,而屬于不同 VLAN 中的 VM ping 不通。

03 實驗開始 3.1 配置 VLAN

編輯 /etc/network/interfaces,加入兩個 Bridge 和兩個 VLAN 設備的配置,如下:

# 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

注意,這里務必和自己電腦的接口名稱統一,比如我這里叫 ens33,就配 ens33.1 和 ens33.2 的 VLAN 設備,當然你也可以改成 eth0 的形式。

重啟宿主機,ifconfig 查看網絡接口:

brctl show 查看當前 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    yes
3.2 配置 VM

我們先配置 VM1,啟動 virt-manager,在圖形界面中將 VM1 的虛擬網卡掛到 brvlan1 上:

同樣的方式配置 VM2 和 VM3,VM2 也配到 brvlan1 上,VM3 配到 brvlan2 上。

3.3 查看 VM 配置

virsh start xxx 啟動 3 個 VM:

# virsh start kvm1
# virsh start kvm2
# virsh start kvm3

再通過 brctl show 查看 Bridge,這時發現 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

通過 virsh domiflist xxx 確認這就是 VM 的虛擬網卡:

# 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:2a
04 驗證

為了驗證相同 VLAN 之間的連通性和不同 VLAN 之間的隔離性,我們為 3 個 VM 都配置同一網段的 IP。

使用 virt-manager 進入 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 通。

驗證完畢。

大家如果有興趣,可以抓個包看看,在發送 ping 包之前,需要知道對方的 MAC 地址,所以會先在網絡中廣播 ARP 包。ARP 是二層協議,VLAN 的作用就是隔離二層的廣播域,ARP 包自然就不能在不同 VLAN 中流通,所以在相同 VLAN 中,通信雙方能夠拿到對方的 MAC 地址,也就能 ping 通,不同 VLAN 反之。


我的公眾號 cloud_dev,號內有大量書籍和視頻資源,后臺回復「1024」即可領取,分享的內容包括但不限于云計算虛擬化、容器、OpenStack、K8S、霧計算、網絡、工具、SDN、OVS、DPDK、Linux、Go、Python、C/C++編程技術等內容,歡迎大家關注。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/11504.html

相關文章

  • Linux——Linux驅動之字符類設備驅動編寫實踐,從0到1把手教你字符類設備如何申請設備號,如

    摘要:系列專欄博主結合工作實踐輸出的,解決實際問題的專欄,朋友們看過來開發實戰開發實戰嵌入式通用開發實戰嵌入式通用開發實戰 【系列專欄】:博主結合工作實踐輸出的,解決實際問題的專欄,朋友們看過來! 《QT開發實戰》 《嵌入式通用開發實戰》 《

    kaka 評論0 收藏0
  • 把手教你刷github提交記錄

    摘要:但是,畢竟是人,哪天忙了就會忘記提交,所以想著能不能實現在自己阿里云服務器系統上,設置,定制下命令,實現每天定點自動提交。 前言 進入自己github主頁會看到自己的提交記錄,如果某天沒有提交記錄,那天的小方框就顯示灰色。強迫癥的我,每次進來看著就感覺不爽,想著自己每天記得提交點東西,爭取像阮一峰大神一樣,每天都有提交記錄。 showImg(https://www.wty90.co...

    ChanceWong 評論0 收藏0
  • 把手教你阿里云服務器搭建網站(超詳細圖文)

    摘要:阿里云學生組團活動詳情介紹配置服務器服務器購買成功之后,找到你服務器的公網地址。這里我把公網隱藏了設置安全組服務器需要端口放行,否則你的端口是無法訪問的,因為安全需要,所以云服務器存在安全組這個東西。前文概述出于好奇,我用學生優惠租了一臺阿里云服務器,打算做一些Java web的開發,但是畢竟是第一次接觸這樣的東西,還是比較陌生,在這個過程中遇到了一些問題(肯定會遇到問題的),但是呢,在網上...

    hiYoHoo 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<