Exemplo: instale e lance firewall virtual vSRX no Ubuntu
Este exemplo mostra como instalar e lançar uma instância de firewall virtual vSRX em um servidor Ubuntu com KVM.
Requisitos
Este exemplo usa os seguintes componentes de hardware e software:
Servidor x86 genérico
Versão Junos OS 15.1X49-D20 para firewall virtual vSRX
Ubuntu versão 14.04.2
Antes de começar:
Este exemplo pressupõe uma nova instalação do software do servidor Ubuntu.
Garanta que o sistema operacional host atenda aos requisitos especificados nos requisitos para o vSRX no KVM.
Visão geral
Este exemplo mostra como configurar seu servidor de host do Ubuntu e instalar e lançar um VM de firewall virtual vSRX. A Figura 1 mostra a estrutura básica de um VM vM de firewall virtual vSRX em um servidor Ubuntu.

Este exemplo usa endereços IP estáticos. Se você estiver configurando a instância de firewall virtual vSRX em um ambiente NFV , você deve usar DHCP.
Configuração rápida — Instale e lance um VM vM de firewall virtual vSRX no Ubuntu
Configuração rápida da CLI
Para configurar rapidamente este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere todos os detalhes necessários para combinar com a configuração da sua rede e copie e cole os comandos no terminal do servidor Ubuntu ou no console de firewall virtual vSRX, conforme especificado.
Procedimento
Procedimento passo a passo
Se a rede virtual padrão ainda não existir, copie os seguintes comandos e cole-os no terminal de servidor Ubuntu para criar a rede virtual padrão.
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
Crie a rede virtual à esquerda ou confiável no servidor 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
Crie a rede virtual certa ou não confiável no servidor 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
-
Baixe a imagem KVM do firewall virtual vSRX no site da Juniper Networks no site da JuniperNetworks.
-
Copie os comandos a seguir e modifique o parâmetro e as
cpu
bandeiras para combinar com a CPU do seu servidor Ubuntu. Cole os comandos resultantes no terminal de servidor do Ubuntu para copiar a imagem a um ponto de montagem e criar o VM de firewall virtual vSRX.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:O modelo de CPU e as bandeiras no
virt-install
comando podem variar com base na CPU e nos recursos do servidor Ubuntu. -
Para definir a senha raiz no VM de firewall virtual vSRX, copie e cole o comando no CLI de firewall virtual vSRX no
[edit]
nível de hierarquia.set system root-authentication plain-text-password
-
Para criar uma configuração base no VM de firewall virtual vSRX, copiar os seguintes comandos, cole-os em um arquivo de texto, remover quaisquer quebras de linha, alterar quaisquer detalhes necessários para combinar com a configuração da sua rede, copiar e colar os seguintes comandos no CLI de firewall virtual vSRX no nível de hierarquia e, em seguida, entrar no
[edit]
commit
modo de configuração.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
Procedimento passo a passo
Configuração passo a passo
Use as seções a seguir para um conjunto mais detalhado de procedimentos para instalar e lançar um VM de firewall virtual vSRX.
- Adicionar redes virtuais
- Verifique as redes virtuais
- Baixar e instalar a imagem do firewall virtual vSRX
- Verifique a instalação do firewall virtual vSRX
- Crie uma configuração base na instância de firewall virtual vSRX
- Verifique a configuração básica na instância de firewall virtual vSRX
Adicionar redes virtuais
Procedimento passo a passo
Você precisa criar redes virtuais no servidor Ubuntu para fornecer conectividade de rede a interfaces no VM de firewall virtual vSRX. Copie e cole esses comandos em um terminal no servidor Ubuntu.
Este exemplo usa três redes virtuais:
padrão — conecta a interface de gerenciamento do fxp0.
Nota:A rede virtual padrão já deveria existir no servidor Ubuntu. Use o
virsh net-list
comando para verificar se a rede padrão está presente e ativa.TestLeft — conecta a interface ge-0/0/0 à zona de confiança.
TestRight — conecta a interface ge-0/0/1 à zona não confiável.
Se a rede padrão não existir, siga essas etapas:
Procedimento passo a passo
Abra um editor de texto no servidor Ubuntu e crie o arquivo XML (default.xml) de rede padrão.
emacs /etc/libvirt/qemu/networks/default.xml
nat
Configure um endereço IP e uma máscara de sub-rede e uma interface de ponte e configure o DHCP para atribuir endereços IP a interfaces nesta rede virtual.Nota:Use o 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 a rede virtual padrão com base no arquivo default.xml que você criou.
virsh net-define /etc/libvirt/qemu/networks/default.xml virsh net-start default virsh net-autostart default
Remova qualquer rede virtual TestLeft configurada anteriormente.
virsh net-destroy TestLeft virsh net-undefine TestLeft
Remova qualquer rede virtual TestRight configurada anteriormente.
virsh net-destroy TestRight virsh net-undefine TestRight
Abra um editor de texto no servidor Ubuntu e crie o arquivo XML (testleftnetwork.xml) da rede TestLeft.
emacs /etc/libvirt/qemu/networks/testleftnetwork.xml
route
Configure um endereço IP e uma máscara de sub-rede e uma interface de ponte e configure o DHCP para atribuir endereços IP a interfaces nesta rede virtual.Nota:Use o 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 um editor de texto no servidor Ubuntu e crie o arquivo XML (testrightnetwork.xml) da rede TestRight.
emacs /etc/libvirt/qemu/networks/testrightnetwork.xml
nat
Configure um endereço IP e uma máscara de sub-rede e uma interface de ponte e configure o DHCP para atribuir endereços IP a interfaces nesta rede virtual.Nota:Use o 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 a rede virtual TestLeft com base no arquivo testleftnetwork.xml que você criou.
virsh net-define /etc/libvirt/qemu/networks/testleftnetwork.xml virsh net-start TestLeft virsh net-autostart TestLeft
Defina e inicie a rede virtual TestRight com base no arquivo testrightnetwork.xml que você criou.
virsh net-define /etc/libvirt/qemu/networks/testrightnetwork.xml virsh net-start TestRight virsh net-autostart TestRight
Verifique as redes virtuais
Propósito
Verifique a nova configuração de rede virtual no servidor Ubuntu.
Ação
Use o virsh net-list
comando no servidor Ubuntu para verificar se as novas interfaces virtuais estão ativas e estão programadas para iniciar automaticamente a reinicialização.
virsh net-list
Name State Autostart Persistent ---------------------------------------------------------- default active yes yes TestLeft active yes yes TestRight active yes yes
Baixar e instalar a imagem do firewall virtual vSRX
Procedimento passo a passo
Para baixar e instalar a imagem do firewall virtual vSRX no servidor Ubuntu:
-
Baixe a imagem KVM do firewall virtual vSRX no site da Juniper Networks: https://www.juniper.net/support/downloads/?p=vsrx#sw
-
Copie a imagem do firewall virtual vSRX para um ponto de montagem apropriado.
hostOS# cp junos-vsrx-vmdisk-15.1X49-D20.2.qcow2 /mnt/vsrx20one.qcow2
-
Use o
virt-install
comando para criar um VM vM de firewall virtual vSRX. Modifique o parâmetro e ascpu
bandeiras para combinar com a CPU do 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:O modelo de CPU e as bandeiras no
virt-install
comando podem variar com base na CPU e nos recursos do servidor Ubuntu.
Verifique a instalação do firewall virtual vSRX
Propósito
Verifique a instalação do firewall virtual vSRX.
Ação
-
Use o
virsh console
comando no servidor Ubuntu para acessar o console de firewall virtual vSRX e assistir ao progresso da instalação. A instalação pode levar vários minutos para ser concluída.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:
-
No console de firewall virtual vSRX, faça login e verifique a versão do firewall virtual vSRX 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]
Crie uma configuração base na instância de firewall virtual vSRX
Procedimento passo a passo
Para configurar uma configuração base na instância de firewall virtual vSRX, insira as seguintes etapas no edit
modo:
Crie uma senha raiz.
[edit] set system root-authentication plain-text-password
Defina a família de endereços IP para a interface de gerenciamento e habilite o cliente DHCP para essa interface.
set interfaces fxp0 unit 0 family inet dhcp-client
Defina o endereço IP para a interface ge-0/0/0.0.
set interfaces ge-0/0/0 unit 0 family inet address 192.168.123.254/24
Defina a família de endereços IP para a interface ge-0/0/1.0 e habilite o cliente DHCP para esta interface.
set interfaces ge-0/0/1 unit 0 family inet dhcp-client
Adicione a interface ge-0/0/0.0 à zona de segurança trust e permita que todos os serviços de sistema desde o tráfego de entrada nessa interface.
set security zones security-zone trust interfaces ge-0/0/0.0 host-inbound-traffic system-services all
Adicione a interface ge-0/0/1.0 à zona de segurança não confiável e permita apenas serviços de sistema DHCP do tráfego de entrada nessa interface.
set security zones security-zone untrust interfaces ge-0/0/1.0 host-inbound-traffic system-services dhcp
Crie uma instância de roteamento de roteador virtual e adicione as duas interfaces a essa instância de roteamento.
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
Crie um conjunto de regras de NAT de origem.
set security nat source rule-set source-nat from zone trust set security nat source rule-set source-nat to zone untrust
Configure uma regra que combine pacotes e traduza o endereço de origem para o endereço da interface de saída.
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
A partir do modo de configuração, confirme sua configuração entrando no show interfaces
comando. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
show interfaces
A partir do modo de configuração, confirme suas políticas de segurança entrando no show security policies
comando. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
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; } } }
Se você terminar de configurar o dispositivo, entre no commit
modo de configuração.
Como etapa final, saia do modo de configuração e use o request system reboot
comando para reiniciar o VM de firewall virtual vSRX. Você pode usar o virsh console
comando no servidor Ubuntu para se reconectar ao firewall virtual vSRX após a reinicialização.
Verifique a configuração básica na instância de firewall virtual vSRX
Propósito
Verifique a configuração básica na instância de firewall virtual vSRX.
Ação
Verifique se a interface ge-0/0/0.0 tem um endereço IP atribuído na faixa de endereço DHCP da rede TestLeft e que o ge-0/0/1.0 tem um endereço IP atribuído na faixa de endereço DHCP da rede 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