教你如何在 Linux 上劃分VLAN


來源:Linux就該這么學(xué)
地址:https://www.linuxprobe.com/linux-add-vlan.html
在某些場景中,我們希望在Linux服務(wù)器(CentOS / RHEL)上的同一網(wǎng)卡分配來自不同VLAN的多個(gè)ip。這可以通過啟用VLAN標(biāo)記接口來實(shí)現(xiàn),但要實(shí)現(xiàn)這一點(diǎn),首先必須確保交換機(jī)上添加多個(gè)vlan。

假設(shè)我們有一個(gè)Linux服務(wù)器,其中有兩個(gè)以太網(wǎng)卡(ens33和ens38),第一個(gè)網(wǎng)卡(ens33)用于數(shù)據(jù)流量,第二個(gè)網(wǎng)卡(ens38)用于控制/管理流量。對于數(shù)據(jù)流,將使用多個(gè)vlan(將在數(shù)據(jù)流網(wǎng)卡上分配來自不同vlan的多個(gè)ip)。
假設(shè)從交換機(jī)連接到服務(wù)器數(shù)據(jù)流量網(wǎng)卡的端口被配置為Trunk,通過映射多個(gè)vlan到它。下面是映射到數(shù)據(jù)流量網(wǎng)卡的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系統(tǒng)上使用VLAN標(biāo)記接口,必須加載內(nèi)核模塊8021q。
使用以下命令加載內(nèi)核模塊“8021q”
#?先列出模塊,發(fā)現(xiàn)沒有8021q模塊。
[root@localhost?~]#?lsmod?|?grep?-i?8021q
#?加載模塊
[root@localhost?~]#?modprobe?--first-time?8021q
[root@localhost?~]#?lsmod?|?grep?-i?8021q
8021q??????????????????33080??0?
garp???????????????????14384??1?8021q
mrp????????????????????18542??1?8021q
使用modinfo命令列出8021q的信息:
[root@localhost?~]#?modinfo?8021q

現(xiàn)在使用ip命令創(chuàng)建vlan 200和vlan 300到ens33網(wǎng)卡:
#?創(chuàng)建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

發(fā)現(xiàn)ens33.200和ens33.300的鏈路狀態(tài)為DOWN,下面啟用它們。
#?啟用vlan?200?和vlan?300
[root@localhost?~]#?ip?link?set?ens33.200?up
[root@localhost?~]#?ip?link?set?ens33.300?up

下面為兩個(gè)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已經(jīng)配置好ip地址了。
但是上面使用ip address添加的VLAN和地址不會(huì)永久生效的。重啟系統(tǒng)之后都不存在了。我們需要把這些配置保存在配置文件里面。
首先修改ifcfg-ens33的配置文件,其次創(chuàng)建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創(chuàng)建配置文件,命名為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創(chuàng)建配置文件,命名為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
編輯完配置文件,重啟一下網(wǎng)絡(luò)服務(wù)。
[root@localhost?~]#?systemctl?restart?network

可以看到vlan200,300的信息都沒有消失。
推薦閱讀:
漫畫 | 一臺(tái)Linux服務(wù)器最多能支撐多少個(gè)TCP連接?
5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機(jī),樹莓派,等等。在公眾號內(nèi)回復(fù)「1024」,即可免費(fèi)獲取!!
