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

站在用戶的角度思考問題,與客戶深入溝通,找到羅甸網站設計與羅甸網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網站設計、做網站、企業(yè)官網、英文網站、手機端網站、網站推廣、域名注冊、網絡空間、企業(yè)郵箱。業(yè)務覆蓋羅甸地區(qū)。
假設我們有一個 Linux 服務器,我們在這里有兩張以太網卡(enp0s3 和 enp0s8),第一張網卡(enp0s3)會用于數(shù)據(jù)傳輸,而第二張網卡(enp0s8) 會用于控制/流量管理。我會使用多個 VLAN 用于數(shù)據(jù)傳輸(或在數(shù)據(jù)流量網卡上從不同的 VLAN 中分配多個 IP)。
我假設連接到我服務器的數(shù)據(jù)網卡的端口,是通過映射多個 VLAN 來配置為聚合端口。
下面是映射到數(shù)據(jù)傳輸網卡(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 標記接口,必須加載內核模塊 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 ~]#
現(xiàn)在使用 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
現(xiàn)在使用 ip 命令查看標記后的接口狀態(tài):
現(xiàn)在我們可以使用下面的 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 命令的更改都不會保持(LCTT 譯注:修改后可保存至配置文件或數(shù)據(jù)庫中,如果未進行保存處理,則只有當前環(huán)境生效,重啟后配置失效)。系統(tǒng)重啟和網絡服務重啟(LCTT 譯注:service network restart,或 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 創(chuàng)建接口文件 /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 創(chuàng)建接口文件 /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
現(xiàn)在使用下面的 ip 命令檢驗標記的接口是否已配置和啟動,并且正在運行中:
以上就是本文的全部內容,我希望你已經學會了在 CentOS 7 / 8 和 RHEL 7 / 8 服務器上如何去配置和啟用 VLAN 標簽接口的方法。請分享你的反饋和意見。
網頁標題:如何在CentOS/RHEL系統(tǒng)中使用帶VLAN標記的以太網卡
標題網址:http://m.5511xx.com/article/cdhgjpd.html


咨詢
建站咨詢
