Linux-Networking

是否可以在同一網路中同一機器上的兩個 VLAN 之間 ping 通?

  • February 12, 2019

筆記; 最初發佈在網路工程 中,我有一個執行 Ubuntu 的機器並連接到另一個執行軟體的機器,該軟體只是更改了 VLAN 和 ifc。

Ubuntu   -- (vlan 100 on ifc1 say eth1)-------       Box
        -- (vlan 200 on ifc2 say eth2)-------

2 VLAN say 100 and 200 (vlan100, vlan200 in interface ifc1 and ifc2). 



Note:

vlan100 is configured with IP 192.168.1.1 
vlan200 is configured with IP 192.168.1.2 

另一方面,我連接了一個設備,它只是將數據包中的交換 VLAN 從 100 更改為 200,反之亦然,在 ifc1 和 ifc2 上收到的數據包上。此外,設備將在 ifc1 上收到的數據包發送到 ifc2,反之亦然。

我看到當我 ping ARP 請求從 ifc1 發出並在 ifc2 上收到時,vlan200 介面收到 ARP 請求,但該介面沒有響應 arp 響應。

我的問題是:是否可以在同一個網路的同一個盒子上的兩個 VLAN 之間 ping 通?

通常沒有。Vlan 是一種在第 2 層隔離網路的技術。IP 地址是第 3 層,這意味著在處理第 2 層分離時不會考慮它們。ARP在mac地址級別廣播,這意味著網路上的任何網卡都可以收到它。有關詳細資訊,請參閱:

https://en.m.wikipedia.org/wiki/Virtual_LAN

https://en.m.wikipedia.org/wiki/Address_Resolution_Protocol

不,因為它是同一個網路。一般來說,您應該避免有兩個 VLAN 但在同一個地址空間中。一般來說,這將增加管理負擔並阻止 intervlan 路由。

邏輯是您的預設網關,可能是路由器,將檢查子網遮罩,並決定將數據包發送到哪裡,但是當您在 VLAN100 上的電腦嘗試 ping 時,它會檢測到同一子網上的 IP,因為它是相同的範圍,並會嘗試在交換機上進行廣播發現以知道誰是 192.168.1.2 (ARP),數據包永遠不會到達路由器。

通常,您應該避免讓兩台主機具有相同的 IP 地址。有兩個選項可以使用訪客 LAN 或 VSWITCH 支持此配置:

IP 層網路 OSA-Express IP 層實現通過 VLAN 標記隔離特定網路幀,但不通過 VLAN 組隔離 IP 地址註冊。因此,您必須使用兩個不同的 OSA 卡創建兩個訪客 LAN 網段或兩個 VSWITCH 網段,以允許兩個不同的主機註冊相同的 IP 地址。如果外部交換機硬體為每個物理 OSA 連接配置了唯一的 VID 集,則兩個訪客 LAN 段將自動隔離(除非部署了虛擬路由器),並且兩個 VSWITCH 段將被隔離。

鏈路層網路 (layer2) OSA-Express 第 2 層實現允許主機管理 IP 地址和 ARP 記憶體,因此可以有一個訪客 LAN 段(或 VSWITCH 段),其中兩個不同的主機使用相同的 IP 地址不同的 VLAN 組。必須使用 ETHERNET 選項(而不是預設的 IP 層選項)定義網路,並且必須將虛擬主機配置為使用 layer2(而不是預設值)。給定 VLAN 組的 ARP 流量僅對該 VLAN 組的授權成員可見。但是請注意,為了支持此配置,任何一台主機都不能成為分配給另一台的 VLAN 組的成員。此外,廣播域中的所有交換機和路由器都必須配置為避免將網路幀從一個 VLAN 轉發到另一個 VLAN。

引用自:https://serverfault.com/questions/953588