Networking

vconfig 創建了虛擬介面和中繼 - 介面是未標記的還是為該 VLAN ID 標記的?

  • March 31, 2012

圖表

我正在嘗試在基於 Debian 的路由器/防火牆(在 Hyper-V 上作為虛擬機存在)、我們的核心交換機(HP Procurve 5406)和通過 WAN 連接的遠端 HP ProCurve 2610 上設置一個額外的 VLAN透明 LAN 服務 (TLS) 連結。

讓我們從網路邊緣向後工作:Debian 伺服器有一個連接到 eth0 的外部連接。內部介面是 eth1,它直接從我們的 Hyper-V 主機連接到 5406。eth1 連接的埠設置為 Trk12。2610 連接到 Trk9(它中繼了一大堆 VLAN - Trk9 是我們的 TLS 頭)。我可以從兩台交換機成功 ping 我的 VLAN 的管理 IP 地址,但我無法從任何一台交換機 ping 我的新 VLAN 在基於 Debian 的路由器和防火牆上的虛擬介面。現有的 VLAN 工作正常。

是什麼賦予了?eth1 連接的埠是一個中繼,現有 VLAN (ID 98) 在中繼上未標記,新 VLAN (ID 198) 已標記。VLAN 198 標記在 5406 和 2610 上的 Trk9 上。我可以從另一台交換機 ping 另一台交換機的管理 IP(10.100.198.2 和 10.100.198.3)。VLAN 的那部分工作正常——但是我無法與 eth1.198 的 10.100.198.1 通信。我覺得我錯過了一些基本的東西,但它對我來說仍然是虛幻的。我懷疑問題出在 vconfig 創建的 eth1.198 上。它應該正確傳遞標記的 VLAN 198 數據包嗎?但他們似乎無法比 5406 更進一步。

現有 VLAN 98 上的通信工作正常。

從 Debian 盒子:

eth1:

eth1      Link encap:Ethernet  HWaddr 00:15:5d:34:5e:03  
         inet addr:10.100.0.1  Bcast:10.100.255.255  Mask:255.255.0.0
         inet6 addr: fe80::215:5dff:fe34:5e03/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:12179786 errors:0 dropped:0 overruns:0 frame:0
         TX packets:20210532 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:1586498028 (1.4 GiB)  TX bytes:26154226278 (24.3 GiB)
         Interrupt:9 Base address:0xec00 

eth1.198:

eth1.198  Link encap:Ethernet  HWaddr 00:15:5d:34:5e:03  
         inet addr:10.100.198.1  Bcast:10.100.198.255  Mask:255.255.255.0
         inet6 addr: fe80::215:5dff:fe34:5e03/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1496  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:0 (0.0 B)  TX bytes:3528 (3.4 KiB)

# cat /proc/net/vlan/eth1.198:

eth1.198  VID: 198       REORDER_HDR: 0  dev->priv_flags: 1
        total frames received            0
         total bytes received            0
     Broadcast/Multicast Rcvd            0

     total frames transmitted           72
      total bytes transmitted         3528
           total headroom inc            0
          total encap on xmit           39
Device: eth1
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
EGRESS priority mappings: 

# ip路由

10.100.198.0/24 dev eth1.198  proto kernel  scope link  src 10.100.198.1 
206.174.64.0/20 dev eth0  proto kernel  scope link  src 206.174.66.14 
10.100.0.0/16 dev eth1  proto kernel  scope link  src 10.100.0.1 
default via 206.174.64.1 dev eth0 

# iptables -L -v

Chain INPUT (policy DROP 6875 packets, 637K bytes)
pkts bytes target     prot opt in     out     source               destination         
  41  4320 ACCEPT     all  --  lo     any     anywhere             anywhere            
11481 1560K ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
 107  8058 ACCEPT     icmp --  any    any     anywhere             anywhere            
   0     0 ACCEPT     tcp  --  eth1   any     10.100.0.0/24        anywhere            tcp dpt:ssh 
 701  317K ACCEPT     udp  --  eth1   any     anywhere             anywhere            udp dpts:bootps:bootpc 


Chain FORWARD (policy DROP 1 packets, 40 bytes)
pkts bytes target     prot opt in     out     source               destination         
156K   25M ACCEPT     all  --  eth1   any     anywhere             anywhere            
215K  248M ACCEPT     all  --  eth0   eth1    anywhere             anywhere            state RELATED,ESTABLISHED 
   0     0 ACCEPT     all  --  eth1.198 any     anywhere             anywhere            
   0     0 ACCEPT     all  --  eth0   eth1.198  anywhere             anywhere            state RELATED,ESTABLISHED 

Chain OUTPUT (policy ACCEPT 13048 packets, 1640K bytes)
pkts bytes target     prot opt in     out     source               destination   

從 5406 開始:

# 顯示 vlan 埠 trk12 詳細資訊

Status and Counters - VLAN Information - for ports Trk12

 VLAN ID Name                 | Status     Voice Jumbo Mode    
 ------- -------------------- + ---------- ----- ----- --------
 98      WIFI                 | Port-based No    No    Untagged
 198     VLAN198              | Port-based No    No    Tagged  

你的 Linux 機器是一個 Hyper-V 虛擬機,所以我假設它是 Hyper-V 的虛擬交換機,它正在過濾你的標記流量。您可以簡單地解決這個問題:使用與 eth1 相同的虛擬網路在 Hyper-V 中為 Debian VM 創建一個新介面,並將 VLAN ID 設置為 198。

為虛擬網路適配器設置 VLAN ID

(取自social.technet.microsoft.com

它將作為 eth2 (大概)暴露給您的 debian VM,並且具有未標記的幀。如果您希望使用不同的名稱(即 eth1.198),您應該能夠使用ifrename或 udev 對其進行重命名。

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