这篇文章给大家分享的是有关CentOS/RHEL系统中如何使用带VLAN标记的以太网卡的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
有时会因为工作需要使用 VLAN 标记接口将Linux服务器的一块网卡分配来自不同VLAN 的多个 IP。但是前提是必须要保证交换机的端口上连接了多个 VLAN。
假设我们有一个 Linux 服务器,我们在这里有两张以太网卡(enp0s3和enp0s8),第一张网卡(enp0s3)会用于数据传输,而第二张网卡(enp0s8) 会用于控制/流量管理。我会使用多个 VLAN 用于数据传输(或在数据流量网卡上从不同的 VLAN 中分配多个 IP)。
我假设连接到我服务器的数据网卡的端口,是通过映射多个 VLAN 来配置为聚合端口。
下面是映射到数据传输网卡(NIC)的 VLAN:
VLAN ID (200), VLAN N/W = 172.168.10.0/24
VLAN ID (300), VLAN N/W = 172.168.20.0/24
要在 CentOS 7 / RHEL 7 / CentOS 8 / RHEL 8 系统中使用 VLAN 标记接口,必须加载内核模块8021q。
加载内核模块8021q可以使用下面的命令:
1 2 3 4 5 6 7 | [root@linuxtechi ~]
[root@linuxtechi ~]
[root@linuxtechi ~]
8021q 29022 0
garp 14384 1 8021q
mrp 18542 1 8021q
[root@linuxtechi ~]
|
可以使用modinfo命令显示内核模块8021q的详细信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [root@linuxtechi ~]
filename: /lib/modules/3 .10.0-327.el7.x86_64 /kernel/net/8021q/8021q .ko
version: 1.8
license: GPL
alias : rtnl-link-vlan
rhelversion: 7.2
srcversion: 2E63BD725D9DC11C7DA6190
depends: mrp,garp
intree: Y
vermagic: 3.10.0-327.el7.x86_64 SMP mod_unload modversions
signer: CentOS Linux kernel signing key
sig_key: 79:AD:88:6A:11:3C:A0:22:35:26:33:6C:0F:82:5B:8A:94:29:6A:B3
sig_hashalgo: sha256
[root@linuxtechi ~]
|
现在使用ip 命令给enp0s3网卡标记(或映射)上200和300的 VLAN 。
(LCTT 译注:这是先给enp0s3网卡映射上200的 VLAN 标签。)
1 | [root@linuxtechi ~]# ip link add link enp0s3 name enp0s3.200 type vlan id 200
|
使用下面的ip命令打开接口:
1 | [root@linuxtechi ~]# ip link set dev enp0s3.200 up
|
同理给enp0s3网卡映射上300的 VLAN 标签:
1 2 | [root@linuxtechi ~]
[root@linuxtechi ~]
|
现在使用ip命令查看标记后的接口状态:
现在我们可以使用下面的ip命令从它们各自的 VLAN 为已经标记的接口分配 IP 地址:
1 2 | [root@linuxtechi ~]
[root@linuxtechi ~]
|
使用下面的ip命令查看是否为已标记的接口分配到 IP:
重启之后,上面所有通过ip命令的更改都不会保持(LCTT 译注:修改后可保存至配置文件或数据库中,如果未进行保存处理,则只有当前环境生效,重启后配置失效)。系统重启和网络服务重启(LCTT 译注:service network restart,或down和up命令)之后这些标记接口将不可用。
因此,要使标记的接口在重启后保持不变,需要使用接口的ifcfg文件。
编辑接口(enp0s3)文件/etc/sysconfig/network-scripts/ifcfg-enp0s3,并且增加下面的内容:
作者提醒:替换为你环境中的接口名称。
1 2 3 4 5 | [root@linuxtechi ~]
TYPE=Ethernet
DEVICE=enp0s3
BOOTPROTO=none
ONBOOT= yes
type = "_moz" >
|
保存和退出文件。
为 id 是200的 VLAN 创建接口文件/etc/sysconfig/network-scripts/ifcfg-enp0s3.200,且增加下面的内容:
1 2 3 4 5 6 7 8 | [root@linuxtechi ~]
DEVICE=enp0s3.200
BOOTPROTO=none
ONBOOT= yes
IPADDR=172.168.10.51
PREFIX=24
NETWORK=172.168.10.0
VLAN= yes
|
保存并退出此文件。
同理为 id 是300的 VLAN 创建接口文件/etc/sysconfig/network-scripts/ifcfg-enp0s3.300,且增加下面的内容:
1 2 3 4 5 6 7 8 | [root@linuxtechi ~]
DEVICE=enp0s3.300
BOOTPROTO=none
ONBOOT= yes
IPADDR=172.168.20.51
PREFIX=24
NETWORK=172.168.20.0
VLAN= yes
|
保存并退出文件,这时候使用下面的命令重启网络服务
1 | [root@linuxtechi ~]# systemctl restart network
|
现在使用下面的ip命令检验标记的接口是否已配置和启动,并且正在运行中:
感谢各位的阅读!关于“CentOS/RHEL系统中如何使用带VLAN标记的以太网卡”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!