教你如何在Linux上划分VLAN
在某些场景中,我们希望在Linux服务器(CentOS / RHEL)上的同一网卡分配来自不同VLAN的多个ip。这可以通过启用VLAN标记接口来实现,但要实现这一点,首先必须确保交换机上添加多个vlan。
假设我们有一个Linux服务器,其中有两个以太网卡(ens33和ens38),第一个网卡(ens33)用于数据流量,第二个网卡(ens38)用于控制/管理流量。对于数据流,将使用多个vlan(将在数据流网卡上分配来自不同vlan的多个ip)。
假设从交换机连接到服务器数据流量网卡的端口被配置为Trunk,通过映射多个vlan到它。下面是映射到数据流量网卡的vlan:
- VLAN ID (200),172.168.10.0/24
- VLAN ID (300),172.168.20.0/24
在CentOS 7 /RHEL 7 / CentOS 8 /RHEL 8系统上使用VLAN标记接口,必须加载内核模块8021q。
使用以下命令加载内核模块“8021q”
- # 先列出模块,发现没有8021q模块。
- [root@localhost ~]# lsmod | grep -i 8021q
- # 加载模块
- [root@localhost ~]# modprobe --first-time 8021q
- [root@localhost ~]# lsmod | grep -i 8021q
- 8021q 33080 0
- garp 14384 1 8021q
- mrp 18542 1 8021q
使用modinfo命令列出8021q的信息:
- [root@localhost ~]# modinfo 8021q
现在使用ip命令创建vlan 200和vlan 300到ens33网卡:
- # 创建vlan 200和vlan 300
- [root@localhost ~]# ip link add link ens33 name ens33.200 type vlan id 200
- [root@localhost ~]# ip link add link ens33 name ens33.300 type vlan id 300
发现ens33.200和ens33.300的链路状态为DOWN,下面启用它们。
- # 启用vlan 200 和vlan 300
- [root@localhost ~]# ip link set ens33.200 up
- [root@localhost ~]# ip link set ens33.300 up
下面为两个vlan 分配ip地址:
- [root@localhost ~]# ip address add 172.168.10.51/24 dev ens33.200
- [root@localhost ~]# ip address add 172.168.20.51/24 dev ens33.300
可以看到ens33.200和ens33.300已经配置好ip地址了。
但是上面使用ip address添加的VLAN和地址不会永久生效的。重启系统之后都不存在了。我们需要把这些配置保存在配置文件里面。
首先修改ifcfg-ens33的配置文件,其次创建ifcfg-ens33.200和ifcfg-ens33.300配置文件:
- [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
- TYPE=Ethernet
- BOOTPROTO=none
- DEVICE=ens33
- ONBOOT=yes
接下来为vlan 200创建配置文件,命名为ifcfg-ens33.200
- [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33.200
- DEVICE=ens33.200
- BOOTPROTO=none
- ONBOOT=yes
- IPADDR=172.168.10.51
- PREFIX=24
- NETWORK=172.168.10.0
- VLAN=yes
接下来为vlan 300创建配置文件,命名为ifcfg-ens33.300
- [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33.300
- DEVICE=ens33.300
- BOOTPROTO=none
- ONBOOT=yes
- IPADDR=172.168.20.51
- PREFIX=24
- NETWORK=172.168.20.0
- VLAN=yes
编辑完配置文件,重启一下网络服务。
- [root@localhost ~]# systemctl restart network
可以看到vlan200,300的信息都没有消失。
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击