EVE-NG BMS-Umgebung
Wenn Sie EVE-NG 5.x oder höher nicht auf einem BMS installiert haben, überprüfen Sie den Download-Link , um zu den Professional oder Community ISOs zu gelangen.
Verwenden Sie nur die ISO-Dateien und installieren Sie sie auf einem BMS. Vermeiden Sie die Verwendung der OVA-VM-Images, da sie das nicht unterstützte Problem der doppelten Verschachtelung verursachen würden.
Kopieren Sie das VM-Image in Ihre EVE-NG-Umgebung
- Rufen Sie den Download-Link vJunos-switch https://support.juniper.net/support/downloads/?p=vjunos auf und wählen Sie das neueste Bild aus, wie unten gezeigt.

- Klicken Sie auf Kopieren , um die temporäre URL zu kopieren, die 10 Minuten lang gültig ist.

- Greifen Sie auf SSH zu, um eine Verbindung zu Ihrem EVE-NG BMS als root herzustellen und das Image zu installieren. Betten Sie die kopierte URL wie
wget "<download-url>"unten gezeigt ein.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
Verwenden Sie hda.qcow2 als VM-Imagename, was eine integrierte Entwicklungsumgebung (IDE) anstelle einer virtio-Treiberumgebung verursacht. Andernfalls funktioniert ein benutzerdefiniertes Junos OS nicht wie im Kapitel Standardkonfiguration von Junos OS für vJunos-Switch beschrieben.
Erstellen von Vorlagendateien für die VM
Setzen Sie Ihren SSH-Zugriff auf Ihr EVE-NG BMS als root fort. Erstellen Sie zwei Vorlagendateien für die unterstützte Intel- und die nicht unterstützte AMD-Version, wie unten gezeigt. Die eindeutigen Qemu-Parameter, die zum Starten des Images erforderlich sind, sind unten fett dargestellt. Für die Community-Version wurde ein Stop-Befehl in der Benutzeroberfläche hinzugefügt shutdown: 0 , der ein ordnungsgemäßes Herunterfahren ermöglicht. Andernfalls können Probleme auftreten, die im Kapitel Bereitstellung und Funktionseinschränkungen der vJunos-Switch-VM beschrieben sind.
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
Führen Sie den folgenden Befehl aus, damit das System (und die Benutzeroberfläche) Ihre Vorlagenänderungen kennen:
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Optional: Anfügen einer benutzerdefinierten Junos OS-Konfiguration
vJunos-Switch, ähnlich wie der Router der Juniper MX-Serie, wird fast ohne Standardkonfiguration von Junos OS geliefert. Um eine neue VM einfach zu starten, verwenden Sie daher mindestens die minimale Junos OS-Konfiguration wie unten gezeigt.
Im folgenden Beispiel wird ein virtuelles Konfigurationsimage mit einer vordefinierten Junos OS-Konfiguration erstellt:
- Ermöglicht den SSH-Zugriff für das Root-Konto mit dem Passwort "ABC123".
- Ermöglicht fxp0, eine DHCP-Lease für den SSH-Zugriff auf das Image zu erhalten.
- Legt einen externen globalen Nameserver fest.
- Ermöglicht es LLDP, jede Verbindung auf anderen Knoten in Ihrem Netzwerk anzuzeigen.
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
Das Standard-vJunos-Switch-Image aktiviert nur die ersten 10 ge-0/0/x-Schnittstellen, was ausreicht. Mit Junos OS Version 23.2 oder höher können Sie jedoch maximal 96 Schnittstellen aktivieren. Sie können also Befehle wie unten gezeigt hinzufügen, um diesen höheren Bereich zu haben und die EVE-NG-Vorlagen zu bearbeiten.
set chassis fpc 0 pic 0 number-of-ports 96
Wenn Sie mehr als 20 Schnittstellen mit dieser Methode aktivieren, können Sie den resultierenden vJunos-Switch nicht verwenden, um Campus-Fabric-Konfigurationen in der Mist Systems GUI zu erstellen.
Im nächsten Schritt können Sie das ursprüngliche Bash-Skript make-config.sh von der vJunos-switch-Support-Site verwenden. Das Skript erstellt ein IDE-HD-Image, um Ihre benutzerdefinierte Konfiguration zu laden.

Sie können das Bild über einen Link herunterladen. Zum Beispiel: https://webdownload.juniper.net/swdl/dl/anon/site/1/record/168885.html
Da sich das Skript nicht mit jeder vJunos-Switch-Version ändert, können Sie das Skript mithilfe der folgenden Schritte mit einer Base64-codierten GZIP-Datei erstellen.
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
Wenn Sie vorhaben, den vJunos-Switch in eine Juniper Mist Cloud zu integrieren: Sie können die VM direkt mit der Juniper Mist Cloud verbinden. Verwenden Sie dann die Befehle für die eingebettete Geräteeinführung, um die VM dem Bestand hinzuzufügen. Lesen Sie das Kapitel Standardkonfiguration von Junos OS für vJunos-Switch , und führen Sie dort das folgende Beispiel aus, bevor Sie den endgültigen Konfigurationsdatenträger erstellen.
Verwenden Sie die folgenden beiden CLI-Befehle, um ein Image zu erstellen, das als Ihre benutzerdefinierte Konfiguration bezeichnet wird 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