QEMU/KVM 호스트OS와 게스트OS 동일 네트워크에 연결하기 – 브릿지 네트워크 설정

호스트 OS는 Ubuntu 22.04, 그리고 Virtual Machine Manager를 이용해서 VM을 구동하였다.

그런데 네트워크 장치가 기본적으로 NAT로 설정되어 있었다.
그러면 호스트 OS에서 VM으로 접근할 수가 없다.
그럴 땐 macvtap을 이용하면 호스트 OS와 게스트 OS를 동일 네트워크로 연결할 수 있다.
하지만 macvtap을 이용하면 게스트 OS에서 호스트 OS에 엑세스 하지 못하는 문제가 생긴다.

결론은 Bridge 설정을 해야 한다.

  1. 브릿지 넷필터 비활성화
  2. 브릿지 추가
  3. QEMU/KVM에서 브릿지 선택

우선 브릿지 넷필터 비활성화가 필요하다. 다른 설정을 아무리 잘해도 이 문제 때문에 계속 네트워크 설정이 안 되는 문제를 겪었다. 모든 트래픽을 브릿지로 보내고 VM으로 보내려면 이 작업을 꼭 해야 한다. 아래의 내용을 /etc/sysctl.d/bridge-filter.conf로 저장한다.

net.bridge.bridge-nf-call-ip6tables=0
net.bridge.bridge-nf-call-iptables=0
net.bridge.bridge-nf-call-arptables=0

이제는 /etc/udev/rules.d/99-bridge-fileter.rules 파일에 아래와 같이 적어준다.

ACTION==”add”, SUBSYSTEM==”module”, KERNEL==”br_netfilter”, RUN+=”/sbin/sysctl -p /etc/sysctl.d/bridge-filter.conf”

재부팅 해주면 반영된다.

이제 브릿지를 추가해 줄 차례다. nm-connection-editor를 실행한다. 혹시나 GUI를 이용할 수 없는 경우에는 참고자료를 살펴보길 바란다.

  1. + 버튼을 누른 후 Connection Type을 Virtual의 Bridge로 선택한 후, Create를 눌러서 Bridge Connection을 추가한다.
  2. Connection Name을 bridge0, Interface name을 bridge0로 변경해 준다.(bridge0는 예시로 적은 것이다 희망하는 이름을 적어주면 된다.)
  3. bridged connections의 Add 버튼을 누른다.
  4. Connection Type에 Ethernet을 선택.
  5. Connection name에 eth-bridge0 입력.
  6. Device에서 LAN선이 꼽혀 있는 NIC 선택(예, enp8s0). 그리고 Save 클릭.
  7. IPv4 Settings에서 Method를 Manual로 변경한다.
  8. Addresses에 Add를 누른 후 브릿지의 IPv4를 설정해 준다. DNS Server도 설정해 준다.
  9. Save를 눌러서 저장한다.
  10. Bridge에 bridge0이 추가되었고, Ethernet에 eth-bridge0이 추가 되었다면 성공.
  11. terminal에서 nmcli con up eth-bridge0 해주면, 브릿징 완료.
  12. 세팅이 잘 됐는지 확인하고 싶으면, 첫째 nmcli con show해서 bridge0와 eth-bridge0이 올라가있고 enp8s0이 내려가 있는지 확인하면 된다. 그리고, ip a 해보면 공유기와 연결된 NIC에 master bridge0이 보일 것이며, IP는 bridge0에 잡혀 있을 것이다. 이제 브릿지 사용 준비 완료.

이제 마지막이다. QEMU/KVM에서 NIC 설정에 들어간다.

  1. Network source를 Bridge device로 선택한다.
  2. Device name은 위에서 설정한 브릿지 이름을 적어준다.(위에서는 bridge0)
  3. Device model을 e1000e로 선택한다.
  4. Apply를 눌러서 적용한 후, VM을 실행하면 된다.

끝.

참고자료
https://levelup.gitconnected.com/how-to-setup-bridge-networking-with-kvm-on-ubuntu-20-04-9c560b3e3991

https://wowgold-seller.com/ko/stories/285-how-to-use-bridged-networking-with-libvirt-and-kvm

답글 남기기

이메일 주소는 공개되지 않습니다.