Cómo desplegar FortiGate VM ARM KVM con virt-install

Descripción

Este artículo describe las operaciones que deben realizarse en una plataforma ARM con soporte de virtualización KVM para desplegar un FortiGate.

Alcance

Considere este material como una prueba de concepto que sólo se centra en los pasos involucrados en la configuración del dispositivo ARM y, en el despliegue de la VM huésped. La tecnología ARM es adoptada en gran medida por los proveedores industriales que ofrecen dispositivos robustos con el objetivo de ser instalados cerca de los dispositivos de campo para ejecutar aplicaciones de control.

Solución

Raspberry Pi 4 Modelo B Rev 1.2 se utiliza como plataforma ARM. Se utilizará una versión provisional de FortiGate VM 7.2.x para ARM.

Instalación del sistema operativo en el dispositivo ARM

El Raspberry Pi Imager v1.7.2 se utiliza para formatear y volcar Raspberry Pi OS (64 bits) en una unidad Micro SD de 16 GB.

al14cioli_FTNT_0-1652192945821.png

Una vez instalado el comandolscpu da alguna información sobre el host ARM.

root# lscpu

Arquitectura: aarch64

Modo(s) operativo(s) de la CPU: 32 bits, 64 bits

[…]

CPU(s): 4

[…]

ID de proveedor: ARM

[…]

Nombre del modelo: Cortex-A72

Paquete cpu-checkerproporciona la herramientakvm-ok que se utiliza para verificar el correcto soporte de la virtualización KVM.

root# kvm-ok

INFO: /dev/kvm existe

Se puede utilizar la aceleración KVM

Además, verifique en las capacidades del dominio del hipervisor que la arquitectura aarch64 soporta elkvmtipo de virtualización.

root# virsh domcapabilities –arch aarch64 | grep kvm

kvm</dominio>

La etiqueta kvm debe estar presente. Si no la tiene, la máquina virtual invitada será muy lenta.

Artículos relacionados  Enrutamiento dinámico (BGP) sobre túnel ipsec

Extracción de imágenes de VM de FortiGate

La VM huésped es una imagen de disco en formato qcow2. Se llama fortios.cqow2. Está incrustado en un archivo ZIP con una jerarquía plana. El nombre de la imagen para ARM y KVM tiene la siguiente forma: FGT_ARM64_KVM-v7-buildxxxx-FORTINET.out.kvm.zip donde xxxx es el número de construcción.

root# zipinfo FGT_ARM64_KVM-v7-build1198-FORTINET.out.kvm.zip

Archivo: FGT_ARM64_KVM-v7-build1198-FORTINET.out.kvm.zip

Tamaño del archivo zip: 71129678 bytes, número de entradas: 1

-rw-r–r– 3.0 unx 82313216 bx defN 22-May-05 04:11 fortios.qcow2

1 archivo, 82313216 bytes sin comprimir, 71129502 bytes comprimidos: 13.6%

La imagen de disco se extrae del archivo ZIP:

root# unzip FGT_ARM64_KVM-v7-build1198-FORTINET.out.kvm.zip

Archivo: FGT_ARM64_KVM-v7-build1198-FORTINET.out.kvm.zip

inflando: fortios.qcow2

root@raspberrypi:/home/pi# qemu-img info fortios.qcow2

imagen: fortios.qcow2

formato de archivo: qcow2

tamaño virtual: 2 GiB (2147483648 bytes)

tamaño del disco: 78.5

MiB cluster_size: 65536

Información específica sobre el formato:

compat: 1.1

tipo de compresión: zlib

lazy refcounts: false

refcount bits: 16

corrupto: falso

l2 extendido: falso

Definición de máquina virtual

El siguiente comando, utilizando la herramienta virt-install, se ejecuta para definir la máquina virtual huésped.

root# virt-install –noautoconsole –name fgvm –memory 2048 –vcpus 4 –virt-type kvm –import –disk fortios.qcow2 –disk fgvm-logs.qcow2,size=1 –network type=direct,source=eth0,source_mode=bridge,model=virtio

Iniciando la instalación…

Asignando ‘fgvm-logs.qcow2’

1.0 GB 00:00:00

Creación de dominio completada.

root# virsh list

Id Nombre Estado

———————-

1 fgvm en marcha

La VM invitada está definida con 4 CPUs virtuales y 2GB de RAM. Tiene un disco duro virtual adicional (1GB sólo porque el dispositivo no tiene tanto espacio de almacenamiento) que FortiOS utilizará para fines de registro.

Porque en una prueba de concepto, dar a la VM invitada una única interfaz de red virtual de tipo macvtap . Se define sobre la interfaz de red física eth0.

Artículos relacionados  Explicación del FQDN por defecto cache-ttl

root# virsh domiflist fgvm
Tipo de interfaz Modelo de origen MAC
———————————————————–
macvtap1 direct eth0 virtio 52:54:00:97:12:cb

# ip link show type macvtap
4: macvtap0@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 500
link/ether 52:54:00:97:12:cb brd ff:ff:ff:ff:ff

El proceso de arranque de la VM invitada puede ser monitorizado.

root# virsh console fgvm

Conectado al dominio ‘fgvm’

El carácter de escape es ^](Ctrl + ])

BdsDxe: cargando Boot0002 «UEFI Misc Device 2» desde PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x0) BdsDxe: iniciando Boot0002 «UEFI Misc Device 2» desde PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x0) ¡Bienvenido a GRUB!

Arrancando `FOS’

Pendiente EFI: Arrancando el Kernel de Linux…

stub EFI: Usando DTB de la tabla de configuración

EFI stub: Saliendo de los servicios de arranque e instalando el mapa de direcciones virtual…

El sistema se está iniciando…

Formateando la partición de datos compartidos … ¡hecho!

Iniciando el mantenimiento del sistema…

El número de CPUs activas se reducirá tras el reinicio.

El archivo de configuración puede contener errores.

Por favor, vea los detalles mediante el comando ‘diagnose debug config-error-log read’.

El número de serie es FGVMEVDVUEAQO67E

El uso del disco ha cambiado, por favor espere a que se reinicie…

Formateando el disco…

– desmontando /data2 : ok

Particionado y formateado de la etiqueta /dev/vdb LOGUSEDX6B90CEAB … hecho

¡¡El sistema se está cayendo AHORA !!

Por favor, espere mientras se reinicia el sistema.

[ 101.219174] reinicio: Reiniciando el sistema

[…]

El sistema se está iniciando…

El archivo de configuración puede contener errores.

Por favor, vea los detalles mediante el comando ‘diagnose debug config-error-log read’.

El número de serie es FGVMEVDVUEAQO67E

Artículos relacionados  Lista de recursos de alta disponibilidad de FortiGate

Inicio de sesión de FortiGate-ARM64-KVM:

La configuración actual de la red es la siguiente.

fortigate-vm-arm-kvm-on-raspberry4.drawio (1).svg

Se puede realizar una configuración de red inicial a través de la consola de la VM huésped.

root# virsh console fgvm

Conectado al dominio ‘fgvm’

El carácter de escape es ^](Ctrl + ])

FortiGate-ARM64-KVM login: admin

Contraseña:

¡Bienvenido!

FortiGate-ARM64-KVM # config system interface

FortiGate-ARM64-KVM (interfaz) # edit port1

FortiGate-ARM64-KVM (puerto1) # set ip 192.168.254.199/24

FortiGate-ARM64-KVM (puerto1) # end

Se puede probar la comunicación que se origina en la VM huésped. En el siguiente ejemplo, desde la consola de la VM FortiGate, inicie un PING a un dispositivo externo.

FortiGate-ARM64-KVM # execute ping 192.168.254.100

PING 192.168.254.100 (192.168.254.100): 56 bytes de datos

64 bytes desde 192.168.254.100: icmp_seq=0 ttl=64 time=6.1 ms

^C

— 192.168.254.100 estadísticas de ping —

1 paquetes transmitidos, 1 paquetes recibidos, 0% de pérdida de paquetes ida y vuelta min/avg/max = 6.1/6.1/6.1 ms

El dispositivo remoto también puede alcanzar la consola de administración de FortiGate VM.

al14cioli_FTNT_0-1652212682416.png

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Your email address will not be published. Required fields are marked *