Beispiel: Installieren und Starten der virtuellen vSRX-Firewall unter Ubuntu
Dieses Beispiel zeigt, wie Sie eine vSRX Virtual Firewall-Instanz auf einem Ubuntu-Server mit KVM installieren und starten.
Anforderungen
In diesem Beispiel werden die folgenden Hardware- und Softwarekomponenten verwendet:
Generischer x86-Server
Junos OS Version 15.1X49-D20 für virtuelle vSRX-Firewall
Ubuntu Version 14.04.2
Bevor Sie beginnen:
In diesem Beispiel wird von einer Neuinstallation der Ubuntu-Serversoftware ausgegangen.
Stellen Sie sicher, dass Ihr Hostbetriebssystem die Anforderungen erfüllt, die unter Anforderungen für vSRX auf KVM angegeben sind.
Überblick
In diesem Beispiel wird gezeigt, wie Sie Ihren Ubuntu-Hostserver einrichten und eine virtuelle vSRX-Firewall-VM installieren und starten. Abbildung 1 zeigt die grundlegende Struktur einer virtuellen vSRX-Firewall-VM auf einem Ubuntu-Server.

In diesem Beispiel werden statische IP-Adressen verwendet. Wenn Sie die virtuelle vSRX-Firewall-Instanz in einer NFV-Umgebung konfigurieren, sollten Sie DHCP verwenden.
Schnellkonfiguration – Installieren und Starten einer virtuellen vSRX-Firewall-VM unter Ubuntu
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, und kopieren Sie die Befehle und fügen Sie sie wie angegeben in das Ubuntu-Serverterminal oder die vSRX Virtual Firewall-Konsole ein.
Verfahren
Schritt-für-Schritt-Anleitung
Wenn das virtuelle Standardnetzwerk noch nicht vorhanden ist, kopieren Sie die folgenden Befehle, und fügen Sie sie in das Ubuntu-Serverterminal ein, um das virtuelle Standardnetzwerk zu erstellen.
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
Erstellen Sie das linke oder vertrauenswürdige virtuelle Netzwerk auf dem Ubuntu-Server.
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
Erstellen Sie das richtige oder nicht vertrauenswürdige virtuelle Netzwerk auf dem Ubuntu-Server.
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
-
Laden Sie das KVM-Image der virtuellen vSRX-Firewall von der Juniper Networks-Website unter JuniperNetworks-Website herunter.
-
Kopieren Sie die folgenden Befehle, und ändern Sie die Parameter und Flags
cpu
so, dass sie mit der CPU Ihres Ubuntu-Servers übereinstimmen. Fügen Sie die resultierenden Befehle in das Ubuntu-Serverterminal ein, um das Image an einen Bereitstellungspunkt zu kopieren und die virtuelle vSRX-Firewall-VM zu erstellen.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
Anmerkung:Das CPU-Modell und die
virt-install
Flags im Befehl können je nach CPU und Funktionen auf dem Ubuntu-Server variieren. -
Um das Root-Kennwort auf der VM der virtuellen vSRX-Firewall festzulegen, kopieren Sie den Befehl und fügen Sie ihn auf Hierarchieebene
[edit]
in die virtuelle vSRX-Firewall-CLI ein.set system root-authentication plain-text-password
-
Um eine Basiskonfiguration auf der virtuellen vSRX-Firewall-VM zu erstellen, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die für Ihre Netzwerkkonfiguration erforderlich sind, kopieren Sie die folgenden Befehle und fügen Sie sie in die vSRX Virtual Firewall-CLI auf Hierarchieebene
[edit]
ein, und wechselncommit
Sie dann in den Konfigurationsmodus.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
Schritt-für-Schritt-Anleitung
Schritt-für-Schritt-Konfiguration
In den folgenden Abschnitten finden Sie detailliertere Verfahren zum Installieren und Starten einer virtuellen vSRX-Firewall-VM.
- Hinzufügen virtueller Netzwerke
- Verifizieren der virtuellen Netzwerke
- Herunterladen und Installieren des Images der virtuellen vSRX-Firewall
- Überprüfen der Installation der virtuellen vSRX-Firewall
- Erstellen einer Basiskonfiguration auf der virtuellen vSRX-Firewallinstanz
- Überprüfen der Grundkonfiguration auf der virtuellen vSRX-Firewallinstanz
Hinzufügen virtueller Netzwerke
Schritt-für-Schritt-Anleitung
Sie müssen virtuelle Netzwerke auf dem Ubuntu-Server erstellen, um Netzwerkkonnektivität für Schnittstellen auf der virtuellen vSRX-Firewall-VM bereitzustellen. Kopieren Sie diese Befehle und fügen Sie sie in ein Terminal auf dem Ubuntu-Server ein.
In diesem Beispiel werden drei virtuelle Netzwerke verwendet:
default— Stellt eine Verbindung zur fxp0-Verwaltungsschnittstelle her.
Anmerkung:Das standardmäßige virtuelle Netzwerk sollte bereits auf dem Ubuntu-Server vorhanden sein. Verwenden Sie den
virsh net-list
Befehl, um zu überprüfen, ob das Standardnetzwerk vorhanden und aktiv ist.TestLeft— Verbindet die ge-0/0/0-Schnittstelle mit der vertrauenswürdigen Zone.
TestRight— Verbindet die ge-0/0/1-Schnittstelle mit der nicht vertrauenswürdigen Zone.
Wenn das Standardnetzwerk nicht vorhanden ist, gehen Sie folgendermaßen vor:
Schritt-für-Schritt-Anleitung
Öffnen Sie einen Texteditor auf dem Ubuntu-Server, und erstellen Sie die Standard-Netzwerk-XML-Datei (default.xml).
emacs /etc/libvirt/qemu/networks/default.xml
Legen Sie den Weiterleitungsmodus auf
nat
, konfigurieren Sie eine IP-Adresse und eine Subnetzmaske sowie eine Bridge-Schnittstelle, und konfigurieren Sie DHCP so, dass Schnittstellen in diesem virtuellen Netzwerk IP-Adressen zugewiesen werden.Anmerkung:Verwenden Sie das von libvirt angegebene XML-Format.
<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>
Definieren und starten Sie das virtuelle Standardnetzwerk basierend auf der default.xml Datei, die Sie erstellt haben.
virsh net-define /etc/libvirt/qemu/networks/default.xml virsh net-start default virsh net-autostart default
Entfernen Sie alle zuvor konfigurierten virtuellen TestLeft-Netzwerke.
virsh net-destroy TestLeft virsh net-undefine TestLeft
Entfernen Sie alle zuvor konfigurierten virtuellen TestRight-Netzwerke.
virsh net-destroy TestRight virsh net-undefine TestRight
Öffnen Sie einen Texteditor auf dem Ubuntu-Server, und erstellen Sie die TestLeft-Netzwerk-XML-Datei (testleftnetwork.xml).
emacs /etc/libvirt/qemu/networks/testleftnetwork.xml
Legen Sie den Weiterleitungsmodus auf
route
, konfigurieren Sie eine IP-Adresse und eine Subnetzmaske sowie eine Bridge-Schnittstelle, und konfigurieren Sie DHCP so, dass Schnittstellen in diesem virtuellen Netzwerk IP-Adressen zugewiesen werden.Anmerkung:Verwenden Sie das von libvirt angegebene XML-Format.
<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>
Öffnen Sie einen Texteditor auf dem Ubuntu-Server, und erstellen Sie die TestRight-Netzwerk-XML-Datei (testrightnetwork.xml).
emacs /etc/libvirt/qemu/networks/testrightnetwork.xml
Legen Sie den Weiterleitungsmodus auf
nat
, konfigurieren Sie eine IP-Adresse und eine Subnetzmaske sowie eine Bridge-Schnittstelle, und konfigurieren Sie DHCP so, dass Schnittstellen in diesem virtuellen Netzwerk IP-Adressen zugewiesen werden.Anmerkung:Verwenden Sie das von libvirt angegebene XML-Format.
<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>
Definieren und starten Sie das virtuelle Netzwerk TestLeft basierend auf der von Ihnen erstellten testleftnetwork.xml Datei.
virsh net-define /etc/libvirt/qemu/networks/testleftnetwork.xml virsh net-start TestLeft virsh net-autostart TestLeft
Definieren und starten Sie das virtuelle TestRight-Netzwerk basierend auf der von Ihnen erstellten testrightnetwork.xml Datei.
virsh net-define /etc/libvirt/qemu/networks/testrightnetwork.xml virsh net-start TestRight virsh net-autostart TestRight
Verifizieren der virtuellen Netzwerke
Zweck
Überprüfen Sie die neue Konfiguration des virtuellen Netzwerks auf dem Ubuntu-Server.
Aktion
Verwenden Sie den virsh net-list
Befehl auf dem Ubuntu-Server, um zu überprüfen, ob die neuen virtuellen Schnittstellen aktiv sind und beim Neustart so eingestellt sind, dass sie automatisch gestartet werden.
virsh net-list
Name State Autostart Persistent ---------------------------------------------------------- default active yes yes TestLeft active yes yes TestRight active yes yes
Herunterladen und Installieren des Images der virtuellen vSRX-Firewall
Schritt-für-Schritt-Anleitung
So laden Sie das Image der virtuellen vSRX-Firewall herunter und installieren es auf dem Ubuntu-Server:
-
Laden Sie das KVM-Image der virtuellen vSRX-Firewall von der Juniper Networks-Website herunter: https://www.juniper.net/support/downloads/?p=vsrx#sw
-
Kopieren Sie das Image der virtuellen vSRX-Firewall an einen geeigneten Bereitstellungspunkt.
hostOS# cp junos-vsrx-vmdisk-15.1X49-D20.2.qcow2 /mnt/vsrx20one.qcow2
-
Verwenden Sie den
virt-install
Befehl, um eine virtuelle vSRX-Firewall-VM zu erstellen. Ändern Sie die Parameter und Flagscpu
so, dass sie mit der CPU Ihres Ubuntu-Servers übereinstimmen.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
Anmerkung:Das CPU-Modell und die
virt-install
Flags im Befehl können je nach CPU und Funktionen auf dem Ubuntu-Server variieren.
Überprüfen der Installation der virtuellen vSRX-Firewall
Zweck
Überprüfen Sie die Installation der virtuellen vSRX-Firewall.
Aktion
-
Verwenden Sie den
virsh console
Befehl auf dem Ubuntu-Server, um auf die vSRX Virtual Firewall-Konsole zuzugreifen und den Fortschritt der Installation zu beobachten. Die Installation kann einige Minuten dauern.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:
-
Melden Sie sich in der vSRX Virtual Firewall-Konsole an und überprüfen Sie, welche Version der virtuellen vSRX Firewall installiert ist.
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]
Erstellen einer Basiskonfiguration auf der virtuellen vSRX-Firewallinstanz
Schritt-für-Schritt-Anleitung
Um ein Basis-Setup auf der virtuellen vSRX-Firewall-Instanz zu konfigurieren, führen Sie die folgenden Schritte im edit
Modus aus:
Erstellen Sie ein Root-Passwort.
[edit] set system root-authentication plain-text-password
Legen Sie die IP-Adressfamilie für die Verwaltungsschnittstelle fest, und aktivieren Sie den DHCP-Client für diese Schnittstelle.
set interfaces fxp0 unit 0 family inet dhcp-client
Legen Sie die IP-Adresse für die Schnittstelle ge-0/0/0.0 fest.
set interfaces ge-0/0/0 unit 0 family inet address 192.168.123.254/24
Legen Sie die IP-Adressfamilie für die ge-0/0/1.0-Schnittstelle fest, und aktivieren Sie den DHCP-Client für diese Schnittstelle.
set interfaces ge-0/0/1 unit 0 family inet dhcp-client
Fügen Sie die Schnittstelle ge-0/0/0.0 zur Sicherheitszone "trust" hinzu, und lassen Sie alle Systemdienste aus eingehendem Datenverkehr auf dieser Schnittstelle zu.
set security zones security-zone trust interfaces ge-0/0/0.0 host-inbound-traffic system-services all
Fügen Sie die ge-0/0/1.0-Schnittstelle zur nicht vertrauenswürdigen Sicherheitszone hinzu, und lassen Sie nur DHCP-Systemdienste aus eingehendem Datenverkehr auf dieser Schnittstelle zu.
set security zones security-zone untrust interfaces ge-0/0/1.0 host-inbound-traffic system-services dhcp
Erstellen Sie eine Routinginstanz für einen virtuellen Router, und fügen Sie dieser Routinginstanz die beiden Schnittstellen hinzu.
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
Erstellen Sie einen Quell-NAT-Regelsatz.
set security nat source rule-set source-nat from zone trust set security nat source rule-set source-nat to zone untrust
Konfigurieren Sie eine Regel, die Pakete abgleicht und die Quelladresse in die Adresse der Ausgangsschnittstelle übersetzt.
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
Befund
Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show interfaces
Befehl eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
show interfaces
Bestätigen Sie im Konfigurationsmodus Ihre Sicherheitsrichtlinien, indem Sie den show security policies
Befehl eingeben. Wenn die Ausgabe nicht die gewünschte Konfiguration anzeigt, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
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; } } }
Wenn Sie mit der Konfiguration des Geräts fertig sind, rufen Sie den Konfigurationsmodus auf commit
.
Beenden Sie im letzten Schritt den Konfigurationsmodus und verwenden Sie den request system reboot
Befehl, um die virtuelle vSRX-Firewall-VM neu zu starten. Sie können den virsh console
Befehl auf dem Ubuntu-Server verwenden, um nach dem Neustart wieder eine Verbindung zur virtuellen vSRX-Firewall herzustellen.
Überprüfen der Grundkonfiguration auf der virtuellen vSRX-Firewallinstanz
Zweck
Überprüfen Sie die Grundkonfiguration auf der virtuellen vSRX-Firewall-Instanz.
Aktion
Stellen Sie sicher, dass der ge-0/0/0.0-Schnittstelle eine IP-Adresse aus dem DHCP-Adressbereich des TestLeft-Netzwerks zugewiesen ist und dass der ge-0/0/1.0 eine IP-Adresse aus dem DHCP-Adressbereich des TestRight-Netzwerks zugewiesen ist.
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