Exemple : installer et lancer le pare-feu virtuel vSRX sur Ubuntu
Cet exemple montre comment installer et lancer une instance de pare-feu virtuel vSRX sur un serveur Ubuntu avec KVM.
Exigences
Cet exemple utilise les composants matériels et logiciels suivants :
Serveur x86 générique
Junos OS version 15.1X49-D20 pour pare-feu virtuel vSRX
Ubuntu version 14.04.2
Avant de commencer :
Cet exemple suppose une nouvelle installation du logiciel serveur Ubuntu.
Assurez-vous que votre système d’exploitation hôte répond aux exigences spécifiées dans Configuration requise pour vSRX sur KVM.
Aperçu
Cet exemple montre comment configurer votre serveur hôte Ubuntu et installer et lancer une machine virtuelle de pare-feu virtuel vSRX. La Figure 1 montre la structure de base d’une machine virtuelle de pare-feu virtuel vSRX sur un serveur Ubuntu.
Cet exemple utilise des adresses IP statiques. Si vous configurez l’instance de pare-feu virtuel vSRX dans un environnement NFV , vous devez utiliser DHCP.
Configuration rapide - Installer et lancer une machine virtuelle de pare-feu virtuel vSRX sur Ubuntu
Configuration rapide de l’interface de ligne de commande
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans le terminal du serveur Ubuntu ou la console du pare-feu virtuel vSRX comme spécifié.
Procédure
Procédure étape par étape
Si le réseau virtuel par défaut n’existe pas déjà, copiez les commandes suivantes et collez-les dans le terminal du serveur Ubuntu pour créer le réseau virtuel par défaut.
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
Créez le réseau virtuel gauche, ou approuvé, sur le serveur 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
Créez le réseau virtuel approprié, ou non approuvé, sur le serveur 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
-
Téléchargez l’image KVM du pare-feu virtuel vSRX depuis le site Web de Juniper Networks sur le site Web de JuniperNetworks.
-
Copiez les commandes suivantes et modifiez le paramètre et les
cpudrapeaux pour qu’ils correspondent au processeur de votre serveur Ubuntu. Collez les commandes résultantes dans le terminal du serveur Ubuntu pour copier l’image sur un point de montage et créer la machine virtuelle de pare-feu virtuel 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
Note:Le modèle de processeur et les indicateurs de la
virt-installcommande peuvent varier en fonction du processeur et des fonctionnalités du serveur Ubuntu. -
Pour définir le mot de passe racine sur la machine virtuelle pare-feu virtuel vSRX, copiez et collez la commande dans l’interface de ligne de commande du pare-feu virtuel vSRX au niveau de la
[edit]hiérarchie.set system root-authentication plain-text-password
-
Pour créer une configuration de base sur la machine virtuelle pare-feu virtuel vSRX, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez les détails nécessaires pour qu’ils correspondent à votre configuration réseau, copiez et collez les commandes suivantes dans l’interface de ligne de commande du pare-feu virtuel vSRX au niveau hiérarchique
[edit], puis passezcommiten mode de configuration.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
Procédure étape par étape
Configuration étape par étape
Utilisez les sections suivantes pour obtenir un ensemble plus détaillé de procédures d’installation et de lancement d’une machine virtuelle de pare-feu virtuel vSRX.
- Ajouter des réseaux virtuels
- Vérification des réseaux virtuels
- Télécharger et installer l’image du pare-feu virtuel vSRX
- Vérifiez l’installation du pare-feu virtuel vSRX
- Création d’une configuration de base sur l’instance de pare-feu virtuel vSRX
- Vérifiez la configuration de base sur l’instance de pare-feu virtuel vSRX
Ajouter des réseaux virtuels
Procédure étape par étape
Vous devez créer des réseaux virtuels sur le serveur Ubuntu pour fournir une connectivité réseau aux interfaces sur la machine virtuelle pare-feu virtuel vSRX. Copiez et collez ces commandes dans un terminal sur le serveur Ubuntu.
Cet exemple utilise trois réseaux virtuels :
default— Connecte l’interface de gestion fxp0.
Note:Le réseau virtuel par défaut doit déjà exister sur le serveur Ubuntu. Utilisez la
virsh net-listcommande pour vérifier que le réseau par défaut est présent et actif.TestLeft — Connecte l’interface ge-0/0/0 à la zone de confiance.
TestRight— Connecte l’interface ge-0/0/1 à la zone non approuvée.
Si le réseau par défaut n’existe pas, procédez comme suit :
Procédure étape par étape
Ouvrez un éditeur de texte sur le serveur Ubuntu et créez le fichier XML réseau (default.xml) par défaut.
emacs /etc/libvirt/qemu/networks/default.xml
Définissez le mode de transfert sur
nat, configurez une adresse IP et un masque de sous-réseau, ainsi qu’une interface de pont, et configurez DHCP pour attribuer des adresses IP aux interfaces de ce réseau virtuel.Note:Utilisez le format XML spécifié par 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>
Définissez et démarrez le réseau virtuel par défaut, en fonction du fichier default.xml que vous avez créé.
virsh net-define /etc/libvirt/qemu/networks/default.xml virsh net-start default virsh net-autostart default
Supprimez tout réseau virtuel TestLeft précédemment configuré.
virsh net-destroy TestLeft virsh net-undefine TestLeft
Supprimez tout réseau virtuel TestRight précédemment configuré.
virsh net-destroy TestRight virsh net-undefine TestRight
Ouvrez un éditeur de texte sur le serveur Ubuntu et créez le fichier XML réseau (testleftnetwork.xml) TestLeft.
emacs /etc/libvirt/qemu/networks/testleftnetwork.xml
Définissez le mode de transfert sur
route, configurez une adresse IP et un masque de sous-réseau, ainsi qu’une interface de pont, et configurez DHCP pour attribuer des adresses IP aux interfaces de ce réseau virtuel.Note:Utilisez le format XML spécifié par 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>
Ouvrez un éditeur de texte sur le serveur Ubuntu et créez le fichier XML réseau (testrightnetwork.xml) TestRight.
emacs /etc/libvirt/qemu/networks/testrightnetwork.xml
Définissez le mode de transfert sur
nat, configurez une adresse IP et un masque de sous-réseau, ainsi qu’une interface de pont, et configurez DHCP pour attribuer des adresses IP aux interfaces de ce réseau virtuel.Note:Utilisez le format XML spécifié par 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>
Définissez et démarrez le réseau virtuel TestLeft en fonction du fichier testleftnetwork.xml que vous avez créé.
virsh net-define /etc/libvirt/qemu/networks/testleftnetwork.xml virsh net-start TestLeft virsh net-autostart TestLeft
Définissez et démarrez le réseau virtuel TestRight, en fonction du fichier testrightnetwork.xml que vous avez créé.
virsh net-define /etc/libvirt/qemu/networks/testrightnetwork.xml virsh net-start TestRight virsh net-autostart TestRight
Vérification des réseaux virtuels
But
Vérifiez la nouvelle configuration du réseau virtuel sur le serveur Ubuntu.
Action
Utilisez la virsh net-list commande sur le serveur Ubuntu pour vérifier que les nouvelles interfaces virtuelles sont actives et qu’elles sont configurées pour démarrer automatiquement au redémarrage.
virsh net-list
Name State Autostart Persistent ---------------------------------------------------------- default active yes yes TestLeft active yes yes TestRight active yes yes
Télécharger et installer l’image du pare-feu virtuel vSRX
Procédure étape par étape
Pour télécharger et installer l’image du pare-feu virtuel vSRX sur le serveur Ubuntu :
-
Téléchargez l’image KVM Pare-feu virtuel vSRX sur le site Web de Juniper Networks : https://www.juniper.net/support/downloads/?p=vsrx#sw
-
Copiez l’image du pare-feu virtuel vSRX vers un point de montage approprié.
hostOS# cp junos-vsrx-vmdisk-15.1X49-D20.2.qcow2 /mnt/vsrx20one.qcow2
-
Utilisez la
virt-installcommande pour créer une machine virtuelle de pare-feu virtuel vSRX. Modifiez le paramètre et lescpudrapeaux pour qu’ils correspondent au processeur de votre serveur 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
Note:Le modèle de processeur et les indicateurs de la
virt-installcommande peuvent varier en fonction du processeur et des fonctionnalités du serveur Ubuntu.
Vérifiez l’installation du pare-feu virtuel vSRX
But
Vérifiez l’installation du pare-feu virtuel vSRX.
Action
-
Utilisez la
virsh consolecommande sur le serveur Ubuntu pour accéder à la console du pare-feu virtuel vSRX et suivre la progression de l’installation. L’installation peut prendre plusieurs minutes.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: -
Sur la console du pare-feu virtuel vSRX, connectez-vous et vérifiez que la version du pare-feu virtuel vSRX est installée.
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]
Création d’une configuration de base sur l’instance de pare-feu virtuel vSRX
Procédure étape par étape
Pour configurer une configuration de base sur l’instance de pare-feu virtuel vSRX, entrez les étapes suivantes en edit mode :
Créez un mot de passe root.
[edit] set system root-authentication plain-text-password
Définissez la famille d’adresses IP pour l’interface de gestion et activez le client DHCP pour cette interface.
set interfaces fxp0 unit 0 family inet dhcp-client
Définissez l’adresse IP de l’interface ge-0/0/0.0.
set interfaces ge-0/0/0 unit 0 family inet address 192.168.123.254/24
Définissez la famille d’adresses IP pour l’interface ge-0/0/1.0 et activez le client DHCP pour cette interface.
set interfaces ge-0/0/1 unit 0 family inet dhcp-client
Ajoutez l’interface ge-0/0/0.0 à la zone de sécurité de confiance et autorisez tous les services système du trafic entrant sur cette interface.
set security zones security-zone trust interfaces ge-0/0/0.0 host-inbound-traffic system-services all
Ajoutez l’interface ge-0/0/1.0 à la zone de sécurité untrust et autorisez uniquement les services système DHCP à partir du trafic entrant sur cette interface.
set security zones security-zone untrust interfaces ge-0/0/1.0 host-inbound-traffic system-services dhcp
Créez une instance de routage de routeur virtuel et ajoutez les deux interfaces à cette instance de routage.
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
Créez un ensemble de règles NAT source.
set security nat source rule-set source-nat from zone trust set security nat source rule-set source-nat to zone untrust
Configurez une règle qui correspond aux paquets et traduit l’adresse source par l’adresse de l’interface de sortie.
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
Résultats
À partir du mode configuration, confirmez votre configuration en entrant la show interfaces commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.
show interfaces
En mode configuration, confirmez vos politiques de sécurité en entrant la show security policies commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de cet exemple pour corriger la configuration.
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 vous avez terminé de configurer l’appareil, passez commit en mode de configuration.
Enfin, quittez le mode de configuration et utilisez la request system reboot commande pour redémarrer la machine virtuelle de pare-feu virtuel vSRX. Vous pouvez utiliser la virsh console commande sur le serveur Ubuntu pour vous reconnecter au pare-feu virtuel vSRX après le redémarrage.
Vérifiez la configuration de base sur l’instance de pare-feu virtuel vSRX
But
Vérifiez la configuration de base sur l’instance de pare-feu virtuel vSRX.
Action
Vérifiez que l’interface ge-0/0/0.0 a une adresse IP attribuée à partir de la plage d’adresses DHCP du réseau TestLeft et que l’adresse IP attribuée à ge-0/0/1.0 a une adresse IP attribuée à partir de la plage d’adresses DHCP du réseau 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