VM 환경(Qemu, KVM) 환경에서 기본 네트워크를 Bridge로 구성하는 방법을 작성한다.
이 때, 상위 공유기의 DHCP 서버로부터 개별 VM이 IP를 할당 받게 된다.
(Bridge는 Host 시스템의 네트워크에 연결한 사용자 Bridge를 사용)
[01] Bridge 패키지 설치 (환경구성)
1
2
3
4
5
6
|
# install package
sudo apt install bridge-utils -y
# (optional) disable NetworkManager
sudo systemctl disable NetworkManager.service
sudo systemctl stop NetworkManager.service
|
[02] 네트워크 설정(netplan)
- bridge 부분 신규 작성
- parameters - stp : Loop 방지용 프로토콜 활성화
- parameters - forward-dealy : STP가 포워딩 상태로 전환하기 전에 대기하는 시간
- STP가 루프 방지를 위해 경로 차단 후, 다시 경로를 활성화하기까지 대기시간
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# example /etc/netplan/xx.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
enp0s31f6:
dhcp4: true
bridges:
userbr0:
interfaces: [enp0s31f6]
dhcp4: true
parameters:
stp: true
forward-delay: 4
version: 2
|
1
2
|
# bridge 상태 확인
brctl show
|
[03] VM의 Default Network 변경
- KVM, QEMU 환경에서 기본으로 사용되는 virbr0 네트워크 인터페이스 대신,
- 사용자가 생성한 Bridge를 사용하도록 구성
-
forward mode
가 bridge
일 경우, DHCP 설정은 불가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# create personal bridge network for virtual machine
cd /etc/libvirt/qemu/networks
vim user-bridge0.xml
# user-bridge0.xml
<network>
<name>user-bridge0</name>
<forward mode="bridge" />
<bridge name="user-bridge0 " />
</network>
# define user-bridge0 using virsh
virsh net-list --all
virsh net-define user-bridge0.xml
virsh net-start user-bridge0
virsh net-autostart user-bridge0
|
- 설정된 모습
- userbr0이 활성화되어 있음을 확인(active)
[04] VM 네트워크 변경(미리 설치된 경우)
-
Virtual network 'xxxxxx': Bridge network
, Bridge device ...
- 기능 동일
- 전자의 경우, xxxx에 해당하는 디바이스 장치가 없으면 VM 실행 불가
- Device Model
- KVM의 경우, virtio를 사용하기 때문에,
virtio
, Hypervisor Default
동일
[05] VM 네트워크 연결 확인
- 서버 외부에서 서버의 VM 내부에 nginx server 구동 후 연결 확인
1
|
sudo apt-get -y install nginx net-tools vim
|
[06] 참고
- Host 시스템에 Birdge를 생성하고, 공유기에서 DHCP로 IP를 할당 받을 경우
- Host 시스템에서는 생성한 VM의 IP를 확인할 수 없음
- 공유기 관리페이지를 통해 확인해야함