在某些场景下,我们希望在Linux服务器(CentOS/RHEL)上将不同VLAN的多个ip分配给同一张网卡。这可以通过在接口上启用VLAN标记来实现,但是要执行此操作,您必须首先确保将多个vlan添加到交换机。假设我们有一个带有两个以太网卡(ens33和ens38)的Linux服务器,第一个(ens33)用于数据流量,第二个(ens38)用于控制/管理流量。对于数据流,将使用多个vlan(来自不同vlan的多个ip将分配在数据流网卡上)。假设从交换机连接到服务器数据流量NIC的端口通过映射多个vlan到它来配置为Trunk。下面是映射到数据流量网卡的vlan:VLANID(200),172.168.10.0/24VLANID(300),172.168.20.0/24在CentOS7/RHEL7/CentOS8/RHEL8上使用VLANtagging接口系统,必须加载内核模块8021q。使用如下命令加载内核模块“8021q”#先列出模块,发现没有8021q模块。[root@localhost~]#lsmod|grep-i8021q#加载模块[root@localhost~]#modprobe--first-time8021q[root@localhost~]#lsmod|grep-i8021q8021q330800garp1438418021qmrp1854218021q使用modinfo命令列出8021q信息:[root@localhost~]#modinfo8021q现在使用ip命令创建vlan200和vlan300到ens33网卡:#createvlan200andvlan300[root@localhost~]#iplinkaddlinkens33nameens33.200typevlanid200[root@localhost~]#iplinkaddlinkens33nameens33.300typevlanid300发现ens33的链路状态.200和ens33.300已关闭,请在下方启用它们。#启用vlan200和vlan300[root@localhost~]#iplinksetens33.200up[root@localhost~]#iplinksetens33.300up下面给两个vlan分配ip地址:[root@localhost~]#ipaddressadd172.168.10.51/24devens33.200[root@localhost~]#ipaddressadd172.168.20.51/24devens33.300可以看到ens33.200和ens33.300配置了ip地址。但是上面使用ip地址添加的VLAN和地址不会永久生效。重启系统后不存在。我们需要将这些配置保存在配置文件中。先修改ifcfg-ens33的配置文件,然后创建ifcfg-ens33.200和ifcfg-ens33.300配置文件:[root@localhost~]#vim/etc/sysconfig/network-scripts/ifcfg-ens33TYPE=EthernetBOOTPROTO=noneDEVICE=ens33ONBOOT=yes接下来创建vlan200的配置文件,命名为ifcfg-ens33.200[root@localhost~]#vim/etc/sysconfig/network-scripts/ifcfg-ens33.200DEVICE=ens33.200BOOTPROTO=noneONBOOT=yesIPADDR=172.168.10.51PREFIX=24NETWORK=172.168.10.0VLAN=yes接下来创建vlan300的配置文件,命名为ifcfg-ens33.300[root@localhost~]#vim/etc/sysconfig/network-scripts/ifcfg-ens33.300DEVICE=ens33.300BOOTPROTO=noneONBOOT=yesIPADDR=172.168.20.51PREFIX=24NETWORK=172.168.20.0VLAN=yes编辑配置文件后,重启网络服务。[root@localhost~]#systemctlrestartnetwork可以看到vlan200和300的信息并没有消失。以上就是良序教程网为各位小伙伴们分享的Linux相关知识。
