반응형
테스트한 날짜: 2024년 3월 13일
테스트에 사용한 OS: Ubuntu 22.02
(Ubuntu 버전마다 설치할 pkg가 다르다. Ubuntu 20.04와 22.04만 이 블로그의 설명이 유효하다.)
Open vSwitch 설치
Open vSwitch를 설치한다.
$ sudo -s
$ apt update -y
$ apt install -y openvswitch-common openvswitch-switch
$ apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager
libvirt-daemon과 virt-manager간 연동이 되려면, OS를 한번 Reboot 해줘야 한다.
Open vSwitch 설정
KVM Hypervisor의 VM이 사용할 Virtual Switch를 구축한다.
$ sudo -s
##
## br-ex 라는 이름의 Virtual Switch를 만든다.
##
$ ovs-vsctl add-br br-ex
$ ovs-vsctl show
##
## 인터넷과 연결된 Port를 eth0라고 가정한다.
## 이 eth0 port를 br-ex switch에 추가한다.
## [ 주의 ]
## eth0 port를 bridge에 추가하는 순간, 기존에 eth0로 networking하던 것들이 모두 단절되니까
## eth0 외에 eth1과 같이 여분의 network port를 추가로 만들어 놓는 것이 좋다.
##
$ ovs-vsctl add-port br-ex eth0
$ ovs-vsctl show
##
## netplan 설정 파일을 작성한다. (아래 예제를 참고)
##
$ cat /etc/netplan/00-installer-config.yaml
network:
version: 2
ethernets:
eth0: ## ovs bridge에 추가한 eth0 포트에는 IP 주소를 할당하지 않는다.
dhcp4: false
br-ex: ## ovs bridge의 br-ex 포트에 eth0에 있는 주소를 설정한다.
addresses:
- 10.1.4.64/24
gateway4: 10.1.4.1
routes:
- to: 10.1.4.0/24
via: 10.1.4.1
- to: default
via: 10.1.4.1
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
eth1:
addresses:
- 10.1.3.171/24
routes:
- to: 10.1.3.0/24
via: 10.1.3.1
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
eth2:
dhcp4: false
eth3:
dhcp4: false
$ netplan apply
$ ifconfig br-ex
... 생략 ...
위와 같이 수행한 후, Ubuntu OS를 Reboot해서 Network Port eth0, br-ex가 정상적으로 구성되는지 확인한다.
(꼭, Reboot해야 하는 것은 아닌데 설정이 적용되는지 확인하는 차원에서 Reboot해보는 것을 권장한다)
KVM의 Network Profile 작성
KVM이 위에서 만든 br-ex virtual switch를 사용할 수 있도록 network profile을 작성한다.
$ cat > br-ex.xml <<-EOF
<network>
<name>br-ex</name> # KVM이 User에게 출력해주는 이름
<forward mode='bridge'/>
<bridge name='br-ex'/> # OVS가 가지고 있는 실제 bridge name
<virtualport type='openvswitch'/>
</network>
EOF
$
KVM에 Network Bridge 정보 등록
KVM 명령어인 virsh을 이용하여 br-ex switch 정보를 등록한다.
$ virsh net-define br-ex.xml
$ virsh net-start br-ex
$ virsh net-autostart br-ex
$ virsh net-list
위 설정 작성 후, Ubuntu Desktop 화면에서 'Virtual Manager' App을 실행하면 'br-ex' switch를 사용할 수 있다.
블로그 작성자: sejong.jeonjo@gmail.com
'Ubuntu' 카테고리의 다른 글
sudoers 설정 (암호 입력 없이 root 사용자 권한 얻기) (0) | 2021.07.10 |
---|---|
Configure DNAT(Port Forward) for KVM (to connect into VM from outer network) (0) | 2021.07.10 |
resolv.conf on Ubuntu (0) | 2021.07.10 |
Sharing Desktop (원격 데스크탑) on Ubuntu (0) | 2021.07.10 |
Ubuntu OS VM 최초 기동 후 설치 할 App과 초기 설정 작업 (0) | 2021.07.10 |