EVE-NG BMS 환경
BMS에 EVE-NG 5.x 이상을 설치하지 않은 경우 다운로드 링크를 확인하여 Professional 또는 Community ISO로 이동하십시오.
ISO 파일만 사용하고 BMS에 설치합니다. OVA VM 이미지를 사용하면 지원되지 않는 이중 중첩 문제가 발생할 수 있으므로 사용하지 마십시오.
VM 이미지를 EVE-NG 환경에 복사Copy the VM image to your EVE-NG environment
- vJunos-switch 다운로드 링크 https://support.juniper.net/support/downloads/?p=vjunos 으로 이동하여 아래와 같이 최신 이미지를 선택합니다.

- 복사를 클릭하여 10분 동안 유효한 임시 URL을 복사합니다.
- SSH에 액세스하여 EVE-NG BMS에 루트로 연결하여 이미지를 설치합니다. 복사한 URL을 아래와 같이 에 삽입합니다
wget "<download-url>".sudo -i # create a directoy with "vjunosswitch-version" pattern mkdir /opt/unetlab/addons/qemu/vjunosswitch-23.2 cd /opt/unetlab/addons/qemu/vjunosswitch-23.2 # download the image wget "https://cdn.juniper.net/software/vJunos-switch/23.2R1/vJunos-switch-23.2R1.14.qcow2?SM_USER=anon&__gda__=1697405150_8fa46e0fe03d658e6dd6280aef5aa151" # rename the image to hda.qcow2 NOT virtioa.qcow2 mv "vJunos-switch-23.2R1.14.qcow2?SM_USER=anon&__gda__=1697405150_8fa46e0fe03d658e6dd6280aef5aa151" hda.qcow2
VM 이미지 이름으로 사용하면 hda.qcow2 virtio 드라이버 환경 대신 IDE(통합 개발 환경)가 발생합니다. 그렇지 않으면 사용자 지정 Junos OS가 vJunos-switch에 대한 기본 Junos OS 구성 장에 설명된 대로 작동하지 않습니다.
VM에 대한 템플릿 파일 만들기
루트로 EVE-NG BMS에 대한 SSH 액세스를 계속하십시오. 아래와 같이 지원되는 Intel 및 지원되지 않는 AMD 버전에 대한 두 개의 템플릿 파일을 만듭니다. 이미지를 시작하는 데 필요한 고유한 Qemu 매개변수는 아래 굵게 표시됩니다. UI의 Stop-Command가 정상 종료를 활성화하는 커뮤니티 버전에 대해 추가되었습니다 shutdown: 0 . 그렇지 않으면 vJunos-switch VM의 배포 및 기능 제한 장에 설명된 대로 문제가 발생할 수 있습니다.
cat <<EOF >/opt/unetlab/html/templates/intel/vjunosswitch.yml
---
type: qemu
description: Juniper vEX Switch
name: vEX
cpulimit: 4
icon: JunipervQFXpfe.png
cpu: 4
ram: 5120
eth_name:
- fxp0
eth_format: ge-0/0/{0-9}
ethernet: 11
console: telnet
shutdown: 0
qemu_arch: x86_64
qemu_version: 5.2.0
qemu_nic: virtio-net-pci
qemu_options: -machine type=pc,accel=kvm -serial mon:stdio -nographic -smbios type=1,product=VM-VEX -cpu IvyBridge,ibpb=on,md-clear=on,spec-ctrl=on,ssbd=on,vmx=on
...
EOF
cat <<EOF >/opt/unetlab/html/templates/amd/vjunosswitch.yml
---
type: qemu
description: Juniper vEX Switch
name: vEX
cpulimit: 4
icon: JunipervQFXpfe.png
cpu: 4
ram: 5120
eth_name:
- fxp0
eth_format: ge-0/0/{0-9}
ethernet: 11
console: telnet
shutdown: 0
qemu_arch: x86_64
qemu_version: 5.2.0
qemu_nic: virtio-net-pci
qemu_options: -machine type=pc,accel=kvm -serial mon:stdio -nographic -smbios type=1,product=VM-VEX -cpu IvyBridge,ibpb=on,spec-ctrl=on,ssbd=on,virt-ssbd=on,svm=on,erms=off
...
EOF
시스템(및 UI)에 대해 다음 명령을 실행하여 템플릿 변경 내용을 확인합니다.
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
선택 사항: 사용자 지정 Junos OS 구성 연결
주니퍼 MX 시리즈 라우터와 유사한 vJunos-switch는 기본 Junos OS 구성이 거의 없습니다. 따라서 새 VM을 쉽게 시작하려면 아래와 같이 최소한 최소 Junos OS 구성을 사용하십시오.
다음 예제에서는 사전 정의된 Junos OS 구성으로 가상 구성 이미지를 생성합니다.
- 암호 "ABC123"을 사용하여 루트 계정에 대한 SSH 액세스를 활성화합니다.
- fxp0이 이미지에 대한 SSH 액세스를 허용하기 위해 DHCP 임대를 가져올 수 있도록 합니다.
- 외부 전역 이름 서버를 설정합니다.
- LLDP가 네트워크의 다른 노드에서 각 링크를 볼 수 있도록 합니다.
cat <<EOF >juniper.conf system { host-name vjunos; root-authentication { encrypted-password "\$6\$DOvFAxW9\$HpxgOaGEe5L6MtDJqbWepS5NT6EW23rCuu69gwwGVFr7BpzY2MHS34mPrR0LKRqoGI19tRgpz3vFJkEueW9mQ1"; ## SECRET-DATA } services { ssh { root-login allow; protocol-version v2; } } name-server { 8.8.8.8; 9.9.9.9; } arp { aging-timer 5; } syslog { file interactive-commands { interactive-commands any; } file messages { any notice; authorization info; } } } interfaces { fxp0 { unit 0 { family inet { dhcp force-discover; } } } } protocols { lldp { interface all; } lldp-med { interface all; } } EOF
기본 vJunos-switch 이미지는 처음 10개의 ge-0/0/x 인터페이스만 활성화합니다. 그러나 Junos OS 릴리스 23.2 이상에서는 최대 96개의 인터페이스를 활성화할 수 있습니다. 따라서 아래와 같이 명령을 추가하여 더 높은 범위를 갖고 EVE-NG 템플릿을 편집할 수 있습니다.
set chassis fpc 0 pic 0 number-of-ports 96
이 방법을 사용하여 20개 이상의 인터페이스를 활성화하면 결과 vJunos-switch를 사용하여 Mist GUI에서 캠퍼스 패브릭 구성을 구축할 수 없습니다.
다음 단계에서는 vJunos-switch 지원 사이트의 원본 bash 스크립트를 make-config.sh 사용할 수 있습니다. 이 스크립트는 IDE-HD 이미지를 만들어 사용자 지정 구성을 로드합니다.
링크를 통해 이미지를 다운로드할 수 있습니다. 예를 들면 다음과 같습니다 . https://webdownload.juniper.net/swdl/dl/anon/site/1/record/168885.html
스크립트는 모든 vJunos-switch 릴리스에서 변경되지 않으므로 base64로 인코딩된 gzip 파일을 사용하여 아래 단계에 따라 스크립트를 생성할 수 있습니다.
cat <<EOF >make-config.sh.gz.uue H4sICG8BK2UAA21ha2UtY29uZmlnLnNoAI1T0W7TMBR9nr/iLO1DKy1pG97oOjRtMBWtHYKxF4So lzitaZ1ktpPC0P4dO3azMopEnqLre88599x7O8eDe54P7qlakQ7pQNA1C5Miz/gy8qGLovwp+XKl 0Uv6iIfxqxO8r3JeMok509tCrtUJpnkSmeTzzQZNsoJkismapZFDkYxqBgoHDsE0TblaI5OFMGFV leWGsxTfHXRk86ALUK1pYpQ0/6gNc6FwNwPPlaZ5wgx6peiS9fr4RY5YsioQfLYBvMaLdnDqwX3o DKfuJ7RKzgJT/oNrDMfkiSQbRvOqxD7shY3xfImqjKLIpFeiqHKNMEP4gO5sfns5/UiONoVi2pSG KbrXNzcfLt/ekSMpEMqsRvfT7fnVdH61F/F1T2RH+i2jfGOscNw+ON6riL3SkS3iGb6g28HxBDG+ jqFXLDfSrAVjknFCiKecLMRaM9EIC0sMaioHWpQL4gT881msUy5b4QNnGUlMopEy+uvhgYkq5GKJ xI3cuCPp1ojGaEa8H5NFa1KoVsXWJnXjhe/lje1l+NzLn7Y0TYl1pqI6oxpWRZgjqIUIU6pp8Gz6 YTQ3y3fOYrNUWSGFwWmWcVc6hvXXjDo4zO7GrtEo2BW1kzzIC/+9pHdY7Tn8jwIrwW+kuU27kJl5 6Km+xfP35cDigPSStB2RkUIlkvox22kdWNv8gejlI6L+bglbhn04P9M0IO5SCPkNKH2wR0EEAAA= EOF base64 -d make-config.sh.gz.uue make-config.sh.gz gunzip make-config.sh.gz cat make-config.sh
vJunos-Switch를 Mist Cloud에 온보딩하려는 경우: VM을 Mist Cloud에 직접 연결할 수 있습니다. 그런 다음, 포함된 디바이스 채택 명령을 사용하여 인벤토리에 VM을 추가합니다. vJunos-switch에 대한 기본 Junos OS 구성 챕터를 검토한 후 최종 구성 디스크를 만들기 전에 다음 예제를 실행합니다.
다음 두 CLI 명령을 사용하여 사용자 지정 구성이라는 hdb.qcow2 in 이미지를 생성합니다.
chmod 777 make-config.sh ; ./make-config.sh juniper.conf hdb.qcow2 'juniper.conf' -> '/var/tmp/tmp.TYloe3JQtd/config/juniper.conf' Formatting 'hdb.qcow2', fmt=raw size=1048576 mkfs.fat 4.1 (2017-01-24) mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows /dev/loop4 has 64 heads and 32 sectors per track, hidden sectors 0x0000; logical sector size is 512, using 0xf8 media descriptor, with 2048 sectors; drive number 0x80; filesystem has 2 12-bit FATs and 4 sectors per cluster. FAT size is 2 sectors, and provides 502 clusters. There is 1 reserved sector. Root directory contains 512 slots and uses 32 sectors. Volume ID is f9fd5527, volume label vmm-data . Copying file(s) to config disk hdb.qcow2 ./ ./config/ ./config/juniper.conf Cleaning up... removed '/var/tmp/tmp.TYloe3JQtd/config/juniper.conf' removed directory '/var/tmp/tmp.TYloe3JQtd/config' removed directory '/var/tmp/tmp.TYloe3JQtd' removed directory '/var/tmp/tmp.SbTNcpocEl' Config disk hdb.qcow2 created ls -l *.qcow2 -rw-r--r-- 1 root root 4011065344 Oct 11 00:08 hda.qcow2 -rw-r--r-- 1 root root 1048576 Oct 14 21:20 hdb.qcow2 # again execute the permissions fix /opt/unetlab/wrappers/unl_wrapper -a fixpermissions