Linux 上如何劃分VLAN

lvxfcjf發表於2021-09-09

在某些場景中,我們希望在[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 8021q8021q                  33080  0 garp                   14384  1 8021qmrp                    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=EthernetBOOTPROTO=noneDEVICE=ens33ONBOOT=yes

接下來為vlan 200建立配置檔案,命名為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

接下來為vlan 300建立配置檔案,命名為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 ~]# systemctl restart network

圖片描述

可以看到vlan200,300的資訊都沒有消失。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3486/viewspace-2826874/,如需轉載,請註明出處,否則將追究法律責任。

相關文章