在此詳細的教程中,我們將了解VLAN標籤是什麼,其優點和用例以及如何在Linux操作系統中配置VLAN標記。
在Linux中配置VLAN標記涉及創建虛擬LAN,分配VLAN ID並根據需要配置IP地址。我們將在即將到來的部分中看到如何以三種不同的方式做到這一點。但是在此之前,讓我們了解什麼是VLAN標記,其優勢和模式。
目錄
虛擬LAN(VLAN)標記是一種網絡技術,可讓您從邏輯上將物理網絡分為多個虛擬網絡或VLAN。
VLAN標籤在數據鏈路層(第2層)的以太網幀中添加了一個特殊的標籤,以識別特定框架所屬的VLAN。此標籤使您能夠隔離網絡流量並提高網絡安全性,效率和可管理性。
用外行的話說這一點,請想像您有一個有很多房間的大房子,您想將房子分為不同的部分出於不同的目的。
例如,您可能有一個客廳供每個人閒逛,一個廚房烹飪,睡覺的臥室和洗澡的浴室。
以類似的方式,VLAN標記就像將大型計算機網絡分為較小,更易於管理的部分。這就像在您的房屋內創建虛擬房間一樣。
每個VLAN都像一個單獨的房間,同一VLAN中的設備可以輕鬆地進行通信,但是不同VLAN的設備無法直接通信。
VLAN標記是一種強大的網絡技術,可以幫助提高網絡安全性,性能和靈活性。從小型企業到大型企業,這是一項廣泛使用的技術。
你為什麼要這樣做?有幾個原因:
以下是現實網絡中如何使用VLAN的一些示例:
VLAN標記與將多個IP地址分配給單個網絡接口並不完全相同。
VLAN標記是將單個網絡分為多個虛擬網絡的一種方式,每個網絡都有自己的廣播域。這是通過在每個以太網框架中添加VLAN標籤來完成的,該標籤標識了框架所屬的VLAN。 VLAN標記是2層技術,這意味著它與以太網協議的水平相同。
另一方面,將多個IP地址分配給單個網絡接口是第3層技術。這是通過使用多個IP地址配置網絡接口來完成的,每個IP地址屬於其他子網。這允許接口與多個網絡上的設備通信。
這兩種技術通常被一起使用以創建安全且靈活的網絡環境。例如,公司可能會使用VLAN將其網絡分為不同的部門,然後將多個IP地址分配給每個網絡接口,以允許設備與多個部門進行通信。
這是一個表,總結了VLAN標記和將多個IP地址分配給單個網絡接口之間的關鍵差異:
完成這些步驟後,應加載VLAN模塊,並用於在Linux系統上配置VLAN。您可以繼續創建VLAN子界面並根據需要配置VLAN標記。
NetPlan配置文件通常位於/etc/netplan/Directory中,並以.YAML擴展名結尾。
您可能已經有一個配置文件。如果沒有,您可以創建一個。使用文本編輯器(例如Nano或vim)編輯配置文件:
$ sudo nano /etc/netplan/01-netcfg.yaml
用自己的配置文件替換01-netcfg.yaml。
在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]
在上面的配置文件中,替換與您自己的配置匹配的網絡設置。
您還可以定義多個VLAN,如以下配置所示。只需確保您對每個VLAN都使用了一個唯一的名稱和IP地址。
重要的:
NetPlan YAML配置文件中的適當行凹痕對於可讀性和正確性至關重要。 YAML使用空間來表示數據結構,因此一致和清晰的凹痕至關重要。
將更改保存到NetPlan配置文件中,然後退出文本編輯器。然後,使用NetPlan命令應用配置:
$ sudo Netplan申請
此命令將應用新的網絡配置,包括VLAN設置。
您可以驗證是否已創建了VLAN界面,並使用IP命令正常運行:
$ ip addr show vlan10 $ ip鏈接顯示VLAN10
將“ VLAN10”替換為VLAN接口名稱。這些命令應顯示有關VLAN接口及其IP配置的信息。
就是這樣!您已經使用NetPlan配置了VLAN標記。確保根據需要將配置調整為特定的網絡設置,包括VLAN ID,IP地址和物理接口名稱。
要刪除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)不再列出。
要在Linux系統上使用NMCLI(NetworkManager命令行接口)配置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模塊以持久加載,您可以確保每次啟動系統時都會自動加載模塊,並且您無需手動加載它。
確保在系統上安裝並運行NetworkManager。您可以使用以下命令檢查NetworkManager的狀態:
$ systemctl狀態網絡管理員
如果未安裝或運行,您可以使用Distributs的軟件包管理器(例如,在Debian/Ubuntu上的APT或Centos/Rhel上的百勝)安裝並啟動它。
確定您將用作VLAN的基礎的物理網絡接口。您可以使用以下命令列出所有可用的網絡接口:
$ NMCLI設備狀態
樣本輸出:
設備類型狀態連接 ENS18以太網連接的有線連接1 LO循環背包 - 不受管理 -
查找您要使用的接口,例如ENS18 。
接下來,您創建一個VLAN接口。在此示例中,假設您要在ETH0上創建具有ID 10的VLAN。
$ sudo nmcli con添加類型vlan con-name vlan10 ifname vlan10 dev ens18 ID 10
現在,將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
在上述命令中,用自己的網絡設置替換網絡設置。
使用以下命令激活VLAN連接:
$ sudo nmcli連接up vlan10
用VLAN連接的名稱替換VLAN10。
您可以使用NMCLI驗證配置:
$ NMCLI連接顯示VLAN10
此命令將顯示有關VLAN連接的詳細信息,包括其狀態和配置的屬性。
您可以使用NMCLI CON修改命令修改設置。刪除VLAN。例如,vlan10,命令將是:
$ sudo nmcli con delete vlan10
就是這樣!您已經在Linux系統上使用NMCLI配置了VLAN標記。確保將配置調整為您的特定網絡設置和需求,包括IP地址,網關和DNS設置。
為了確保在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”。
在配置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的網絡接口。
使用IP命令為您的物理網絡接口創建VLAN子界面。替換為物理接口的名稱(例如,ENS18)和所需的VLAN ID。
$ sudo ip鏈接添加鏈接ENS18名稱VLAN10類型VLAN ID 10
$ sudo ip鏈接添加鏈接ENS18名稱VLAN20類型VLAN ID 20
將IP地址分配給VLAN子界面。
$ sudo ip addr添加192.168.10.2/24 dev vlan10
$ sudo ip addr添加192.168.20.2/24 dev vlan20
$ sudo ip鏈接集dev vlan10 up
$ sudo ip鏈接集開發vlan20 up
同樣,您可以配置與設置所需的VLAN一樣多。
使用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>
這是關於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中文網其他相關文章!