私は何か単純なことを達成しようとしています。
単一の物理ポートを持つマシンがありますenp89s0
。これはネイティブ VLAN ( VLAN=1
) に接続されています。
VM を作成し、別の に配置する必要がありますVLAN=166
。
systemd networkd 内のマシンのインターフェース名を指定しないようにするために、ブリッジを作成し、そこに VM を接続します。
eth.166
このブリッジには、メイン ブリッジに接続されたアップリンクとして VLAN インターフェイスがあります。
デザインは次のようになります
------------- -------------
enps890 | | eth.166 | |
-------------| br0 |-------------| br166 |
| | | |
-------------- --------------
VM が に接続されますbr166
。
VM はトラフィックにタグを付けないので、トラフィックはタグなしで到着し、インターフェイスは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 アドレスを取得します。
ゲスト トラフィックはゲストに対してはタグなしになり、ホストとアップストリーム スイッチ間ではタグが付けられます。ゲストはブリッジ インターフェイスbrV2
またはを使用しますbrV613
。
ゲスト専用のブリッジでは、<key>=no
[Network] セクションのすべてのエントリで からの「degraded」ステータスが表示されません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