17.3. 권장되는 가상 머신 네트워킹 구성
많은 시나리오에서 기본 VM 네트워킹 구성만으로도 충분합니다. 그러나 구성을 조정해야 하는 경우 CLI(명령줄 인터페이스) 또는 RHEL 9 웹 콘솔을 사용하여 이를 수행할 수 있습니다. 다음 섹션에서는 이러한 상황에 대해 선택한 VM 네트워크 설정에 대해 설명합니다.
17.3.1. 명령줄 인터페이스를 사용하여 외부에서 볼 수 있는 가상 머신 구성
기본적으로 새로 생성된 VM은 호스트의 기본 가상 브리지인 virbr0
을 사용하는 NAT 유형 네트워크에 연결됩니다. 이렇게 하면 VM에서 호스트의 NIC(네트워크 인터페이스 컨트롤러)를 사용하여 외부 네트워크에 연결할 수 있지만 외부 시스템에서 VM에 연결할 수 없습니다.
VM이 하이퍼바이저와 동일한 외부 네트워크에 표시되어야 하는 경우 대신 브리지 모드를 사용해야 합니다. 이렇게 하려면 VM을 하이퍼바이저의 물리적 네트워크 장치에 연결된 브리지 장치에 연결합니다. 이에 대한 명령줄 인터페이스를 사용하려면 아래 지침을 따르십시오.
사전 요구 사항
- 기본 NAT 설정이 포함된 기존 VM 을 종료합니다.
하이퍼바이저의 IP 구성입니다. 이는 호스트의 네트워크 연결에 따라 달라집니다. 예를 들어 이 절차에서는 이더넷 케이블을 사용하여 호스트가 네트워크에 연결된 시나리오를 사용하며 호스트의 물리적 NIC MAC 주소가 DHCP 서버의 고정 IP에 할당됩니다. 따라서 이더넷 인터페이스는 하이퍼바이저 IP로 처리됩니다.
이더넷 인터페이스의 IP 구성을 가져오려면
ip addr
유틸리티를 사용합니다.# ip addr [...] enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 54:ee:75:49:dc:46 brd ff:ff:ff:ff:ff:ff inet 192.0.2.1/24 brd 192.0.2.255 scope global dynamic noprefixroute enp0s25
프로세스
호스트의 물리적 인터페이스에 대한 브리지 연결을 만들고 설정합니다. 자세한 내용은 네트워크 브리지 구성을 참조하십시오.
고정 IP 할당을 사용하는 시나리오에서는 물리적 이더넷 인터페이스의 IPv4 설정을 브리지 인터페이스로 이동해야 합니다.
생성된 브리지 인터페이스를 사용하도록 VM의 네트워크를 수정합니다. 예를 들어 다음 세트는 testguest 가 bridge0 을 사용하도록 설정합니다.
# virt-xml testguest --edit --network bridge=bridge0 Domain 'testguest' defined successfully.
VM을 시작합니다.
# virsh start testguest
게스트 운영 체제에서 VM이 하이퍼바이저와 동일한 네트워크에 있는 것처럼 시스템의 네트워크 인터페이스의 IP 및 DHCP 설정을 조정합니다.
이에 대한 특정 단계는 VM에서 사용하는 게스트 OS에 따라 다릅니다. 예를 들어 게스트 OS가 RHEL 9 인 경우 이더넷 연결 구성을 참조하십시오.
검증
새로 생성된 브릿지가 실행 중이며 호스트의 물리적 인터페이스와 VM 인터페이스가 모두 포함되어 있는지 확인합니다.
# ip link show master bridge0 2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UP mode DEFAULT group default qlen 1000 link/ether 54:ee:75:49:dc:46 brd ff:ff:ff:ff:ff:ff 10: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bridge0 state UNKNOWN mode DEFAULT group default qlen 1000 link/ether fe:54:00:89:15:40 brd ff:ff:ff:ff:ff:ff
VM이 하이퍼바이저와 동일한 외부 네트워크에 표시되는지 확인합니다.
게스트 운영 체제에서 시스템의 네트워크 ID를 가져옵니다. 예를 들어 Linux 게스트인 경우:
# ip addr [...] enp0s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:09:15:46 brd ff:ff:ff:ff:ff:ff inet 192.0.2.1/24 brd 192.0.2.255 scope global dynamic noprefixroute enp0s0
로컬 네트워크에 연결된 외부 시스템에서 가져온 ID를 사용하여 VM에 연결합니다.
# ssh root@192.0.2.1 root@192.0.2.1's password: Last login: Mon Sep 24 12:05:36 2019 root~#*
연결이 작동하면 네트워크가 성공적으로 구성됩니다.
문제 해결
VM이 클라이언트에서 호스팅되는 동안 클라이언트 간 VPN을 사용할 때와 같은 특정 상황에서는 브리지 모드를 사용하여 외부 위치에서 VM을 사용할 수 없습니다.
이 문제를 해결하려면 VM에
nftables
를 사용하여 대상 NAT를 설정할 수 있습니다.
17.3.2. 웹 콘솔을 사용하여 외부에서 볼 수 있는 가상 머신 구성
기본적으로 새로 생성된 VM은 호스트의 기본 가상 브리지인 virbr0
을 사용하는 NAT 유형 네트워크에 연결됩니다. 이렇게 하면 VM에서 호스트의 NIC(네트워크 인터페이스 컨트롤러)를 사용하여 외부 네트워크에 연결할 수 있지만 외부 시스템에서 VM에 연결할 수 없습니다.
VM이 하이퍼바이저와 동일한 외부 네트워크에 표시되어야 하는 경우 대신 브리지 모드를 사용해야 합니다. 이렇게 하려면 VM을 하이퍼바이저의 물리적 네트워크 장치에 연결된 브리지 장치에 연결합니다. RHEL 9 웹 콘솔을 사용하려면 아래 지침을 따르십시오.
사전 요구 사항
RHEL 9 웹 콘솔을 설치했습니다.
자세한 내용은 웹 콘솔 설치 및 활성화를 참조하십시오.
- 웹 콘솔 VM 플러그인이 시스템에 설치되어 있습니다.
- 기본 NAT 설정이 포함된 기존 VM 을 종료합니다.
하이퍼바이저의 IP 구성입니다. 이는 호스트의 네트워크 연결에 따라 달라집니다. 예를 들어 이 절차에서는 이더넷 케이블을 사용하여 호스트가 네트워크에 연결된 시나리오를 사용하며 호스트의 물리적 NIC MAC 주소가 DHCP 서버의 고정 IP에 할당됩니다. 따라서 이더넷 인터페이스는 하이퍼바이저 IP로 처리됩니다.
이더넷 인터페이스의 IP 구성을 가져오려면 웹 콘솔의
네트워킹
탭으로 이동하여인터페이스
섹션을 참조하십시오.프로세스
호스트의 물리적 인터페이스에 대한 브리지 연결을 만들고 설정합니다. 자세한 내용은 웹 콘솔에서 네트워크 브리지 구성을 참조하십시오.
고정 IP 할당을 사용하는 시나리오에서는 물리적 이더넷 인터페이스의 IPv4 설정을 브리지 인터페이스로 이동해야 합니다.
브리지 인터페이스를 사용하도록 VM의 네트워크를 수정합니다. VM의 네트워크 인터페이스 탭에서 다음을 수행합니다.
- 클릭합니다.
가상 네트워크 인터페이스 추가
대화 상자에서 다음을 설정합니다.-
LAN에 브리지할
인터페이스 유형 -
새로 생성된 브릿지로 소스를 가져옵니다(예:
bridge0)
-
- 를 클릭합니다.
- 선택 사항: VM에 연결된 다른 모든 인터페이스에 대해 를 클릭합니다.
- 클릭하여 VM을 시작합니다.
게스트 운영 체제에서 VM이 하이퍼바이저와 동일한 네트워크에 있는 것처럼 시스템의 네트워크 인터페이스의 IP 및 DHCP 설정을 조정합니다.
이에 대한 특정 단계는 VM에서 사용하는 게스트 OS에 따라 다릅니다. 예를 들어 게스트 OS가 RHEL 9 인 경우 이더넷 연결 구성을 참조하십시오.
검증
- 호스트 웹 콘솔의 Networking 탭에서 새로 생성된 브릿지로 행을 클릭하여 실행 중인지 확인하고 호스트의 물리적 인터페이스와 VM의 인터페이스를 모두 포함합니다.
VM이 하이퍼바이저와 동일한 외부 네트워크에 표시되는지 확인합니다.
게스트 운영 체제에서 시스템의 네트워크 ID를 가져옵니다. 예를 들어 Linux 게스트인 경우:
# ip addr [...] enp0s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:09:15:46 brd ff:ff:ff:ff:ff:ff inet 192.0.2.1/24 brd 192.0.2.255 scope global dynamic noprefixroute enp0s0
로컬 네트워크에 연결된 외부 시스템에서 가져온 ID를 사용하여 VM에 연결합니다.
# ssh root@192.0.2.1 root@192.0.2.1's password: Last login: Mon Sep 24 12:05:36 2019 root~#*
연결이 작동하면 네트워크가 성공적으로 구성됩니다.
문제 해결
- VM이 클라이언트에서 호스팅되는 동안 클라이언트 간 VPN을 사용할 때와 같은 특정 상황에서는 브리지 모드를 사용하여 외부 위치에서 VM을 사용할 수 없습니다.