나는 간단한 것을 달성하려고 노력하고 있습니다.
단일 물리적 포트를 가진 컴퓨터가 있습니다 enp89s0
. 이는 기본 VLAN( VLAN=1
)에 연결됩니다.
VM을 생성하여 별도의 VLAN=166
.
시스템 네트워크에서 머신의 인터페이스 이름을 지정하지 않기 위해 브리지를 만들고 거기에 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 주소를 가져오는 호스트
게스트 트래픽은 게스트에 대해 태그가 지정되지 않고 호스트와 호스트 사이에 태그가 지정됩니다. 업스트림 스위치. 게스트는 Bridge 인터페이스 brV2
또는 brV613
.
게스트 전용 브리지인 경우 <key>=no
[Network] 섹션 아래의 모든 항목은 에서 '성능 저하' 상태가 표시되는 것을 방지합니다 networkctl list
.
systemd-networkd에 처음 입문할 때 도움이 되는 그림을 찾았습니다.
/etc/systemd/network files:
10-enp4s0f0.network
[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.network
[Match]
Name=f0.2
[Network]
Bridge=brV2
30-vlan613.network
[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.network
[Match]
Name=brV2
[Network]
DHCP=no
LinkLocalAddressing=no
LLDP=no
EmitLLDP=no
IPv6AcceptRA=no
IPv6SendRA=no
30-V613-brNET.network
[Match]
Name=brV613
[Network]
DHCP=no
LinkLocalAddressing=no
LLDP=no
EmitLLDP=no
IPv6AcceptRA=no
IPv6SendRA=no