摘要:挂接到两个上的网络设备自动加入到相应的中。实验的目的是要验证属于同一个中和能通,而属于不同中的不通。重启宿主机,查看网络接口用查看当前的配置,和分别挂载和上了。配置的配置的配置的使用能通,不能通。
本文首发于我的公众号 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 vlan1.2 安装 Ubuntu 图形化界面
sudo apt-get install -y xinit gdm kubuntu-desktop02 创建 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 yes3.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:2a04 验证
为了验证相同 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++编程技术等内容,欢迎大家关注。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/11504.html
摘要:系列专栏博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来开发实战开发实战嵌入式通用开发实战嵌入式通用开发实战 【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《QT开发实战》 《嵌入式通用开发实战》 《
摘要:但是,毕竟是人,哪天忙了就会忘记提交,所以想着能不能实现在自己阿里云服务器系统上,设置,定制下命令,实现每天定点自动提交。 前言 进入自己github主页会看到自己的提交记录,如果某天没有提交记录,那天的小方框就显示灰色。强迫症的我,每次进来看着就感觉不爽,想着自己每天记得提交点东西,争取像阮一峰大神一样,每天都有提交记录。 showImg(https://www.wty90.co...
摘要:阿里云学生组团活动详情介绍配置服务器服务器购买成功之后,找到你服务器的公网地址。这里我把公网隐藏了设置安全组服务器需要端口放行,否则你的端口是无法访问的,因为安全需要,所以云服务器存在安全组这个东西。前文概述出于好奇,我用学生优惠租了一台阿里云服务器,打算做一些Java web的开发,但是毕竟是第一次接触这样的东西,还是比较陌生,在这个过程中遇到了一些问题(肯定会遇到问题的),但是呢,在网上...
阅读 2083·2023-04-25 17:23
阅读 2899·2021-11-17 09:33
阅读 2482·2021-08-21 14:09
阅读 3528·2019-08-30 15:56
阅读 2576·2019-08-30 15:54
阅读 1600·2019-08-30 15:53
阅读 2090·2019-08-29 13:53
阅读 1110·2019-08-29 12:31