共计 950 个字符,预计需要花费 3 分钟才能阅读完成。
今天就跟大家聊聊有关如何动手实践 Linux VLAN,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
我们来看如何在实验环境中实施和配置如下 VLAN 网络
重启宿主机,ifconfig 各个网络接口
在宿主机中已经提前创建好了虚机 VM1 和 VM2,现在都处于关机状态
启动 VM1
通过 virsh 确认这就是 VM1 的虚拟网卡。
启动 VM2
通过 virsh 确认这就是 VM2 的虚拟网卡。
配置 VM2 的 IP
原因如下:1. VM2 向 VM1 发 Ping 包之前,需要知道 VM1 的 IP 192.168.100.10 所对应的 MAC 地址。VM2 会在网络上广播 ARP 包,其作用就是问“谁知道 192.168.100.10 的 MAC 地址是多少?”2. ARP 是二层协议,VLAN 的隔离作用使得 ARP 只能在 VLAN20 范围内广播,只有 brvlan20 和 eth0.20 能收到,VLAN10 里的设备是收不到的。VM1 无法应答 VM2 发出的 ARP 包。3. VM2 拿不到 VM1 vnet0 的 MAC 地址,也就 Ping 不到 VM1。
Linux Bridge + VLAN = 虚拟交换机
现在对 KVM 的网络虚拟化做个总结。
物理交换机存在多个 VLAN,每个 VLAN 拥有多个端口。同一 VLAN 端口之间可以交换转发,不同 VLAN 端口之间隔离。所以交换机其包含两层功能:交换与隔离。
Linux 的 VLAN 设备实现的是隔离功能,但没有交换功能。一个 VLAN 母设备(比如 eth0)不能拥有两个相同 ID 的 VLAN 子设备,因此也就不可能出现数据交换情况。
Linux Bridge 专门实现交换功能。将同一 VLAN 的子设备都挂载到一个 Bridge 上,设备之间就可以交换数据了。
总结起来,Linux Bridge 加 VLAN 在功能层面完整模拟现实世界里的二层交换机。
eth0 相当于虚拟交换机上的 trunk 口,允许 vlan10 和 vlan20 的数据通过 eth0.10,vnet0 和 brvlan10 都可以看着 vlan10 的 access 口 eth0.20,vnet1 和 brvlan20 都可以看着 vlan20 的 access 口。
看完上述内容,你们对如何动手实践 Linux VLAN 有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。