더북(TheBook)

가상 네트워크 추가하고 네트워크 인터페이스 생성하기

게스트 test01과 test02를 기본 가상 네트워크 default가 아닌 다른 경로로 연결해야 합니다. 게스트를 연결할 가상 브리지 네트워크가 필요합니다.

shinjaehun@losttemple:~$ virsh net-list --all
 이름           상태          자동 시작 Persistent
----------------------------------------------------------
 default        활성화        예        예

가상 브리지 네트워크 internal1을 추가해봅시다. ‘[가상 네트워크 이름].xml’ 형식의 가상 네트워크 설정 파일을 만들어야 합니다. ‘internal1.xml’ 파일을 편집기로 엽니다.

shinjaehun@losttemple:~$ vi internal1.xml

‘internal1.xml’ 파일의 내용입니다. 가상 네트워크 이름과 가상 네트워크 인터페이스 이름을 설정해줍니다. 내부 네트워크 연결에 사용할 가상 브리지 네트워크 인터페이스로 virbr1을 설정했습니다. virbr1을 통해 연결하는 가상 네트워크 internal1은 두 게스트를 직접 연결해야 합니다. 가상 네트워크 인터페이스 virbr1에 별도로 IP 주소를 할당하지 않았기 때문에 internal1을 거쳐서는 게스트끼리만 연결됩니다.

<network>
    <name>internal1</name>
    <bridge name='virbr1' />
</network>
Tip

심지어 internal1로는 호스트에서 게스트로도 접근할 수 없습니다.

파일을 저장하고 명령 프롬프트로 나옵니다. virsh net-define을 실행합니다. 이 명령은 가상 네트워크 설정 파일 ‘internal1.xml’을 바탕으로 새로운 가상 네트워크를 정의합니다.

shinjaehun@losttemple:~$ virsh net-define internal1.xml
internal1에서 정의된 internal1.xml 네트워크

virsh net-list로 추가한 가상 네트워크 internal1을 확인할 수 있지만 아직 internal1은 비활성 상태입니다.

shinjaehun@losttemple:~$ virsh net-list --all
 이름          상태      자동 시작 Persistent
----------------------------------------------------------
 default       활성화    예        예
 internal1     비활성화  아니요    예

가상 네트워크 internal1을 활성화시키고 자동으로 시작하도록 설정해봅시다. virsh net-autostart는 가상 네트워크를 자동으로 시작하는 명령이며, virsh net-start는 가상 네트워크를 활성화시키는 명령입니다. 다시 virsh net-list로 가상 네트워크 상태를 확인합니다.

shinjaehun@losttemple:~$ virsh net-autostart internal1
자동 시작으로 internal1 네트워크가 표시됨

shinjaehun@losttemple:~$ virsh net-start internal1
internal1 네트워크 시작

shinjaehun@losttemple:~$ virsh net-list
 이름           상태    자동 시작  Persistent
----------------------------------------------------------
 default        활성화  예         예
 internal1      활성화  예         예

ifconfig로 새로 추가한 가상 네트워크 인터페이스 virbr1을 확인할 수 있습니다.

shinjaehun@losttemple:~$ ifconfig
...
virbr1 Link encap:Ethernet HWaddr 52:54:00:69:3b:32
       UP BROADCAST MULTICAST MTU:1500 Metric:1
       RX packets:0 errors:0 dropped:0 overruns:0 frame:0
       TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
       collisions:0 txqueuelen:0
       RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

각 게스트마다 가상 네트워크 internal1에 연결할 네트워크 인터페이스를 설치해야 합니다. 게스트 정보를 수정하기 전에 먼저 각 게스트를 종료합니다. test01에 네트워크 인터페이스를 추가해봅시다.

shinjaehun@losttemple:~$ virsh shutdown test01
shinjaehun@losttemple:~$ virsh edit test01

default와 연결하는 네트워크 인터페이스 바로 아래에 내부 네트워크 연결 internal1을 위한 네트워크 인터페이스 장치 정보를 추가합니다. <source network>에 연결할 가상 네트워크 이름과 <model type>virtio(가상 네트워크 입출력 장치)를 입력합니다. 네트워크 인터페이스의 하드웨어 주소 <mac address>와 장치가 내부적으로 사용할 값 <address>는 입력하지 않습니다. 나중에 자동으로 추가되기 때문입니다. 파일을 저장하고 편집기를 종료합니다.

<interface type='network'>
   <mac address='52:54:00:b9:d0:89'/>
   <source network='default'/>
   <model type='virtio'/>
   <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<interface type='network'>
   <source network='internal1' />
   <model type='virtio' />
</interface>
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.