400-035-6699
当前位置: 首页 » 技术支持 » 博文资讯 »

如何在Linux上配置VLAN

在某些情况下,我们希望在Linux服务器(如CentOS/RHEL)上的同一网卡分配来自不同VLAN的多个ip地址。这可以通过启用VLAN标记接口来实现,但首先需要确保交换机上已经添加了多个VLAN。
假设我们有一个Linux服务器,其中有两个以太网卡(如ens33和ens38),第一个网卡(ens33)用于数据流量,第二个网卡(ens38)用于控制/管理流量。对于数据流,我们将使用多个VLAN(将在数据流网卡上分配来自不同VLAN的多个IP地址)。
首先,我们需要在交换机上配置多个VLAN。假设我们有两个VLAN:VLAN ID 200(172.168.10.0/24)和VLAN ID 300(172.168.20.0/24)。我们需要确保这些VLAN已经被添加到交换机中,并且与我们的服务器数据流量网卡(ens33)连接的端口被配置为Trunk
在CentOS 7/RHEL 7/CentOS 8/RHEL 8系统上,为了使用VLAN标记接口,我们需要加载内核模块8021q。使用以下命令加载内核模块“8021q”:
```bash # 列出已加载的模块,确认8021q模块未加载 [root@localhost ~]# lsmod | grep -i 8021q
# 加载8021q模块 [root@localhost ~]# modprobe -first-time 8021q
# 再次确认8021q模块已加载 [root@localhost ~]# lsmod | grep -i 8021q ```
接下来,我们使用`ip`命令创建VLAN 200和VLAN 300到ens33网卡:
```bash # 创建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 ```
然后,启用这些VLAN接口
```bash # 启用VLAN 200和VLAN 300 [root@localhost ~]# ip link set ens33.200 up [root@localhost ~]# ip link set ens33.300 up ```
接下来,为两个VLAN分配IP地址:
```bash [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 ```
现在,我们成功地为两个VLAN分配了IP地址。然而,使用`ip address`添加的VLAN和地址不会永久生效,重启系统后这些配置将消失。为了确保配置永久生效,我们需要将这些配置保存在配置文件中。
首先,修改`ifcfg-ens33`的配置文件:
```bash [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet BOOTPROTO=none DEVICE=ens33 ONBOOT=yes ```
然后,为VLAN 200创建配置文件`ifcfg-ens33.200`:
```bash [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`:
```bash [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 ```
编辑完配置文件后,重启网络服务以使配置生效:
```bash [root@localhost ~]# systemctl restart network ```
现在,我们的vlan配置已经保存到配置文件中,即使重启系统后,这些配置也将保持不变。

转自:公众号-Linux就该这么学

如何在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-i8021q
#加载模块
[root@localhost~]#modprobe--first-time8021q
[root@localhost~]#lsmod|grep-i8021q
8021q330800
GARP1438418021q
mrp1854218021q

使用modinfo命令列出8021q的信息:

[root@localhost~]#modinfo8021q

fb58b168-90f6-11ef-a511-92fbcf53809c.png


现在使用ip命令创建vlan 200和vlan 300到ens33网卡:

#创建vlan200和vlan300
[root@localhost~]#iplinkaddlinkens33nameens33.200typevlanid200
[root@localhost~]#iplinkaddlinkens33nameens33.300typevlanid300

fb63d4a8-90f6-11ef-a511-92fbcf53809c.png


发现ens33.200和ens33.300的链路状态为DOWN,下面启用它们。

#启用vlan200和vlan300
[root@localhost~]#iplinksetens33.200up
[root@localhost~]#iplinksetens33.300up

fb848d7e-90f6-11ef-a511-92fbcf53809c.png


下面为两个vlan 分配ip地址:

[root@localhost~]#ipaddressadd172.168.10.51/24devens33.200
[root@localhost~]#ipaddressadd172.168.20.51/24devens33.300

fb9fa956-90f6-11ef-a511-92fbcf53809c.png


可以看到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~]#systemctlrestartnetwork

fbae3cdc-90f6-11ef-a511-92fbcf53809c.png


可以看到vlan200,300的信息都没有消失。

【限时免费】一键获取网络规划系统模板+传输架构设计+连通性评估方案

Linux相关文章

服务电话:
400-035-6699
企服商城