- play_arrow KVM의 vJunos-router 이해
- play_arrow KVM의 vJunos-router에 대한 하드웨어 및 소프트웨어 요구 사항
- play_arrow KVM에 vJunos-router 설치 및 구축
- play_arrow 문제 해결
이 기계 번역이 도움이 되었습니까?
면책 조항:
이 페이지는 타사 기계 번역 소프트웨어를 사용해 번역됩니다. 주니퍼 네트웍스에서는 우수한 품질의 번역을 제공하기 위한 합리적인 수준의 노력을 기울이지만 해당 컨텐츠의 정확성을 보장할 수 없습니다. 본 번역에 포함된 정보의 정확성과 관련해 의문이 있는 경우 영문 버전을 참조하시기 바랍니다. 다운로드 가능한 PDF는 영어로만 제공됩니다.
KVM에서 vJunos-router 구축 및 관리
요약 이 주제를 읽고 vJunos-router 인스턴스를 설치한 후 구축 및 관리하는 방법을 알아보십시오.
이 주제는 다음에 대해 설명합니다.
libvirt를 사용하여 KVM 서버에 vJunos-router를 불러오는 방법.
CPU 및 메모리 양을 선택하고, 연결에 필요한 브리지를 설정하고, 직렬 포트를 구성하는 방법.
앞에서 나열한 구성 및 선택에 대해 관련 XML 파일 섹션을 사용하는 방법
참고:주니퍼 웹 사이트에서 샘플 XML 파일과 vJunos-router 이미지를 다운로드합니다.
호스트 서버에 vJunos-router 구축 설정
이 주제는 호스트 서버에 vJunos 라우터 구축을 설정하는 방법에 대해 설명합니다.
이 항목에서는 libvirt를 통해 vJunos-router를 구축하는 데 사용되는 XML 파일의 몇 가지 섹션만 강조합니다.
vjunos-router.xml 전체 XML 파일은 vJunos 랩 소프트웨어 다운로드 페이지에서 VM 이미지 및 관련 문서와 함께 다운로드할 수 있습니다.
패키지가 아직 설치되지 않은 경우 최소 소프트웨어 요구 사항 섹션에 언급된 패키지를 설치합니다. KVM 기반 vJunos-router에 대한 최소 하드웨어 및 소프트웨어 요구 사항을 참조하십시오.
- vJunos 랩 소프트웨어 다운로드 페이지에서 VM 이미지, 스크립트 및 xml 파일을 다운로드합니다.
- 사용하려는 vJunos 라우터의 각 기가비트 이더넷 인터페이스에 대한 Linux 브리지를 생성합니다.
# ip link add ge-000 type bridge
# ip link add ge-001 type bridge
이 경우 인스턴스는 ge-0/0/0 및 ge-0/0/1이 구성됩니다.
- 각 Linux 브리지를 불러옵니다.
ip link set ge-000 up
ip link set ge-001 up
- 제공된 QCOW2 vJunos 이미지의 라이브 디스크 복사본을 만듭니다.
# cd /root
# cp vjunos-router-23.2R1.14.qcow2 vjunos-rtr1-live.qcow2
구축하려는 각 vJunos 라우터에 대해 고유한 복사본을 만듭니다. 이렇게 하면 원본 이미지를 영구적으로 변경하지 않아도 됩니다. 라이브 이미지는 vJunos-router를 구축하는 사용자(일반적으로 루트 사용자)도 쓸 수 있어야 합니다.
- 다음 스탠자를 수정하여 vJunos-router에 제공되는 코어 수를 지정합니다.
다음 스탠자는 vJunos-router에 제공되는 코어 수를 지정합니다. 필요한 최소 코어는 4개이며 랩 사용 사례에 충분합니다.
content_copy zoom_out_map<cpu> <arch>x86_64</arch> <model>IvyBridge</model> <topology cores="4" sockets="1" threads="1"/> <model fallback="allow">qemu64</model> <feature name="vmx" policy="require"/> </cpu>
필요한 기본 코어 수는 4개이며 대부분의 애플리케이션에 충분합니다. vJunos-router에 지원되는 최소 CPU입니다. CPU 모델을 IvyBridge로 둘 수 있습니다. 이후 세대 Intel CPU도 이 설정에서 작동합니다.
- 필요한 경우 아래 스탠자를 수정하여 메모리를 늘리십시오. content_copy zoom_out_map
<?xml version="1.0"?> <domain xmlns:ns0="http://libvirt.org/schemas/domain/qemu/1.0" type="kvm"> <name>vjunos-rtr1</name> <memory unit="KiB">5242880</memory> <currentMemory unit="KiB">5242880</currentMemory> <vcpu placement="static">4</vcpu>
다음 예는 vJunos 라우터에 필요한 기본 메모리를 보여줍니다. 기본 메모리는 대부분의 응용 프로그램에 충분합니다. 필요한 경우 값을 늘릴 수 있습니다. 또한 생성되는 특정 vJunos-router의 이름(이 경우 vjunos-rtr1 )도 표시됩니다.
- 다음 예제와 같이 XML 파일을 수정하여 vJunos-router 이미지의 이름과 위치를 지정합니다. content_copy zoom_out_map
<disk device="disk" type="file"> <driver cache="writeback" name="qemu" type="qcow2"/> <source file="/root/vjunos-rtr1-live.qcow2"/> <target dev="vda" bus="virtio"/> </disk>
호스트의 각 vJunos VM에 고유한 이름의 QCOW2 이미지를 제공해야 합니다. 이는 libvirt 및 QEMU-KVM에 필요합니다.
- 구성 디스크 이미지를 생성합니다.
# ./make-config.sh <juniper.conf> <config.qcow2>
vJunos-router는 구성이 포함된 VM 인스턴스에 두 번째 디스크를 연결하여 초기 구성을 수락합니다. 제공된 스크립트를 make-config.sh 사용하여 디스크 이미지를 생성합니다.
XML 파일은 아래와 같이 이 구성 드라이브를 참조합니다.
content_copy zoom_out_map<disk device="disk" type="file"> <driver cache="writeback" name="qemu" type="qcow2"/> <source file="/root/config.qcow2"/> <target dev="vdb" bus=”virtio”/> </disk>
참고:초기 구성을 선호하지 않는 경우, XML 파일에서 위의 스탠자를 제거하십시오.
- 관리 이더넷 포트를 설정합니다.
아래 스탠자의 eth0은 외부 환경에 대한 연결을 제공하는 호스트 서버 인터페이스를 나타내며 이는 호스트 서버의 인터페이스 이름과 일치해야 합니다.
content_copy zoom_out_map<interface type='direct'> <source dev='eth0' mode='bridge'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
이 예에서는 vJunos 라우터가 상주하는 호스트 서버 외부에서 관리 포트인 VCP "fxp0"에 연결할 수 있습니다.
DHCP 서버를 통해 또는 표준 CLI 구성을 사용하여 fxp0에 대해 라우팅 가능한 IP 주소를 구성해야 합니다.
아래 스탠자의 eth0은 외부 환경에 대한 연결을 제공하는 호스트 서버 인터페이스를 나타내며 호스트 서버에서 이 인터페이스의 이름과 일치해야 합니다.
DHCP(Dynamic Host Configuration Protocol)를 사용하지 않는 경우 vJunos 라우터가 실행된 후 콘솔에 텔넷하고 아래와 같이 CLI 구성을 사용하여 "fxp0"에 대한 IP 주소를 구성합니다.
참고:아래 구성은 예제 또는 샘플 구성 조각일 뿐입니다. 정적 경로 구성을 설정해야 할 수도 있습니다.
VM이 작동하면 vJunos-router의 CLI에서 이 구성을 실행합니다.
# set interfaces fxp0 unit 0 family inet address 10.92.249.111/23
# set routing-options static route 0.0.0.0/0 next-hop 10.92.249.254
- VCP 관리 포트에 SSH를 사용하도록 설정합니다.
# set system services ssh root-login allow
명령. - XML 파일에서 지정하는 각 포트에 대해 Linux 브릿지를 작성하십시오. content_copy zoom_out_map
<interface type="bridge"> <source bridge="ge-000"/> <model type="virtio"/> <mtu size='9600'/> <alias name="net1"/> <address bus="0x00" domain="0x0000" function="0x0" slot="0x08" type="pci"/> </interface> <interface type="bridge"> <source bridge="ge-001"/> <model type="virtio"/> <mtu size='9600'/> <alias name="net2"/> <address bus="0x00" domain="0x0000" function="0x0" slot="0x09" type="pci"/> </interface>
포트 이름은 다음 스탠자에 지정됩니다. vJunos-router의 규칙은 ge-0xy를 사용하는 것이며, 여기서 "xy"는 실제 포트 번호를 지정합니다. 다음 예에서 ge-000 및 ge-001은 포트 번호입니다. 이러한 포트 번호는 각각 Junos ge-0/0/0 및 ge-0/0/1 인터페이스에 매핑됩니다. 앞에서 언급했듯이 XML 파일에서 지정하는 각 포트에 대해 Linux 브리지를 만들어야 합니다.
- 호스트 서버의 각 vJunos 라우터에 고유한 시리얼 콘솔 포트 번호를 제공합니다.
다음 예제에서 고유한 직렬 콘솔 포트 번호는 "8610"입니다.
content_copy zoom_out_map<serial type="tcp"> <source host="127.0.0.1" mode="bind" service="8610"/> <protocol type="telnet"/> <target port="0"/> <alias name="serial0"/> </serial>
다음 smbios 스탠자는 vJunos-router에 가상 Junos 라우터임을 알려줍니다. 따라서 이 smbios 스탠자를 수정하지 마십시오.
content_copy zoom_out_map<ns0:commandline> <ns0:arg value="-smbios"/> <ns0:arg value="type=1,product=VM-VMX, family=lab"/> </ns0:commandline>
- /etc/libvirt/qemu.conf 다음 XML 행이 주석 처리된 경우 이러한 행의 주석 처리를 검사하고 주석 처리를 제거합니다.
유효한 값의 몇 가지 예는 다음과 같습니다. 지정된 줄의 주석 처리를 제거합니다.
content_copy zoom_out_map# user = "qemu" # A user named "qemu" # user = "+0" # Super user (uid=0) # user = "100" # A user named "100" or a user with uid=100#user = "root" <<< uncomment this line # #group = "root" <<< uncomment this line
- libvirtd를 다시 시작하고 vJunos-router VM을 다시 생성합니다.
# systemctl restart libvirtd
- vjunos-rtr1.xml 파일을 사용하여 vjunos-rtr1 VM을 생성합니다.
# virsh create vjunos-rtr1.xml
용어 "rtr1"은 설치 중인 첫 번째 vJunos-router VM임을 나타내는 데 사용됩니다. 후속 VM의 이름은 vjunos-rtr2, vjunos-rtr3 등으로 지정할 수 있습니다.
결과적으로 VM이 생성되고 다음 메시지가 표시됩니다.
vjunos-rtr1.xml에서 생성된 도메인 vjunos-rtr1
- 호스트 서버에 구축된 vJunos-router를 안전하게 종료합니다(필요한 경우). 명령을 사용하여 vJunos-router를
# virsh shutdown vjunos-rtr1
종료합니다.이 단계를 실행하면 vJunos-router 인스턴스로 전송된 종료 신호를 통해 정상적으로 종료할 수 있습니다.
다음 메시지가 표시됩니다.
'vjunos-rtr1' 도메인이 종료되고 있습니다.참고:이 명령은 vJunos-router VM 디스크를 손상시킬 수 있으므로 "virsh destroy" 명령을 사용하지 마십시오.
"virsh destroy" 명령을 사용한 후 VM이 부팅을 중지하면 제공된 원본 QCOW2 이미지의 라이브 QCOW2 디스크 복사본을 생성합니다.
vJunos-router VM 확인
이 주제는 vJunos-router가 실행 중인지 확인하는 방법을 설명합니다.
- vJunos 라우터가 가동되어 실행 중인지 확인합니다.
# virsh list
content_copy zoom_out_map# virsh list Id Name State ---------------------------- 74 vjunos-rtr1 running
- VCP의 시리얼 콘솔에 연결합니다.
XML 파일에서 VCP의 시리얼 콘솔에 연결할 포트를 찾을 수 있습니다. 또한 XML 구성 파일에서 portnum이 지정된 텔넷 localhost <portnum> 를 통해 VCP의 직렬 콘솔에 로그인할 수 있습니다.
참고:텔넷 포트 번호는 호스트 서버에 상주하는 각 vJunos-router VM에 대해 고유해야 합니다.
content_copy zoom_out_map# telnet localhost 8610 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. root@:~ #
- 자동 이미지 업그레이드를 비활성화합니다.
위 단계에서 초기 Junos 구성을 제공하지 않은 경우 vJunos-router는 기본적으로 초기 네트워크 설정을 위해 DHCP를 시도합니다.
Junos OS 구성을 제공할 수 있는 DHCP 서버가 없는 경우 아래와 같이 반복되는 메시지를 받을 수 있습니다.
"자동 이미지 업그레이드"
다음과 같이 이러한 메시지를 비활성화할 수 있습니다.
content_copy zoom_out_map[edit]] user@host# set system root-authentication plain-text-password New password: <type password here> Retype new password: <retype password here> root# delete chassis auto-image-upgrade [edit] root# commit commit complete
- vJunos-router xml 파일에 지정된 ge 인터페이스가 작동 중이고 사용 가능한지 확인합니다.
show interfaces terse
명령을 사용합니다.예를 들어, vJunos-router XML 정의 파일이 "ge-000" 및 "ge-001"에 연결된 두 개의 가상 NIC를 지정하는 경우, 아래와 같이 명령을 사용하여
show interface output
확인할 때 ge-0/0/0 및 ge-0/0/1 인터페이스는 링크 "up" 상태에 있어야 합니다.content_copy zoom_out_maproot> show interfaces terse Interface Admin Link Proto Local Remote ge-0/0/0 up up ge-0/0/0.16386 up up lc-0/0/0 up up lc-0/0/0.32769 up up vpls pfe-0/0/0 up up pfe-0/0/0.16383 up up inet inet6 pfh-0/0/0 up up pfh-0/0/0.16383 up up inet pfh-0/0/0.16384 up up inet ge-0/0/1 up up ge-0/0/1.16386 up up ge-0/0/2 up down ge-0/0/2.16386 up down ge-0/0/3 up down ge-0/0/3.16386 up down [snip]
- 해당하는 각 "ge" 브리지 아래의 vnet 인터페이스가 구성되어 있는지 확인합니다.
brctl
아래와 같이 vJunos-router를 시작한 후 호스트 서버에서 명령을 사용합니다.content_copy zoom_out_map# ip link add ge-000 type bridge
# ip link show ge-000 bridge name bridge id STP enabled interfaces ge-000 8000.fe54009a419a no vnet1 # ip link show ge-001 bridge name bridge id STP enabled interfaces ge-001 8000.fe5400e9f94f no vnet2