首頁 > 系統教程 > Linux > 如何在Linux中配置VLAN標記[逐步指南]

如何在Linux中配置VLAN標記[逐步指南]

Lisa Kudrow
發布: 2025-03-20 09:31:12
原創
253 人瀏覽過

在此詳細的教程中,我們將了解VLAN標籤是什麼,其優點和用例以及如何在Linux操作系統中配置VLAN標記

在Linux中配置VLAN標記涉及創建虛擬LAN,分配VLAN ID並根據需要配置IP地址。我們將在即將到來的部分中看到如何以三種不同的方式做到這一點。但是在此之前,讓我們了解什麼是VLAN標記,其優勢和模式。

目錄

什麼是VLAN標籤?

虛擬LAN(VLAN)標記是一種網絡技術,可讓您從邏輯上將物理網絡分為多個虛擬網絡或VLAN。

VLAN標籤在數據鏈路層(第2層)的以太網幀中添加了一個特殊的標籤,以識別特定框架所屬的VLAN。此標籤使您能夠隔離網絡流量並提高網絡安全性,效率和可管理性。

用外行的話說這一點,請想像您有一個有很多房間的大房子,您想將房子分為不同的部分出於不同的目的。

例如,您可能有一個客廳供每個人閒逛,一個廚房烹飪,睡覺的臥室和洗澡的浴室。

以類似的方式,VLAN標記就像將大型計算機網絡分為較小,更易於管理的部分。這就像在您的房屋內創建虛擬房間一樣。

每個VLAN都像一個單獨的房間,同一VLAN中的設備可以輕鬆地進行通信,但是不同VLAN的設備無法直接通信。

VLAN標記是一種強大的網絡技術,可以幫助提高網絡安全性,性能和靈活性。從小型企業到大型企業,這是一項廣泛使用的技術。

VLAN標記優勢

你為什麼要這樣做?有幾個原因:

  • 網絡分割:VLAN用於從邏輯上將物理網絡分割為較小的孤立網絡。例如,您可以將人力資源部門的流量與銷售部門的流量分開,以提高安全性和可管理性。
  • 廣播控制:通過將網絡分為VLAN,每個VLAN中都包含廣播流量,從而降低了整個廣播域的大小和網絡擁塞。
  • 服務質量(QoS) :VLAN可通過為每個VLAN分配不同的QoS策略來確定某些類型的流量(例如語音或視頻)的優先級。
  • 來賓網絡:在公司環境中,您可以為訪客設備創建一個單獨的VLAN,以將它們與內部網絡隔離開來。
  • 隔離:VLAN可用於隔離特定的設備或服務,例如IP攝像機,IoT設備或網絡服務器。

我們在哪裡配置VLAN標記?

以下是現實網絡中如何使用VLAN的一些示例:

  • 在學校或大學中,VLAN可以用來將網絡分開,以分離學生,老師和管理人員。這可能有助於保護學生數據並防止未經授權訪問管理系統。
  • 在醫院,VLAN可以用來將網絡分開以獲取患者記錄,醫療設備和行政人員。這可能有助於保護患者隱私,並確保關鍵醫療設備不受網絡流量的影響。
  • 在公司辦公室中,VLAN可以用來將網絡分開,以分開不同部門的網絡,例如銷售,營銷和金融。這可能有助於提高網絡安全性並防止未經授權訪問敏感數據。

VLAN標籤VS。將多個IP地址分配給一個NIC

VLAN標記與將多個IP地址分配給單個網絡接口並不完全相同。

VLAN標記是將單個網絡分為多個虛擬網絡的一種方式,每個網絡都有自己的廣播域。這是通過在每個以太網框架中添加VLAN標籤來完成的,該標籤標識了框架所屬的VLAN。 VLAN標記是2層技術,這意味著它與以太網協議的水平相同。

另一方面,將多個IP地址分配給單個網絡接口是第3層技術。這是通過使用多個IP地址配置網絡接口來完成的,每個IP地址屬於其他子網。這允許接口與多個網絡上的設備通信。

這兩種技術通常被一起使用以創建安全且靈活的網絡環境。例如,公司可能會使用VLAN將其網絡分為不同的部門,然後將多個IP地址分配給每個網絡接口,以允許設備與多個部門進行通信。

這是一個表,總結了VLAN標記和將多個IP地址分配給單個網絡接口之間的關鍵差異:

如何在Linux中配置VLAN標記[逐步指南]

完成這些步驟後,應加載VLAN模塊,並用於在Linux系統上配置VLAN。您可以繼續創建VLAN子界面並根據需要配置VLAN標記。

步驟2-編輯NetPlan配置文件

NetPlan配置文件通常位於/etc/netplan/Directory中,並以.YAML擴展名結尾。

您可能已經有一個配置文件。如果沒有,您可以創建一個。使用文本編輯器(例如Nano或vim)編輯配置文件:

 $ sudo nano /etc/netplan/01-netcfg.yaml
登入後複製
登入後複製

用自己的配置文件替換01-netcfg.yaml。

步驟3-定義VLAN配置

在NetPlan配置文件中,通過指定其名稱,parent界面(VLAN將與之關聯的物理接口)和VLAN ID來定義VLAN接口。

這是一個示例yaml配置:

網絡:
  版本:2
  渲染器:NetworkD
  以太網:
    ENS18:
      DHCP4:不
      地址:
        -192.168.1.40/24
      路線:
         -  to:默認
          Via:192.168.1.101
      名稱服務器:
          地址:[8.8.8.8,8.8.4.4]

  Vlans:
    VLAN10:
      ID:10
      鏈接:ENS18
      地址:[192.168.10.2/24]
登入後複製

在上面的配置文件中,替換與您自己的配置匹配的網絡設置。

  • ENS18:替換為物理網絡接口的名稱。
  • VLAN10:替換為VLAN的名稱。
  • ID:10:用所需的VLAN ID替換。
  • 鏈接:ENS18:指定將VLAN關聯的物理接口。
  • 地址:為VLAN設置IP地址和子網掩碼。

您還可以定義多個VLAN,如以下配置所示。只需確保您對每個VLAN都使用了一個唯一的名稱和IP地址。

如何在Linux中配置VLAN標記[逐步指南]

重要的:

NetPlan YAML配置文件中的適當行凹痕對於可讀性和正確性至關重要。 YAML使用空間來表示數據結構,因此一致和清晰的凹痕至關重要。

  • 使用空間(不是選項卡)進行凹痕。
  • 在整個配置中保持一致的間距。
  • 在結腸後離開一個空間,將鍵與值或塊分開。
  • 正確的凹痕可增強可讀性,最小化錯誤並使網絡配置文件更易於管理。

步驟4-應用配置

將更改保存到NetPlan配置文件中,然後退出文本編輯器。然後,使用NetPlan命令應用配置:

 $ sudo Netplan申請
登入後複製
登入後複製

此命令將應用新的網絡配置,包括VLAN設置。

步驟5-驗證配置

您可以驗證是否已創建了VLAN界面,並使用IP命令正常運行:

 $ ip addr show vlan10
$ ip鏈接顯示VLAN10
登入後複製

將“ VLAN10”替換為VLAN接口名稱。這些命令應顯示有關VLAN接口及其IP配置的信息。

如何在Linux中配置VLAN標記[逐步指南]

就是這樣!您已經使用NetPlan配置了VLAN標記。確保根據需要將配置調整為特定的網絡設置,包括VLAN ID,IP地址和物理接口名稱。

步驟6-刪除VLAN

要刪除VLAN接口,只需刪除NetPlan配置文件中VLAN的相應部分即可。

在更改之前,最好備份Netplan配置文件。這樣,如果出現任何問題,您可以輕鬆地恢復為原始配置。

 $ sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.backup
登入後複製

現在,使用文本編輯器打開NetPlan配置文件:

 $ sudo nano /etc/netplan/01-netcfg.yaml
登入後複製
登入後複製

找到要刪除的VLAN的部分。這將是VLANS下的小節:看起來像這樣:

 Vlans:
  VLAN10:
    ID:10
    鏈接:ETH0
    地址:[192.168.10.2/24]
登入後複製

卸下VLAN的整個部分。保存並關閉文件。

通過運行應用更改:

 $ sudo Netplan申請
登入後複製
登入後複製

確保通過檢查網絡接口成功刪除了VLAN:

 $ ip a
登入後複製

VLAN接口(例如VLAN10)不再列出。

2。使用NMCLI命令配置VLAN標記

要在Linux系統上使用NMCLI(NetworkManager命令行接口)配置VLAN標記,請按照以下步驟:

步驟1-檢查VLAN模塊是否已加載

要驗證是否在Linux中加載了VLAN模塊(8021Q),您可以使用LSMOD命令,該命令列出了已加載的內核模塊。這是檢查VLAN模塊是否已加載的方法:

打開終端並運行以下命令:

 $ LSMOD | GREP 8021Q
登入後複製
登入後複製
登入後複製

如果加載了VLAN模塊,您將看到包括“ 8021Q”的輸出。如果您沒有看到任何輸出,則意味著該模塊未加載。

如果發現未加載VLAN模塊,則可以使用ModProbe命令手動加載它:

 $ SUDO MODPROBE 8021Q
登入後複製
登入後複製

運行此命令後,您可以使用LSMOD再次檢查其狀態| GREP 8021Q。如果已加載,您將看到輸出中列出的模塊。

要使在Linux系統上的系統啟動期間持續使VLAN模塊(8021Q)加載,您可以按照以下步驟操作:

確定在系統引導過程中使用哪個配置文件指定用於自動加載的模塊。該文件的位置可以根據您的Linux分發而有所不同。

對於紅帽子/Centos

該文件通常是/etc/modules-load.d/modules.conf。

對於Ubuntu/Debian

在/etc/modules-load.d/ Directory中創建一個自定義.conf文件。

使用具有管理特權的文本編輯器(例如Sudo Nano或Sudo VI)打開配置文件。

在配置文件中,添加一個行以指定要在啟動時加載的VLAN模塊(8021Q)。例如:

 8021q
登入後複製

添加此條目後保存文件。

應用配置:

編輯配置文件後,您可能需要應用更改。在某些系統上,這是在引導過程中自動完成的。但是,您可以使用SystemCtl命令手動應用更改:

對於紅帽子/Centos

 $ sudo systemctl restart systemd-modules-load
登入後複製

對於Ubuntu/Debian

 $ sudo systemctl restart systemd-modules-load.service
登入後複製

驗證模塊加載:

為了確保在引導處加載VLAN模塊,您可以使用LSMOD命令檢查其狀態,也可以驗證系統日誌中的任何相關消息。

 $ LSMOD | GREP 8021Q
登入後複製
登入後複製
登入後複製

如果模塊在輸出中列出,則意味著它在引導過程中成功加載。

通過遵循這些步驟並配置VLAN模塊以持久加載,您可以確保每次啟動系統時都會自動加載模塊,並且您無需手動加載它。

步驟2-檢查NetworkManager服務

確保在系統上安裝並運行NetworkManager。您可以使用以下命令檢查NetworkManager的狀態:

 $ systemctl狀態網絡管理員
登入後複製

如果未安裝或運行,您可以使用Distributs的軟件包管理器(例如,在Debian/Ubuntu上的APT或Centos/Rhel上的百勝)安裝並啟動它。

步驟3-標識父界面

確定您將用作VLAN的基礎的物理網絡接口。您可以使用以下命令列出所有可用的網絡接口:

 $ NMCLI設備狀態
登入後複製

樣本輸出:

設備類型狀態連接         
ENS18以太網連接的有線連接1 
LO循環背包 - 不受管理 - 
登入後複製

查找您要使用的接口,例如ENS18

步驟4-創建VLAN連接

接下來,您創建一個VLAN接口。在此示例中,假設您要在ETH0上創建具有ID 10的VLAN。

 $ sudo nmcli con添加類型vlan con-name vlan10 ifname vlan10 dev ens18 ID 10
登入後複製
  • con-name vlan10是您給此連接的名稱。
  • IFNAME VLAN10是VLAN接口的名稱。
  • dev ens18指定父界面。
  • ID 10是VLAN ID。

步驟5-將IP配置分配到VLAN接口

現在,將IP地址,網關和DNS分配到VLAN接口。

例如:

 $ sudo nmcli連接修改VLAN10 ipv4.addresses 192.168.10.2/24
$ sudo nmcli連接修改VLAN10 ipv4.gateway 192.168.10.1
$ sudo nmcli連接修改VLAN10 ipv4.dns 8.8.8.8
$ sudo nmcli連接修改VLAN10 IPV4
登入後複製

在上述命令中,用自己的網絡設置替換網絡設置。

  • 用所需的IP地址和子網替換192.168.10.2/24。
  • 用您的網關IP替換192.168.10.1。
  • 8.8.8.8是示例DNS服務器(Google的公共DNS)。

步驟6-激活連接

使用以下命令激活VLAN連接:

 $ sudo nmcli連接up vlan10
登入後複製

用VLAN連接的名稱替換VLAN10。

步驟7-驗證配置

您可以使用NMCLI驗證配置:

 $ NMCLI連接顯示VLAN10
登入後複製

此命令將顯示有關VLAN連接的詳細信息,包括其狀態和配置的屬性。

如何在Linux中配置VLAN標記[逐步指南]

步驟8-修改/刪除VLAN

您可以使用NMCLI CON修改命令修改設置。刪除VLAN。例如,vlan10,命令將是:

 $ sudo nmcli con delete vlan10
登入後複製

就是這樣!您已經在Linux系統上使用NMCLI配置了VLAN標記。確保將配置調整為您的特定網絡設置和需求,包括IP地址,網關和DNS設置。

3。使用Linux中的IP命令配置VLAN標記

步驟1-檢查VLAN模塊是否已加載

為了確保在Linux系統上加載VLAN模塊(802.1Q),您可以按照以下步驟操作:

要檢查是否已經加載了VLAN模塊,您可以使用LSMOD命令,該命令列出了已加載的內核模塊。打開終端並運行:

 $ LSMOD | GREP 8021Q
登入後複製
登入後複製
登入後複製

樣本輸出:

 8021Q 45056 0
GARP 20480 1 8021Q
MRP 20480 1 8021Q
登入後複製

如果您看到包含“ 8021Q”的輸出,則意味著VLAN模塊已被加載。

如果LSMOD命令未顯示802.1Q模塊,則可以使用ModProbe命令手動加載它。打開終端並運行:

 $ SUDO MODPROBE 8021Q
登入後複製
登入後複製

此命令將將VLAN模塊加載到內核中。如果您沒有看到任何錯誤消息,則應成功加載該模塊。

為了確保在啟動時自動加載VLAN模塊,您可以將其添加到/etc/模塊文件中,或在/etc/modules-load.d/ directory中創建配置文件。例如,要將其添加到 /etc /模塊中,請運行:

 $ ECHO'8021Q'| sudo Tee -A /etc /模塊
登入後複製

這將在系統啟動期間自動加載的模塊列表中添加“ 8021Q”。

步驟2-檢查網絡接口名稱

在配置VLAN標記之前,您應該找到網絡接口的名稱。

您可以使用IP鏈接顯示或IFConfig命令列出可用的網絡接口。通常,這些接口具有ENP0SX或ENSX或ETHX之類的名稱。

 $ IP鏈接顯示
登入後複製

樣本輸出:

 1:lo:<loopback> mtu 65536 qdisc noqueue狀態未知模式默認組默認組默認qlen 1000
    鏈接/循環00:00:00:00:00:00 BRD 00:00:00:00:00:00:00:00
2:<strong><mark> ENS18</mark> : mtu 1500 qdisc fq_codel state up模式默認組默認qlen 1000
    Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF:FF:FF:FF
    AltName ENP0S18</strong></loopback>
登入後複製

正如您在上面的輸出中看到的那樣,有一個名為ENS18的網絡接口。

步驟3-創建VLAN子接口

使用IP命令為您的物理網絡接口創建VLAN子界面。替換為物理接口的名稱(例如,ENS18)和所需的VLAN ID。

 $ sudo ip鏈接添加鏈接ENS18名稱VLAN10類型VLAN ID 10
登入後複製
 $ sudo ip鏈接添加鏈接ENS18名稱VLAN20類型VLAN ID 20
登入後複製

步驟4-配置IP地址

將IP地址分配給VLAN子界面。

 $ sudo ip addr添加192.168.10.2/24 dev vlan10
登入後複製
 $ sudo ip addr添加192.168.20.2/24 dev vlan20
登入後複製

步驟5-啟用VLAN接口

$ sudo ip鏈接集dev vlan10 up
登入後複製
 $ sudo ip鏈接集開發vlan20 up
登入後複製

如何在Linux中配置VLAN標記[逐步指南]

同樣,您可以配置與設置所需的VLAN一樣多。

步驟6-驗證VLAN IP地址

使用IP命令驗證VLAN的IP地址是否正確配置。

 $ ip a
1:lo:<loopback> mtu 65536 qdisc noqueue狀態未知組默認qlen 1000
    鏈接/循環00:00:00:00:00:00 BRD 00:00:00:00:00:00:00:00
    INET 127.0.0.1/8示波器主機lo
       有效_lft永遠preferred_lft永遠
    inet6 :: 1/128範圍主機 
       有效_lft永遠preferred_lft永遠
2:ens18: mtu 1500 qdisc fq_codel state up組默認qlen 1000
    Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF:FF:FF:FF
    AltName ENP0S18
    INET 192.168.1.40/24 BRD 192.168.1.255範圍全球noprefixroute ens18
       有效_lft永遠preferred_lft永遠
    Inet6 Fe80 :: bfcf:b9d3:60de:af1b/64範圍鏈接noprefixroute 
       有效_lft永遠preferred_lft永遠
3:<strong><mark> VLAN10@ENS18</mark> : mtu 1500 qdisc noqueue state up up組默認qlen 1000
    Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF:FF:FF:FF
    inet<strong><mark> 192.168.10.2/24</mark> 範圍全球ENS18.10
       有效_lft永遠preferred_lft永遠
    Inet6 Fe80 :: 6C26:BFF:FE8E:338C/64範圍鏈接 
       有效_lft永遠preferred_lft永遠
4:<strong><mark> VLAN20@ENS18</mark> : mtu 1500 qdisc noqueue state up up組默認qlen 1000
    Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF:FF:FF:FF
    inet<strong><mark> 192.168.20.2/24</mark> 範圍全球ENS18.20
       有效_lft永遠preferred_lft永遠
    Inet6 Fe80 :: 6C26:BFF:FE8E:338C/64範圍鏈接 
       有效_lft永遠preferred_lft永遠</strong></strong></strong></strong></loopback>
登入後複製

如您在上面的輸出中看到的那樣,我創建了兩個VLANS,即VLAN10和VLAN20,IP地址分別為192.168.10.24和192.168.20.24。

您還可以使用IP Addr Show命令僅查看特定的VLAN的IP地址。例如,要顯示VLAN10的IP地址,請運行:

 $ ip addr show vlan10
3:vlan10@ens18: mtu 1500 qdisc noqueue state up up組默認qlen qlen 1000
    Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF:FF:FF:FF
    inet<strong><mark> 192.168.10.2/24</mark> BRD 192.168.10.255範圍全球noprefixroute ens18.10
       有效_lft永遠preferred_lft永遠
    Inet6 Fe80 :: 6C26:BFF:FE8E:338C/64範圍鏈接 
       有效_lft永遠preferred_lft永遠</strong>
登入後複製

如何在Linux中配置VLAN標記[逐步指南]

常見問題

這是關於VLAN標籤的常見問題解答(常見問題):

問:什麼是VLAN標記?

答:VLAN標記是一種網絡技術,可讓您從邏輯上將物理網絡分為多個虛擬網絡或VLAN。它在以太網框架中添加了特殊標籤,以識別特定框架所屬的VLAN。

問:VLAN標記的目的是什麼?

答:VLAN標記可實現多種目的,包括網絡細分,流量隔離,廣播控制,服務質量(QOS)優先級和改進的網絡安全性。

問:VLAN標記如何工作​​?

答:VLAN標籤在數據鏈路層(第2層)處的以太網幀添加了一個4字節標籤,以指示VLAN ID。網絡設備使用此標籤來確定框架所屬的VLAN。

問:我可以將IP地址類(例如,A類和C類)混合在VLAN中嗎?

答:是的,您可以從同一VLAN中的不同類中分配IP地址。 VLAN不取決於IP地址類,您可以使用任何IP地址範圍,並帶有適當的子網掩碼。

問:默認情況下,不同VLAN中的設備是否相互通信?

答:不,默認情況下,不同VLAN中的設備不會相互通信。 VLAN是彼此隔離的,通信需要路由器或第3層設備才能在它們之間路由流量。

問:如何在Linux中配置VLAN標記?

答:要在Linux中配置VLAN標記,您可以使用IP命令或NetPlan等配置文件之類的工具。您將在物理接口,分配VLAN ID和根據需要配置IP地址上創建VLAN子接口。

問:我可以在託管開關上配置VLAN標記嗎?

答:是的,大多數託管開關支持VLAN標記。您可以配置VLAN,將端口分配給VLAN,並在託管開關上設置VLAN中繼,以促進VLAN通信。

問:單個接口上的VLAN標記與多個IP地址之間有什麼區別?

答:VLAN標記創建具有不同VLAN ID的單獨的虛擬網絡,而單個接口上的多個IP地址涉及在同一網絡或子網中分配多個IP地址。 VLAN標記提供了更好的流量隔離和安全性。

問:如何檢查VLAN模塊是否已加載在Linux系統上?

答:您可以使用LSMOD |檢查VLAN模塊是否加載了VLAN模塊。 GREP 8021Q命令。如果在輸出中看到“ 8021q”,則加載模塊;否則,您可能需要手動加載它。

問:如何確保在啟動時自動加載VLAN模塊?

答:要確保在引導時自動加載VLAN模塊,請將其添加到適當的配置文件中以進行Linux分發。例如,在Ubuntu中,您可以將其添加到/ETC/Modules-load.d/。

結論

在本綜合指南中,我們討論了在Linux操作系統中配置VLAN標記的三種方法。

在Linux網絡中,VLAN標記是一種有用的技術,可讓您在單個物理網絡中創建孤立的虛擬網絡。這種隔離可提高安全性,簡化網絡管理並提高整體網絡效率。

無論您是管理家庭網絡還是複雜的企業環境,了解和實現Linux中的VLAN標記都可以自​​定義網絡以滿足您的特定需求,從而增強功能和安全性。

以上是如何在Linux中配置VLAN標記[逐步指南]的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板