우분투 24.04 가상 KVM 브릿지 설정(윈도우11)
우분투 24.04 KVM 브릿지 설정
/*가상 vm host와 동일한 아이피 대역 설정 */
cd /etc/netplan
/* 물리적 네트워크 인터페이스 확인 */
ip a
/* 빈파일 하나 생성후 물리적 인터페이스 주소로 파일 생성 */
sudo nano /etc/netplan/00-bridge.yaml
network:
version: 2
ethernets:
enp129s0:
dhcp4: false
dhcp6: false
bridges:
br0:
interfaces: [enp129s0]
addresses:
- 192.168.12.17/24
routes:
- to: default
via: 192.168.12.1
nameservers:
addresses: [203.248.252.2, 164.174.101.2]
parameters:
stp: false
forward-delay: 0
/* 파일 저장후 적용 */
sudo chmod 600 /etc/netplan/01-network-manager-all.yaml
sudo chmod 600 /etc/netplan/00-bridge.yaml
sudo netplan generate
sudo netplan apply
sudo netplan apply 명령어가 문제를 일으키면, NetworkManager 서비스를 수동으로 재시작하여 설정을 강제로 적용할 수 있습니다.
sudo systemctl restart NetworkManager
/* 적용 되었는지 확인 br0에 192.168.12.17/24가 잡혀있고, default via 192.168.12.1 라우트에 있는지 확인 */
ip addr show br0
bw@cbw-B860-Pro-A:/etc/netplan$ ip addr show br0
42: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether ee:f7:1a:d0:d6:51 brd ff:ff:ff:ff:ff:ff
inet 192.168.12.17/24 brd 192.168.12.255 scope global noprefixroute br0
valid_lft forever preferred_lft forever
inet6 fe80::ecf7:1aff:fed0:d651/64 scope link
valid_lft forever preferred_lft forever
ip route
cbw@cbw-B860-Pro-A:/etc/netplan$ ip route
default via 192.168.12.1 dev br0 proto static metric 425
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-22e801af4efa proto kernel scope link src 172.18.0.1
192.168.12.0/24 dev br0 proto kernel scope link src 192.168.12.17 metric 425
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown
/* kvm 가상 머신에 호스트와 동일한 대역의 ip주소( 192.168.12.50) 으로 브리지 네트워크를 설정하여 vm 내부에서 고정ip주소를 설정 */
다음 단계 (KVM 게스트)
이제 윈도우 11 VM 네트워크 어댑터를 **브리지 br0**에 연결해 주셔야 합니다.
virt-manager에서 설정
VM 선택 → 가상 머신 상세 설정
NIC 선택 → "Source mode" → Bridge br0
Device model은 e1000 또는 virtio-net 둘 중 하나 (성능은 virtio-net 추천)
게스트(윈도우 11) 고정 IP 설정
윈도우에서 어댑터 속성 → IPv4 수동 입력:
IP 주소: 192.168.12.11
서브넷 마스크: 255.255.255.0
기본 게이트웨이: 192.168.12.1
DNS: 203.248.252.2,164.174.101.2 (또는 192.168.12.1,또는 8.8.8.8)
최종 확인
윈도우 VM에서 PowerShell 열고:
ping 192.168.12.17 # 호스트 핑
ping 192.168.12.1 # 게이트웨이 핑
ping 8.8.8.8 # 외부 통신
/* 설정이 되었는데 호스트와 연결이 안될경우 호스트에 브리지 인터페이스 up여부 확인 */
ip link show br0
cbw@cbw-B860-Pro-A:/etc/netplan$ ip link show br0
42: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether ee:f7:1a:d0:d6:51 brd ff:ff:ff:ff:ff:ff
state UP, LOWER_UP 이어야 합니다
테스트 방법
윈도우에서 PowerShell 열고:
ipconfig /all
NIC이 인식이 되는지 (아예 안 뜨면 드라이버 문제)
IP가 제대로 잡혀 있는지
C:\Windows\system32>ipconfig /all
Windows IP 구성
호스트 이름 . . . . . . . . : cbw
주 DNS 접미사 . . . . . . . :
노드 유형 . . . . . . . . . : 혼성
IP 라우팅 사용. . . . . . . : 아니요
WINS 프록시 사용. . . . . . : 아니요
이더넷 어댑터 이더넷 2:
연결별 DNS 접미사. . . . :
설명. . . . . . . . . . . . : Red Hat VirtIO Ethernet Adapter
물리적 주소 . . . . . . . . : 52-54-00-AE-1D-5F
DHCP 사용 . . . . . . . . . : 아니요
자동 구성 사용. . . . . . . : 예
링크-로컬 IPv6 주소 . . . . : fe80::270e:312e:c3e0:a5be%7(기본 설정)
IPv4 주소 . . . . . . . . . : 192.168.12.11(기본 설정)
서브넷 마스크 . . . . . . . : 255.255.255.0
기본 게이트웨이 . . . . . . : 192.168.12.1
DHCPv6 IAID . . . . . . . . : 122835968
DHCPv6 클라이언트 DUID. . . : 00-01-00-01-30-40-19-C8-52-54-00-AE-1D-5F
DNS 서버. . . . . . . . . . : 203.248.252.2
164.174.101.2
Tcpip를 통한 NetBIOS. . . . : 사용
/* 브리지 ↔ 물리 NIC 연계 문제 */
호스트의 브리지 br0가 물리 인터페이스(enp129s0)를 제대로 패스스루 하고 있는지 확인해 봐야 합니다.
호스트에서:
bridge link
cbw@cbw-B860-Pro-A:/etc/netplan$ bridge link
2: enp129s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
34: vetha4f8e93@enp129s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-22e801af4efa state forwarding priority 32 cost 2
35: vetha411918@enp129s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-22e801af4efa state forwarding priority 32 cost 2
48: vethce202b1@enp129s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-22e801af4efa state forwarding priority 32 cost 2
49: vnet3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 2
스위치/공유기에서 MAC 필터링 or 보안 정책
게스트 NIC가 실제로는 호스트와 다른 MAC 주소(52-54-00-xx-xx-xx) 를 사용합니다. 일부 공유기/스위치에서는 MAC당 1 IP만 허용하거나, 새로운 MAC은 DHCP 허용 안 하는 경우가 있습니다.
→ 이 경우, 윈도우에 고정 IP를 줘도 게이트웨이에서 차단될 수 있습니다.
확인 방법:
호스트에서
cbw@cbw-B860-Pro-A:/etc/netplan$ arp -n
주소 하드웨어타입 하드웨어주소 플래그 마스크 인터페이스
172.18.0.2 ether 96:7b:42:81:dc:47 C br-22e801af4efa
192.168.12.19 ether 00:d8:61:88:04:d5 C br0
192.168.12.11 ether 52:54:00:ae:1d:5f C br0
172.18.0.3 ether b6:6d:38:b1:83:24 C br-22e801af4efa
192.168.12.16 ether 34:5a:60:a4:4d:b2 C br0
172.18.0.4 ether 0a:1e:c4:be:da:dc C br-22e801af4efa
192.168.12.1 ether 00:05:66:24:7d:ed C br0
1. 게스트 VM NIC이 진짜 br0에 붙었는지 확인
virsh domiflist win11
cbw@cbw-B860-Pro-A:/etc/netplan$ virsh domiflist win11
Interface Type Source Model MAC
-----------------------------------------------------------
vnet3 bridge br0 virtio 52:54:00:ae:1d:5f
cbw@cbw-B860-Pro-A:/etc/netplan$ arp -n | grep 192.168.12.11
192.168.12.11 ether 52:54:00:ae:1d:5f C br0
/*윈도우와 물리적 주소 동일 확인 */
윈도우 ipconfig 로 위에서 확인한 물리적 주소 . . . . . . . . : 52-54-00-AE-1D-5F
1. 게스트 ↔ 호스트 통신 확인
윈도우에서 PowerShell 실행:
ping 192.168.12.17 # 호스트 IP
응답이 온다 → 브리지 자체는 정상, 그럼 게이트웨이/외부 문제
응답이 안 온다 → 브리지 자체에 문제가 있거나 방화벽 차단
1. 브리지 멤버 확인
bridge link show
cbw@cbw-B860-Pro-A:/etc/netplan$ bridge link show
2: enp129s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 100
34: vetha4f8e93@enp129s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-22e801af4efa state forwarding priority 32 cost 2
35: vetha411918@enp129s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-22e801af4efa state forwarding priority 32 cost 2
48: vethce202b1@enp129s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-22e801af4efa state forwarding priority 32 cost 2
49: vnet3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 2
2. 브리지 상태 요약
cbw@cbw-B860-Pro-A:/etc/netplan$ bridge vlan show
port vlan-id
enp129s0 1 PVID Egress Untagged
virbr0 1 PVID Egress Untagged
docker0 1 PVID Egress Untagged
br-22e801af4efa 1 PVID Egress Untagged
vetha4f8e93 1 PVID Egress Untagged
vetha411918 1 PVID Egress Untagged
vethce202b1 1 PVID Egress Untagged
vnet3 1 PVID Egress Untagged
→ 각 포트(enp129s0, vnet3)가 br0에 어떻게 매핑되어 있는지 볼 수 있습니다.
4. 만약 vnet2 또는 vnet3가 안 붙어 있다면
가끔 libvirt가 VM 네트워크 장치를 br0로 제대로 attach 못 하는 경우가 있습니다.
이럴 때는 수동으로 확인:
cbw@cbw-B860-Pro-A:/etc/netplan$ virsh domiflist win11
Interface Type Source Model MAC
-----------------------------------------------------------
vnet3 bridge br0 virtio 52:54:00:ae:1d:5f
이렇게 attach 되어 있음 정상인데 안되어 있는 경우 통신이 안됨 수동으로 attach 해줘야 함.
/* 윈도우 VM이 켜진 상태에서 확인 */
bridge link show | grep vnet
cbw@cbw-B860-Pro-A:/etc/netplan$ bridge link show | grep vnet
49: vnet3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 2
위와 같이 나오면 정상 안나오면 attach가 안된 상태
수동으로 NIC 재연결 시도
VM 실행 중에:
virsh detach-interface win11 --type bridge --mac 52:54:00:ae:1d:5f
virsh attach-interface win11 --type bridge --source br0 --model virtio --mac 52:54:00:ae:1d:5f --live --persistent
수정 후 다시 잡혔는지 확인
bridge link show
/* 연결확인 */
윈도우에서
ping 192.168.12.17
응답이 와야 정상
댓글