未標記的流量通過橋後必須成為標記的流量

未標記的流量通過橋後必須成為標記的流量

我正在努力實現一些簡單的事情。

我有一台只有一個實體連接埠的機器enp89s0。它連接到本機 VLAN ( VLAN=1)。

我需要建立虛擬機器並將它們放置在單獨的VLAN=166.

為了不指定 systemd 網路中機器的介面名稱,我建立了一個橋並在那裡連接虛擬機器。

eth.166該網橋有一個連接到主網橋的vlan 介面作為上行鏈路。

設計如下圖所示

              -------------               -------------
  enps890    |             |     eth.166 |              |
-------------|   br0       |-------------|    br166     | 
             |             |             |              |
             --------------               --------------

VM 連接到br166.

虛擬機器不會標記流量,因此流量到達時未標記,介面eth.166應對其進行標記並將其傳遞到交換器。我的交換器配置了中繼端口,因此我認為這不是交換器的問題。我花了一些時間,但找不到方法。

這是我的配置

br0.netdev

[NetDev]
Name=br0
Kind=bridge

[Bridge]
VLANFiltering=yes

br0.network

[Match]
Name=br0

[Network]
DHCP=yes

[Network]
VLAN=eth.166

enps890.network

[Match]
Name=enp89s0
[Network]
Bridge=br0
[BridgeVLAN]
VLAN=166

br166.netdev

[NetDev]
Name=br166
Kind=bridge

[Bridge]
VLANFiltering=yes

br166.network

[Match]
Name=br166

[Network]
DHCP=no

eth.166.network

[Match]
Name=eth.166

[Network]
Bridge=br166
DHCP=no

[BridgeVLAN]
VLAN=166
PVID=166
EgressUntagged=166

eth.166.netdev

[NetDev]
Name=eth.166
Kind=vlan

[VLAN]
Id=166
$ bridge vlan

port              vlan-id
enp89s0           1 PVID Egress Untagged
                  166
br0               1 PVID Egress Untagged
br166             1 PVID Egress Untagged
eth.166           1 Egress Untagged
                  166 PVID Egress Untagged
virbr0            1 PVID Egress Untagged

答案1

這是我第一次使用 systemd-networkd,但它顯然似乎是無頭 libvirt 主機、單一實體介面、在多個 VLAN 上託管來賓的正確工具。我一直在努力解決這個問題,但剛開始工作,所以我將分享對我有用的方法。主人和客人可以使用各自的網路和網路。任何主機-來賓流量都必須穿過實體網路和路由器(主機外部)。

(1) 實體 INF:enp4s0f0
(2) VLAN:f0.2、f0.613
(2) 用於訪客連線的橋接器:brV2、brV613
主機從未標記的 VLAN 1 取得 DHCP 位址
訪客流量對於訪客而言未標記,並在主機和主機之間進行標記上游交換器。客人使用 Bridge 介面brV2brV613.
橋接器僅供訪客使用,<key>=no[網路] 部分下的所有條目都避免看到「降級」狀態networkctl list

對於第一次進入 systemd-networkd,我發現一張圖很有幫助。
設定圖 - systemd.networkd 與 libvirt guest 虛擬機器的 VLAN

/etc/systemd/network files:  

10-enp4s0f0.網絡

[Match]
Name=enp4s0f0

[Network]
DHCP=ipv4
VLAN=f0.2
VLAN=f0.613

[DHCPv4]
UseDNS=no

28-vlan2.netdev

[NetDev]
Name=f0.2
Kind=vlan

[VLAN]
Id=2

28-vlan613.netdev

[NetDev]
Name=f0.613
Kind=vlan

[VLAN]
Id=613

30-vlan2.網絡

[Match]
Name=f0.2

[Network]
Bridge=brV2  

30-vlan613.網絡

[Match]
Name=f0.613

[Network]
Bridge=brV613

30-br2.netdev

[NetDev]
Name=brV2
Kind=bridge

30-br613.netdev

[NetDev]
Name=brV613
Kind=bridge

30-V2-brNET.網絡

[Match]
Name=brV2

[Network]
DHCP=no
LinkLocalAddressing=no
LLDP=no
EmitLLDP=no
IPv6AcceptRA=no
IPv6SendRA=no

30-V613-brNET.網絡

[Match]
Name=brV613

[Network]
DHCP=no
LinkLocalAddressing=no
LLDP=no
EmitLLDP=no
IPv6AcceptRA=no
IPv6SendRA=no

相關內容