我正在努力實現一些簡單的事情。
我有一台只有一個實體連接埠的機器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 介面brV2
或brV613
.
橋接器僅供訪客使用,<key>=no
[網路] 部分下的所有條目都避免看到「降級」狀態networkctl list
。
對於第一次進入 systemd-networkd,我發現一張圖很有幫助。
/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