linux bridge构建vlan隔离环境
最近在学习vlan相关知识,便在虚拟机环境下构建了该环境,收获满满,记录如下
环境逻辑图:
环境软件:vmware Fusion (笔记本),创建“network1 ” host网络,开启混杂模式
虚拟机host1 :centos7,网卡 :ens34;创建vlan100、vlan200
虚拟机host2 :centos7,网卡 :ens34;创建vlan100、vlan300
两个虚拟机中分别还有一张网卡用于访问internet,对于本实验关系不大,没有画出。
实验目的
host1虚拟机中br100 网络 与host2虚拟机中br100网络互通(即实现vm1与vm3互访,介于笔记本配置问题本次没有起虚拟机)
172.16.100.2 <—->172.16.100.3
host1虚拟机中br100 网络 与host2虚拟机中br100网络不可达
172.16.200.2 <–/–>172.16.200.3
配置过程
虚拟机host1
安装与使用bridge-utils:
1 | $ yum install brige-utils |
创建网桥br100,配置ip 172.16.100.2/24
1 | $ vi /etc/sysconfig/network-scripts/ifcfg-br100 |
1 | DEVICE=br100 |
创建网桥br200,配置ip 172.16.200.2/24
1 | $ vi /etc/sysconfig/network-scripts/ifcfg-br200 |
1 | DEVICE=br200 |
创建vlan100,并绑定br100,编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens34.100
1 | $ cp /etc/sysconfig/network-scripts/ifcfg-ens34 /etc/sysconfig/network-scripts/ifcfg-ens34.100 |
1 | DEVICE=ens34.100 |
同理创建vlan200,并绑定br200,编辑文件/etc/sysconfig/network-scripts/ifcfg-ens34.200
1 | DEVICE=ens34.200 |
重启网络
1 | $ service network restart |
创建vm1,vm2,分别挂载到br100,br200上 (本次实验没创建,配置低,内存不够),命令如下,需开启VT-x:
1 | $ virt-install \ |
查看网桥状态(如创建vm会看到 虚拟机interface)
虚拟机host2
安装与使用bridge-utils:
1 | $ yum install brige-utils |
创建网桥br100,配置ip 172.16.100.3/24
1 | $ vi /etc/sysconfig/network-scripts/ifcfg-br100 |
1 | DEVICE=br100 |
创建网桥br300,配置ip 172.16.200.3/24
1 | $ vi /etc/sysconfig/network-scripts/ifcfg-br200 |
1 | DEVICE=br300 |
创建vlan100,并绑定br100,编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens34.100
1 | $ cp /etc/sysconfig/network-scripts/ifcfg-ens34 /etc/sysconfig/network-scripts/ifcfg-ens34.100 |
1 | DEVICE=ens34.100 |
创建vlan300,并绑定br300,编辑文件/etc/sysconfig/network-scripts/ifcfg-ens34.300
1 | DEVICE=ens34.300 |
重启网络
1 | $ service network restart |
创建vm3,vm4,分别挂载到br100,br300上 (本次实验没创建,配置低,内存不够),命令如下,需开启VT-x:
1 | $ virt-install \ |
查看网桥(如创建vm会看到 虚拟机interface)
验证
验证1:
host1虚拟机中br100 网络 与host2虚拟机中br100网络互通(同在vlan100,应互通),
host1 操作如下:可以看到网络互通
另开终端抓包情况:可以看到经过网卡ens34 携带vlan tag 100
验证2:
host1虚拟机中br200 网络 与host2虚拟机中br300网络通信(不通vlan,理应隔离)
host1 操作如下:可以看到网络不可达
另开终端抓包情况:可以看到ARP协议在vlan200中泛洪
这时,抓经过ens34.200的包,没有携带vlan tag,其实这相当于交换机中的access口,发出流量将tag剥掉,而ens34网卡相当于trunk,携带vlan tag进行传播
结论
- 在linux Bridge中可以虚拟媲美物理交换机功能的设备,实现vlan隔离转发
- 本环境中ens34 相当于trunk,ens34.100,br100 则可以看做交换机中的access口,流量在ens34 中进出携带valn tag