溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在CentOS/RHEL系統(tǒng)中使用帶VLAN標(biāo)記的以太網(wǎng)卡

發(fā)布時(shí)間:2021-09-28 14:38:10 來源:億速云 閱讀:124 作者:柒染 欄目:系統(tǒng)運(yùn)維

如何在CentOS/RHEL系統(tǒng)中使用帶VLAN標(biāo)記的以太網(wǎng)卡,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

在某些場(chǎng)景中,我們希望在 Linux 服務(wù)器(CentOS/RHEL)的同一塊以太網(wǎng)卡(NIC)上分配來自不同 VLAN 的多個(gè)  IP。這個(gè)可以通過使用 VLAN 標(biāo)記接口來實(shí)現(xiàn)。但是要做到這一點(diǎn),我們必須確保交換機(jī)的端口上連接了多個(gè)  VLAN,也就是說我們可以在交換機(jī)上添加多個(gè) VLAN 來配置聚合端口Trunk port(LCTT 譯注:一般有聚合端口Trunk port、接入端口Access port混合端口Hybird port三種)。

假設(shè)我們有一個(gè) Linux 服務(wù)器,我們?cè)谶@里有兩張以太網(wǎng)卡(enp0s3 和 enp0s8),第一張網(wǎng)卡(enp0s3)會(huì)用于數(shù)據(jù)傳輸,而第二張網(wǎng)卡(enp0s8) 會(huì)用于控制/流量管理。我會(huì)使用多個(gè) VLAN 用于數(shù)據(jù)傳輸(或在數(shù)據(jù)流量網(wǎng)卡上從不同的 VLAN 中分配多個(gè) IP)。

我假設(shè)連接到我服務(wù)器的數(shù)據(jù)網(wǎng)卡的端口,是通過映射多個(gè) VLAN 來配置為聚合端口。

下面是映射到數(shù)據(jù)傳輸網(wǎng)卡(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 系統(tǒng)中使用 VLAN 標(biāo)記接口,必須加載內(nèi)核模塊 8021q 。

加載內(nèi)核模塊 8021q 可以使用下面的命令:

[root@linuxtechi ~]# lsmod | grep -i 8021q[root@linuxtechi ~]# modprobe --first-time 8021q[root@linuxtechi ~]# lsmod | grep -i 8021q8021q                  29022  0garp                   14384  1 8021qmrp                    18542  1 8021q[root@linuxtechi ~]#

可以使用 modinfo 命令顯示內(nèi)核模塊 8021q 的詳細(xì)信息:

[root@linuxtechi ~]# modinfo 8021qfilename:       /lib/modules/3.10.0-327.el7.x86_64/kernel/net/8021q/8021q.koversion:        1.8license:        GPLalias:          rtnl-link-vlanrhelversion:    7.2srcversion:     2E63BD725D9DC11C7DA6190depends:        mrp,garpintree:         Yvermagic:       3.10.0-327.el7.x86_64 SMP mod_unload modversionssigner:         CentOS Linux kernel signing keysig_key:        79:AD:88:6A:11:3C:A0:22:35:26:33:6C:0F:82:5B:8A:94:29:6A:B3sig_hashalgo:   sha256[root@linuxtechi ~]#

現(xiàn)在使用 ip 命令給 enp0s3 網(wǎng)卡標(biāo)記(或映射)上 200 和 300 的 VLAN 。

(LCTT 譯注:這是先給 enp0s3 網(wǎng)卡映射上 200 的 VLAN 標(biāo)簽。)

[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 網(wǎng)卡映射上 300 的 VLAN 標(biāo)簽:

[root@linuxtechi ~]# ip link add link enp0s3 name enp0s3.300 type vlan id 300[root@linuxtechi ~]# ip link set dev enp0s3.300 up

現(xiàn)在使用 ip 命令查看標(biāo)記后的接口狀態(tài):

如何在CentOS/RHEL系統(tǒng)中使用帶VLAN標(biāo)記的以太網(wǎng)卡

tagged-interface-ip-command

現(xiàn)在我們可以使用下面的 ip 命令從它們各自的 VLAN 為已經(jīng)標(biāo)記的接口分配 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 命令查看是否為已標(biāo)記的接口分配到 IP:

如何在CentOS/RHEL系統(tǒng)中使用帶VLAN標(biāo)記的以太網(wǎng)卡

ip-address-tagged-nic

重啟之后,上面所有通過 ip 命令的更改都不會(huì)保持(LCTT 譯注:修改后可保存至配置文件或數(shù)據(jù)庫中,如果未進(jìn)行保存處理,則只有當(dāng)前環(huán)境生效,重啟后配置失效)。系統(tǒng)重啟和網(wǎng)絡(luò)服務(wù)重啟(LCTT 譯注:service network restart,或 down 和 up 命令)之后這些標(biāo)記接口將不可用。

因此,要使標(biāo)記的接口在重啟后保持不變,需要使用接口的 ifcfg 文件。

編輯接口(enp0s3)文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3,并且增加下面的內(nèi)容:

作者提醒:替換為你環(huán)境中的接口名稱。

[root@linuxtechi ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3TYPE=EthernetDEVICE=enp0s3BOOTPROTO=noneONBOOT=yes

保存和退出文件。

為 id 是 200 的 VLAN 創(chuàng)建接口文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3.200,且增加下面的內(nèi)容:

[root@linuxtechi ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.200DEVICE=enp0s3.200BOOTPROTO=noneONBOOT=yesIPADDR=172.168.10.51PREFIX=24NETWORK=172.168.10.0VLAN=yes

保存并退出此文件。

同理為 id 是 300 的 VLAN 創(chuàng)建接口文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3.300,且增加下面的內(nèi)容:

[root@linuxtechi ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.300DEVICE=enp0s3.300BOOTPROTO=noneONBOOT=yesIPADDR=172.168.20.51PREFIX=24NETWORK=172.168.20.0VLAN=yes

保存并退出文件,這時(shí)候使用下面的命令重啟網(wǎng)絡(luò)服務(wù),

[root@linuxtechi ~]# systemctl restart network

現(xiàn)在使用下面的 ip 命令檢驗(yàn)標(biāo)記的接口是否已配置和啟動(dòng),并且正在運(yùn)行中:

如何在CentOS/RHEL系統(tǒng)中使用帶VLAN標(biāo)記的以太網(wǎng)卡

tagged-interface-status-ip-command-linux-server

看完上述內(nèi)容,你們掌握如何在CentOS/RHEL系統(tǒng)中使用帶VLAN標(biāo)記的以太網(wǎng)卡的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI