您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關CentOS/RHEL系統中如何使用帶VLAN標記的以太網卡的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
有時會因為工作需要使用 VLAN 標記接口將Linux服務器的一塊網卡分配來自不同VLAN 的多個 IP。但是前提是必須要保證交換機的端口上連接了多個 VLAN。
假設我們有一個 Linux 服務器,我們在這里有兩張以太網卡(enp0s3和enp0s8),第一張網卡(enp0s3)會用于數據傳輸,而第二張網卡(enp0s8) 會用于控制/流量管理。我會使用多個 VLAN 用于數據傳輸(或在數據流量網卡上從不同的 VLAN 中分配多個 IP)。
我假設連接到我服務器的數據網卡的端口,是通過映射多個 VLAN 來配置為聚合端口。
下面是映射到數據傳輸網卡(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 系統中使用 VLAN 標記接口,必須加載內核模塊8021q。
加載內核模塊8021q可以使用下面的命令:
1 2 3 4 5 6 7 | [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的詳細信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [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 ~] # |
現在使用ip 命令給enp0s3網卡標記(或映射)上200和300的 VLAN 。
(LCTT 譯注:這是先給enp0s3網卡映射上200的 VLAN 標簽。)
1 | [root@linuxtechi ~]# ip link add link enp0s3 name enp0s3.200 type vlan id 200 |
使用下面的ip命令打開接口:
1 | [root@linuxtechi ~]# ip link set dev enp0s3.200 up |
同理給enp0s3網卡映射上300的 VLAN 標簽:
1 2 | [root@linuxtechi ~] # ip link add link enp0s3 name enp0s3.300 type vlan id 300 [root@linuxtechi ~] # ip link set dev enp0s3.300 up |
現在使用ip命令查看標記后的接口狀態:
現在我們可以使用下面的ip命令從它們各自的 VLAN 為已經標記的接口分配 IP 地址:
1 2 | [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 譯注:修改后可保存至配置文件或數據庫中,如果未進行保存處理,則只有當前環境生效,重啟后配置失效)。系統重啟和網絡服務重啟(LCTT 譯注:service network restart,或down和up命令)之后這些標記接口將不可用。
因此,要使標記的接口在重啟后保持不變,需要使用接口的ifcfg文件。
編輯接口(enp0s3)文件/etc/sysconfig/network-scripts/ifcfg-enp0s3,并且增加下面的內容:
作者提醒:替換為你環境中的接口名稱。
1 2 3 4 5 | [root@linuxtechi ~] # vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE=Ethernet DEVICE=enp0s3 BOOTPROTO=none ONBOOT= yes
|
保存和退出文件。
為 id 是200的 VLAN 創建接口文件/etc/sysconfig/network-scripts/ifcfg-enp0s3.200,且增加下面的內容:
1 2 3 4 5 6 7 8 | [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 創建接口文件/etc/sysconfig/network-scripts/ifcfg-enp0s3.300,且增加下面的內容:
1 2 3 4 5 6 7 8 | [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 |
保存并退出文件,這時候使用下面的命令重啟網絡服務
1 | [root@linuxtechi ~]# systemctl restart network |
現在使用下面的ip命令檢驗標記的接口是否已配置和啟動,并且正在運行中:
感謝各位的閱讀!關于“CentOS/RHEL系統中如何使用帶VLAN標記的以太網卡”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。