Ejemplo: instalar e iniciar el firewall virtual vSRX en Ubuntu
En este ejemplo se muestra cómo instalar y lanzar una instancia de firewall virtual vSRX en un servidor Ubuntu con KVM.
Requisitos
En este ejemplo se utilizan los siguientes componentes de hardware y software:
Servidor x86 genérico
Junos OS versión 15.1X49-D20 para firewall virtual vSRX
Ubuntu versión 14.04.2
Antes de empezar:
En este ejemplo se supone una instalación nueva del software de servidor de Ubuntu.
Asegúrese de que el sistema operativo host cumpla los requisitos especificados en Requisitos para vSRX en KVM.
Visión general
En este ejemplo se muestra cómo configurar el servidor host de Ubuntu e instalar e iniciar una máquina virtual vSRX Virtual Firewall. La figura 1 muestra la estructura básica de una máquina virtual vSRX Virtual Firewall en un servidor Ubuntu.

En este ejemplo se utilizan direcciones IP estáticas. Si está configurando la instancia de firewall virtual vSRX en un entorno NFV , debe utilizar DHCP.
Configuración rápida: instale y ejecute una máquina virtual de firewall virtual vSRX en Ubuntu
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, y copie y pegue los comandos en la terminal del servidor Ubuntu o en la consola del firewall virtual vSRX según se especifique.
Procedimiento
Procedimiento paso a paso
Si la red virtual predeterminada aún no existe, copie los siguientes comandos y péguelos en el terminal del servidor Ubuntu para crear la red virtual predeterminada.
cat <<EOF> /etc/libvirt/qemu/networks/default.xml <network> <name>default</name> <forward mode='nat'/> <nat> <port start ='1024' end='65535' /> </nat> <bridge name='virbr0' stp='on' delay='0' /> <ip address='192.168.2.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.2.2' end='192.168.2.254' /> </dhcp> </ip> </network> EOF virsh net-define /etc/libvirt/qemu/networks/default.xml virsh net-start default virsh net-autostart default
Cree la red virtual izquierda o de confianza en el servidor de Ubuntu.
cat <<EOF> /etc/libvirt/qemu/networks/testleftnetwork.xml <network> <name>TestLeft</name> <forward mode='route'/> <bridge name='virbr1' stp='on' delay='0' /> <ip address='192.168.123.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.123.100' end='192.168.123.250' /> </dhcp> </ip> </network> EOF virsh net-define /etc/libvirt/qemu/networks/testleftnetwork.xml virsh net-start TestLeft virsh net-autostart TestLeft
Cree la red virtual correcta o no confiable en el servidor de Ubuntu.
cat <<EOF > /etc/libvirt/qemu/networks/testrightnetwork.xml <network> <name>TestRight</name> <forward mode='nat'/> <nat> <port start ='1024' end='65535' /> </nat> <bridge name='virbr2' stp='on' delay='0' /> <ip address='192.168.124.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.124.100' end='192.168.124.250' /> </dhcp> </ip> </network> EOF virsh net-define /etc/libvirt/qemu/networks/testrightnetwork.xml virsh net-start TestRight virsh net-autostart TestRight
-
Descargue la imagen del KVM del firewall virtual vSRX del sitio web de Juniper Networks en el sitio web de Juniper Networks.
-
Copie los siguientes comandos y modifique el parámetro y las marcas para que coincidan con la CPU de
cpu
su servidor Ubuntu. Pegue los comandos resultantes en la terminal del servidor Ubuntu para copiar la imagen en un punto de montaje y crear la máquina virtual vSRX Virtual Firewall.cp junos-vsrx-vmdisk-15.1X49-D20.2.qcow2 /mnt/vsrx20one.qcow2 virt-install --name vSRX20One --ram 4096 --cpu SandyBridge,+vmx,-invtsc, --vcpus=2 --arch=x86_64 --disk path=/mnt/vsrx20one.qcow2,size=16,device=disk,bus=ide,format=qcow2 --os-type linux --os-variant rhel7 --import --network=network:default,model=virtio --network=network:TestLeft,model=virtio --network=network:TestRight,model=virtio
Nota:El modelo de CPU y las marcas en el
virt-install
comando pueden variar según la CPU y las características del servidor Ubuntu. -
Para establecer la contraseña raíz en la máquina virtual vSRX Virtual Firewall, copie y pegue el comando en la CLI de vSRX Virtual Firewall en el nivel jerárquico
[edit]
.set system root-authentication plain-text-password
-
Para crear una configuración base en la máquina virtual de vSRX Virtual Firewall, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los siguientes comandos en la CLI de vSRX Virtual Firewall en el nivel de jerarquía y, a continuación, ingrese
commit
desde el[edit]
modo de configuración.set interfaces fxp0 unit 0 family inet dhcp-client set interfaces ge-0/0/0 unit 0 family inet address 192.168.123.254/24 set interfaces ge-0/0/1 unit 0 family inet dhcp-client set security zones security-zone trust interfaces ge-0/0/0.0 host-inbound-traffic system-services all set security zones security-zone untrust interfaces ge-0/0/1.0 host-inbound-traffic system-services dhcp set routing-instances CUSTOMER-VR instance-type virtual-router set routing-instances CUSTOMER-VR interface ge-0/0/0.0 set routing-instances CUSTOMER-VR interface ge-0/0/1.0 set security nat source rule-set source-nat from zone trust set security nat source rule-set source-nat to zone untrust set security nat source rule-set source-nat rule nat1 match source-address 0.0.0.0/0 set security nat source rule-set source-nat rule nat1 then source-nat interface
Procedimiento paso a paso
Configuración paso a paso
Use las siguientes secciones para obtener un conjunto más detallado de procedimientos para instalar e iniciar una máquina virtual de vSRX Virtual Firewall.
- Agregar redes virtuales
- Comprobar las redes virtuales
- Descargar e instalar la imagen del firewall virtual vSRX
- Verificar la instalación del firewall virtual vSRX
- Crear una configuración base en la instancia de firewall virtual vSRX
- Verificar la configuración básica en la instancia de firewall virtual vSRX
Agregar redes virtuales
Procedimiento paso a paso
Debe crear redes virtuales en el servidor Ubuntu para proporcionar conectividad de red a las interfaces en la máquina virtual del firewall virtual vSRX. Copie y pegue estos comandos en una terminal en el servidor de Ubuntu.
En este ejemplo se utilizan tres redes virtuales:
default: conecta la interfaz de administración fxp0.
Nota:La red virtual predeterminada ya debería existir en el servidor de Ubuntu. Utilice el
virsh net-list
comando para comprobar que la red predeterminada está presente y activa.TestLeft: conecta la interfaz ge-0/0/0 a la zona de confianza.
TestRight: conecta la interfaz ge-0/0/1 a la zona que no es de confianza.
Si la red predeterminada no existe, siga estos pasos:
Procedimiento paso a paso
Abra un editor de texto en el servidor Ubuntu y cree el archivo XML de red (default.xml) predeterminado.
emacs /etc/libvirt/qemu/networks/default.xml
Establezca el modo de reenvío en
nat
, configure una dirección IP y una máscara de subred, y una interfaz de puente, y configure DHCP para asignar direcciones IP a las interfaces de esta red virtual.Nota:Utilice el formato XML especificado por libvirt.
<network> <name>default</name> <forward mode='nat'/> <nat> <port start ='1024' end='65535' /> </nat> <bridge name='virbr0' stp='on' delay='0' /> <ip address='192.168.2.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.2.2' end='192.168.2.254' /> </dhcp> </ip> </network>
Defina e inicie la red virtual predeterminada en función del archivo default.xml que haya creado.
virsh net-define /etc/libvirt/qemu/networks/default.xml virsh net-start default virsh net-autostart default
Elimine cualquier red virtual TestLeft configurada previamente.
virsh net-destroy TestLeft virsh net-undefine TestLeft
Elimine cualquier red virtual de TestRight configurada previamente.
virsh net-destroy TestRight virsh net-undefine TestRight
Abra un editor de texto en el servidor Ubuntu y cree el archivo XML (testleftnetwork.xml) de red TestLeft.
emacs /etc/libvirt/qemu/networks/testleftnetwork.xml
Establezca el modo de reenvío en
route
, configure una dirección IP y una máscara de subred, y una interfaz de puente, y configure DHCP para asignar direcciones IP a las interfaces de esta red virtual.Nota:Utilice el formato XML especificado por libvirt.
<network> <name>TestLeft</name> <forward mode='route'/> <bridge name='virbr1' stp='on' delay='0' /> <ip address='192.168.123.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.123.100' end='192.168.123.250' /> </dhcp> </ip> </network>
Abra un editor de texto en el servidor Ubuntu y cree el archivo XML de red (testrightnetwork.xml) TestRight.
emacs /etc/libvirt/qemu/networks/testrightnetwork.xml
Establezca el modo de reenvío en
nat
, configure una dirección IP y una máscara de subred, y una interfaz de puente, y configure DHCP para asignar direcciones IP a las interfaces de esta red virtual.Nota:Utilice el formato XML especificado por libvirt.
<network> <name>TestRight</name> <forward mode='nat'/> <nat> <port start ='1024' end='65535' /> </nat> <bridge name='virbr2' stp='on' delay='0' /> <ip address='192.168.124.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.124.100' end='192.168.124.250' /> </dhcp> </ip> </network>
Defina e inicie la red virtual TestLeft según el archivo testleftnetwork.xml que haya creado.
virsh net-define /etc/libvirt/qemu/networks/testleftnetwork.xml virsh net-start TestLeft virsh net-autostart TestLeft
Defina e inicie la red virtual de TestRight en función del archivo testrightnetwork.xml que haya creado.
virsh net-define /etc/libvirt/qemu/networks/testrightnetwork.xml virsh net-start TestRight virsh net-autostart TestRight
Comprobar las redes virtuales
Propósito
Compruebe la nueva configuración de red virtual en el servidor Ubuntu.
Acción
Utilice el virsh net-list
comando en el servidor Ubuntu para comprobar que las nuevas interfaces virtuales están activas y están configuradas para iniciarse automáticamente al reiniciar.
virsh net-list
Name State Autostart Persistent ---------------------------------------------------------- default active yes yes TestLeft active yes yes TestRight active yes yes
Descargar e instalar la imagen del firewall virtual vSRX
Procedimiento paso a paso
Para descargar e instalar la imagen del firewall virtual vSRX en el servidor Ubuntu:
-
Descargue la imagen del KVM del firewall virtual vSRX del sitio web de Juniper Networks: https://www.juniper.net/support/downloads/?p=vsrx#sw
-
Copie la imagen del firewall virtual vSRX en un punto de montaje adecuado.
hostOS# cp junos-vsrx-vmdisk-15.1X49-D20.2.qcow2 /mnt/vsrx20one.qcow2
-
Utilice el
virt-install
comando para crear una máquina virtual vSRX Virtual Firewall. Modifique el parámetro y las marcas para que coincidan con lacpu
CPU de su servidor Ubuntu.hostOS# virt-install --name vSRX20One --ram 4096 --cpu SandyBridge,+vmx,-invtsc, --vcpus=2 --arch=x86_64 --disk path=/mnt/vsrx20one.qcow2,size=16,device=disk,bus=ide,format=qcow2 --os-type linux --os-variant rhel7 --import --network=network:default,model=virtio --network=network:TestLeft,model=virtio --network=network:TestRight,model=virtio
Nota:El modelo de CPU y las marcas en el
virt-install
comando pueden variar según la CPU y las características del servidor Ubuntu.
Verificar la instalación del firewall virtual vSRX
Propósito
Verifique la instalación del firewall virtual vSRX.
Acción
-
Utilice el
virsh console
comando en el servidor Ubuntu para acceder a la consola del firewall virtual vSRX y observar el progreso de la instalación. La instalación puede tardar varios minutos en completarse.hostOS# virsh console vSRx200ne
Starting install... ERROR internal error: process exited while connecting to monitor: libust[11994/11994]: Warning: HOME environment variable not set. Disabling LTTng-UST per-user tracing. (in setup_local_apps() at lttng-ust-comm.c:305) libust[11994/11995]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:886) libust[11994/11995]: Error: Error opening shm /lttng-ust-wait-5 (in get_wait_shm() at lttng-ust-comm.c:886) Booting `Juniper Linux' Loading Linux ... Consoles: serial port BIOS drive C: is disk0 BIOS drive D: is disk1 BIOS drive E: is disk2 BIOS drive F: is disk3 BIOS 639kB/999416kB available memory FreeBSD/i386 bootstrap loader, Revision 1.2 (builder@example.com, Thu Jul 30 23:20:10 UTC 2015) Loading /boot/defaults/loader.conf /kernel text=0xa3a2c0 data=0x6219c+0x11f8e0 syms=[0x4+0xb2ed0+0x4+0x1061bb] /boot/modules/libmbpool.ko text=0xce8 data=0x114 /boot/modules/if_em_vsrx.ko text=0x184c4 data=0x7fc+0x20 /boot/modules/virtio.ko text=0x2168 data=0x208 syms=[0x4+0x7e0+0x4+0x972] /boot/modules/virtio_pci.ko text=0x2de8 data=0x200+0x8 syms=[0x4+0x8f0+0x4+0xb22] /boot/modules/virtio_blk.ko text=0x299c data=0x1dc+0xc syms=[0x4+0x960+0x4+0xa0f] /boot/modules/if_vtnet.ko text=0x5ff0 data=0x360+0x10 syms=[0x4+0xdf0+0x4+0xf19] /boot/modules/pci_hgcomm.ko text=0x12fc data=0x1a4+0x44 syms=[0x4+0x560+0x4+0x61d] /boot/modules/chassis.ko text=0x9bc data=0x1d0+0x10 syms=[0x4+0x390+0x4+0x399] Hit [Enter] to boot immediately, or space bar for command prompt. Booting [/kernel]... platform_early_bootinit: Early Boot Initialization GDB: debug ports: sio GDB: current port: sio KDB: debugger backends: ddb gdb KDB: current backend: ddb Copyright (c) 1996-2015, Juniper Networks, Inc. All rights reserved. Copyright (c) 1992-2007 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. JUNOS 15.1X49-D15.4 #0: 2015-07-31 02:20:21 UTC <output omitted> The machine id is empty. Cleaning up ... Thu Aug 27 12:06:22 UTC 2015 Aug 27 12:06:22 init: exec_command: /usr/sbin/dhcpd (PID 1422) started Aug 27 12:06:22 init: dhcp (PID 1422) started Aug 27 12:06:23 init: exec_command: /usr/sbin/pppd (PID 1428) started Amnesiac (ttyd0) login:
-
En la consola de vSRX Virtual Firewall, inicie sesión y verifique la versión de vSRX Virtual Firewall instalada.
login: root
--- JUNOS 15.1X49-D15.4 built 2015-07-31 02:20:21 UTC root@%
root@% cli
root>
root> show version
Model: vSRX Junos: 15.1X49-D15.4 JUNOS Software Release [15.1X49-D15.4]
Crear una configuración base en la instancia de firewall virtual vSRX
Procedimiento paso a paso
Para configurar una configuración básica en la instancia de firewall virtual vSRX, introduzca los pasos siguientes en edit
el modo:
Cree una contraseña raíz.
[edit] set system root-authentication plain-text-password
Establezca la familia de direcciones IP para la interfaz de administración y habilite el cliente DHCP para esta interfaz.
set interfaces fxp0 unit 0 family inet dhcp-client
Establezca la dirección IP para la interfaz ge-0/0/0.0.
set interfaces ge-0/0/0 unit 0 family inet address 192.168.123.254/24
Establezca la familia de direcciones IP para la interfaz ge-0/0/1.0 y habilite el cliente DHCP para esta interfaz.
set interfaces ge-0/0/1 unit 0 family inet dhcp-client
Agregue la interfaz ge-0/0/0.0 a la zona de seguridad de confianza y permita todos los servicios del sistema del tráfico entrante en esa interfaz.
set security zones security-zone trust interfaces ge-0/0/0.0 host-inbound-traffic system-services all
Agregue la interfaz ge-0/0/1.0 a la zona de seguridad no confiable y permita solo los servicios del sistema DHCP del tráfico entrante en esa interfaz.
set security zones security-zone untrust interfaces ge-0/0/1.0 host-inbound-traffic system-services dhcp
Cree una instancia de enrutamiento de enrutador virtual y agregue las dos interfaces a esa instancia de enrutamiento.
set routing-instances CUSTOMER-VR instance-type virtual-router set routing-instances CUSTOMER-VR interface ge-0/0/0.0 set routing-instances CUSTOMER-VR interface ge-0/0/1.0
Cree un conjunto de reglas NAT de origen.
set security nat source rule-set source-nat from zone trust set security nat source rule-set source-nat to zone untrust
Configure una regla que coincida con los paquetes y traduzca la dirección de origen a la dirección de la interfaz de salida.
set security nat source rule-set source-nat rule nat1 match source-address 0.0.0.0/0 set security nat source rule-set source-nat rule nat1 then source-nat interface
Resultados
Desde el modo de configuración, confirme la configuración introduciendo el show interfaces
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.
show interfaces
Desde el modo de configuración, escriba el comando para confirmar las políticas de show security policies
seguridad. Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.
show security policies
from-zone trust to-zone trust { policy default-permit { match { source-address any; destination-address any; application any; } then { permit; } } } from-zone trust to-zone untrust { policy default-permit { match { source-address any; destination-address any; application any; } then { permit; } } } from-zone untrust to-zone trust { policy default-deny { match { source-address any; destination-address any; application any; } then { deny; } } }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Como paso final, salga del modo de configuración y use el request system reboot
comando para reiniciar la máquina virtual del firewall virtual vSRX. Puede utilizar el virsh console
comando en el servidor Ubuntu para volver a conectarse al firewall virtual vSRX después del reinicio.
Verificar la configuración básica en la instancia de firewall virtual vSRX
Propósito
Verifique la configuración básica en la instancia de vSRX Virtual Firewall.
Acción
Compruebe que la interfaz ge-0/0/0.0 tiene una dirección IP asignada del intervalo de direcciones DHCP de red TestLeft y que ge-0/0/1.0 tiene una dirección IP asignada del intervalo de direcciones DHCP de red TestRight.
root> show interfaces terse
Interface Admin Link Proto Local Remote ge-0/0/0 up up ge-0/0/0.0 up up inet 192.168.123.254/24 gr-0/0/0 up up ip-0/0/0 up up lsq-0/0/0 up up lt-0/0/0 up up mt-0/0/0 up up sp-0/0/0 up up sp-0/0/0.0 up up inet inet6 sp-0/0/0.16383 up up inet ge-0/0/1 up up ge-0/0/1.0 up up inet 192.168.124.238/24 dsc up up em0 up up em0.0 up up inet 128.0.0.1/2 em1 up up em1.32768 up up inet 192.168.1.2/24 em2 up up fxp0 up up fxp0.0 up up inet 192.168.2.1/24 ipip up up irb up up lo0 up up lo0.16384 up up inet 127.0.0.1 --> 0/0 lo0.16385 up up inet 10.0.0.1 --> 0/0 10.0.0.16 --> 0/0 128.0.0.1 --> 0/0 128.0.0.4 --> 0/0 128.0.1.16 --> 0/0 lo0.32768 up up lsi up up mtun up up pimd up up pime up up pp0 up up ppd0 up up ppe0 up up st0 up up tap up up vlan up down