我對 VLAN 概念很陌生,對它的工作原理以及如何配置連接埠有疑問。
假設我在 SwitchA 後面有一個正常的 LAN 192.168.1.0,在 SwitchB 後面有 VLAN2 192.168.2.0 和 VLAN3 192.168.3.0。
192.168.1.1 它是網際網路的網關。 SwitchA和SwitchB透過Trunk連接。
每當 LAN 中的設備想要與 VLAN2 或 VLAN3 通訊時,對於設備的 SSH/RDP 或 HTTP 請求,它如何知道要進入哪個 VLAN?使用 LAN/VLAN 的 IP 可以透過 GW 進行簡單路由嗎?或者在標籤方面還需要增加更多內容?因為根據我的理解,我應該配置設備部分 VLAN2 連接的端口,以僅接受帶有 VID2 的封包和帶有 VID3 的 VLAN3 封包。
答案1
簡短回答:
問問自己:“如果我向主機添加兩個以太網端口,它如何知道要使用哪個端口?”
對於 VLAN 來說,答案是一樣的。
長答案:
每當 LAN 中的設備想要與 VLAN2 或 VLAN3 通訊時,對於設備的 SSH/RDP 或 HTTP 請求,它如何知道要進入哪個 VLAN?
實際上,您的裝置通常不關心 VLAN – 它只是將封包傳送到網關。
網關(即路由器)做出此決定的方式與在實體連接之間做出決定的方式相同:基於子網路和路由表。大多數系統將 VLAN 顯示為虛擬網路介面:如果實體乙太網路連接埠名為eth0
,則 VLAN 3 將為eth0.3
或eth0_vlan3
。他們可以分配 IP 位址、新增路由、啟用防火牆等等。
主機很少會標記自己的流量,而允許這種情況實際上會破壞您可能想要實現的任何分離。但如果你做配置多個 VLAN(Linux/BSD 都可以),然後它將做出標記決定確切地與路由器相同:它將每個配置的 VLAN 視為虛擬乙太網路端口,具有自己的子網路和路由。
(當然,通往路由器的交換器連接埠需要配置為承載所有VLAN - 在某些交換器型號中,您可能需要選擇「中繼」或「混合」模式,在其他類型中將所需的VLAN 新增為「標記」。 )
答案2
這取決於您的配置。 VLAN 與 ISO/OSI 模型的第二層相關聯。此時您正在查看基於連結的連線。假設你使用IEEE 802.1Q為了實現 VLAN,在該層上新增了一個特定的標頭以允許 VLAN。
如果您希望允許 VLAN 之間進行通信,則必須擁有一個可從兩個 VLAN 存取的設備,並且在大多數情況下該設備是路由器。