vconfig 創建了虛擬介面和中繼 - 介面是未標記的還是為該 VLAN ID 標記的?
我正在嘗試在基於 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。
(取自social.technet.microsoft.com)
它將作為 eth2 (大概)暴露給您的 debian VM,並且具有未標記的幀。如果您希望使用不同的名稱(即 eth1.198),您應該能夠使用ifrename或 udev 對其進行重命名。