(本文字数:3761,阅读时长大概:4分钟)
在个别场景中,我们希望在Linux服务器(CentOS/RHEL)的同一块以太网卡(NIC)上分配来自不同VLAN的多个IP。这个可以通过使用VLAN标记插口来实现。并且要做到这一点,我们必须确保交换机的端口上联接了多个VLAN,也就是说我们可以在交换机上添加多个VLAN来配置聚合端口(Trunkport)(LCTT评注:通常有聚合端口(Trunkport)、接入端口(Accessport)、混合端口(Hybirdport)三种)。
假定我们有一个Linux服务器中标linux,我们在这儿有两张以太网卡(enp0s3和enp0s8),第一张网卡(enp0s3)会用于数据传输,而第二张网卡(enp0s8)会用于控制/流量管理。我会使用多个VLAN用于数据传输(或在数据流量网卡上从不同的VLAN中分配多个IP)。
我假定联接到我服务器的数据网卡的端口,是通过映射多个VLAN来配置为聚合端口。
下边是映射到数据传输网卡(NIC)的VLAN:
要在CentOS7/RHEL7/CentOS8/RHEL8系统中使用VLAN标记插口,必须加载内核模块8021q。
加载内核模块8021q可以使用下边的命令:
[root@linuxtechi ~]# lsmod | grep -i 8021q
[root@linuxtechi ~]# modprobe --first-time 8021q
[root@linuxtechi ~]# lsmod | grep -i 8021q
8021q 29022 0
garp 14384 1 8021q
mrp 18542 1 8021q
[root@linuxtechi ~]#
可以使用modinfo命令显示内核模块8021q的详尽信息:
[root@linuxtechi ~]# modinfo 8021q
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标签。)
[root@linuxtechi ~]# ip link add link enp0s3 name enp0s3.200 type vlan id 200
使用下边的ip命令打开插口:
[root@linuxtechi ~]# ip link set dev enp0s3.200 up
同理给enp0s3网卡映射上300的VLAN标签:
[root@linuxtechi ~]# ip link add link enp0s3 name enp0s3.300 type vlan id 300
[root@linuxtechi ~]# ip link set dev enp0s3.300 up
现今使用ip命令查看标记后的插口状态:
tagged-interface-ip-command
如今我们可以使用下边的ip命令从它们各自的VLAN为早已标记的插口分配IP地址:
[root@linuxtechi ~]# ip addr add 172.168.10.51/24 dev enp0s3.200
[root@linuxtechi ~]# ip addr add 172.168.20.51/24 dev enp0s3.300
使用下边的ip命令查看是否为已标记的插口分配到IP:
ip-address-tagged-nic
重启以后,里面所有通过ip命令的修改都不会保持(LCTT评注:更改后可保存至配置文件或数据库中,倘若未进行保存处理linux 安装网卡驱动,则只有当前环境生效,重启后配置失效)。系统重启和网路服务重启(LCTT评注:servicenetworkrestart,或down和up命令)以后这种标记插口将不可用。
为此,要使标记的插口在重启后保持不变,须要使用插口的ifcfg文件。
编辑插口(enp0s3)文件/etc/sysconfig/network-scripts/ifcfg-enp0s3,但是降低下边的内容:
作者提醒:替换为你环境中的插口名称。
[root@linuxtechi ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
DEVICE=enp0s3
BOOTPROTO=none
ONBOOT=yes
保存和退出文件。
为id是200的VLAN创建插口文件/etc/sysconfig/network-scripts/ifcfg-enp0s3.200,且降低下边的内容:
[root@linuxtechi ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.200
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,且降低下边的内容:
[root@linuxtechi ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.300
DEVICE=enp0s3.300
BOOTPROTO=none
ONBOOT=yes
IPADDR=172.168.20.51
PREFIX=24
NETWORK=172.168.20.0
VLAN=yes
保存并退出文件,这时侯使用下边的命令重启网路服务,
[root@linuxtechi ~]# systemctl restart network
现今使用下边的ip命令检验标记的插口是否已配置和启动,而且正在运行中:
tagged-interface-status-ip-command-linux-server
以上就是本文的全部内容linux 安装网卡驱动linux makefile,我希望你早已学会了在CentOS7/8和RHEL7/8服务器上怎么去配置和启用VLAN标签插口的方式。请分享你的反馈和意见。
via:
作者:PradeepKumar选题:lujun9972译者:quinbyjoe校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出