반응형

 


 

 

테스트한 날짜: 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

 

+ Recent posts