例:UbuntuでのvSRX仮想ファイアウォールのインストールと起動
この例では、KVMを使用してUbuntuサーバーにvSRX仮想ファイアウォールインスタンスをインストールして起動する方法を示しています。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
汎用 x86 サーバー
vSRX仮想ファイアウォールのJunos OSリリース15.1X49-D20
Ubuntuバージョン14.04.2
始める前に:
この例では、Ubuntu サーバー ソフトウェアの新規インストールを前提としています。
ホストOSが、 KVM上のvSRXの要件で指定されている要件を満たしていることを確認します。
概要
この例では、Ubuntuホストサーバーを設定し、vSRX仮想ファイアウォールVMをインストールして起動する方法を示しています。 図1 は、Ubuntuサーバー上のvSRX仮想ファイアウォールVMの基本構造を示しています。
この例では、静的 IP アドレスを使用しています。 NFV 環境でvSRX仮想ファイアウォールインスタンスを設定する場合は、DHCPを使用する必要があります。
クイック設定 - UbuntuでのvSRX仮想ファイアウォールVMのインストールと起動
CLIクイック構成
この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、指定されたとおりにコマンドをコピーしてUbuntuサーバーターミナルまたはvSRX仮想ファイアウォールコンソールに貼り付けます。
プロシージャ
手順
既定の仮想ネットワークがまだ存在しない場合は、次のコマンドをコピーして Ubuntu サーバー ターミナルに貼り付け、既定の仮想ネットワークを作成します。
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
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
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
-
ジュニパーネットワークスのウェブサイト( 以下、ジュニパーネットワークスのウェブサイト)から、vSRX仮想ファイアウォールKVMイメージをダウンロードします。
-
次のコマンドをコピーし、UbuntuサーバーのCPUと一致するように
cpu
パラメーターとフラグを変更します。生成されたコマンドをUbuntuサーバーターミナルに貼り付けてイメージをマウントポイントにコピーし、vSRX仮想ファイアウォールVMを作成します。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
手記:virt-install
コマンドの CPU モデルとフラグは、Ubuntu サーバーの CPU と機能によって異なる場合があります。 -
vSRX仮想ファイアウォールVMでrootパスワードを設定するには、コマンドをコピーして、
[edit]
階層レベルのvSRX仮想ファイアウォールCLIに貼り付けます。set system root-authentication plain-text-password
-
vSRX仮想ファイアウォールVMで基本設定を作成するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、次のコマンドをコピーしてvSRX仮想ファイアウォールCLIに
[edit]
階層レベルで貼り付け、設定モードからcommit
を入力します。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
手順
ステップバイステップ設定
vSRX仮想ファイアウォールVMをインストールして起動するための詳細な手順については、以下のセクションを参照してください。
- 仮想ネットワークの追加
- 仮想ネットワークの検証
- vSRX仮想ファイアウォールイメージのダウンロードとインストール
- vSRX仮想ファイアウォールのインストールを確認する
- vSRX仮想ファイアウォールインスタンスでの基本設定の作成
- vSRX仮想ファイアウォールインスタンスの基本設定の確認
仮想ネットワークの追加
手順
vSRX仮想ファイアウォールVM上のインターフェイスにネットワーク接続を提供するために、Ubuntuサーバー上に仮想ネットワークを作成する必要があります。これらのコマンドをコピーして、Ubuntuサーバーのターミナルに貼り付けます。
この例では、次の 3 つの仮想ネットワークを使用します。
default:fxp0 管理インターフェイスを接続します。
手記:既定の仮想ネットワークは、Ubuntu サーバーに既に存在している必要があります。
virsh net-list
コマンドを使用して、デフォルトのネットワークが存在し、アクティブであることを確認します。TestLeft— ge-0/0/0 インターフェイスを信頼ゾーンに接続します。
TestRight—ge-0/0/1インターフェイスを信頼できないゾーンに接続します。
既定のネットワークが存在しない場合は、次の手順を実行します。
手順
Ubuntuサーバーでテキストエディターを開き、デフォルトのネットワークXML(default.xml)ファイルを作成します。
emacs /etc/libvirt/qemu/networks/default.xml
転送モードを [
nat
] に設定し、IP アドレスとサブネット マスク、およびブリッジ インターフェイスを構成し、この仮想ネットワーク上のインターフェイスに IP アドレスを割り当てるように DHCP を構成します。手記:libvirt で指定された 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>
作成した default.xml ファイルに基づいて、既定の仮想ネットワークを定義して開始します。
virsh net-define /etc/libvirt/qemu/networks/default.xml virsh net-start default virsh net-autostart default
以前に構成した TestLeft 仮想ネットワークをすべて削除します。
virsh net-destroy TestLeft virsh net-undefine TestLeft
以前に構成した TestRight 仮想ネットワークをすべて削除します。
virsh net-destroy TestRight virsh net-undefine TestRight
Ubuntu サーバーでテキスト エディターを開き、TestLeft ネットワーク XML (testleftnetwork.xml) ファイルを作成します。
emacs /etc/libvirt/qemu/networks/testleftnetwork.xml
転送モードを [
route
] に設定し、IP アドレスとサブネット マスク、およびブリッジ インターフェイスを構成し、この仮想ネットワーク上のインターフェイスに IP アドレスを割り当てるように DHCP を構成します。手記:libvirt で指定された 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>
Ubuntu サーバーでテキスト エディターを開き、テストライト ネットワーク XML (testrightnetwork.xml) ファイルを作成します。
emacs /etc/libvirt/qemu/networks/testrightnetwork.xml
転送モードを [
nat
] に設定し、IP アドレスとサブネット マスク、およびブリッジ インターフェイスを構成し、この仮想ネットワーク上のインターフェイスに IP アドレスを割り当てるように DHCP を構成します。手記:libvirt で指定された 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>
作成した testleftnetwork.xml ファイルに基づいて、TestLeft 仮想ネットワークを定義して開始します。
virsh net-define /etc/libvirt/qemu/networks/testleftnetwork.xml virsh net-start TestLeft virsh net-autostart TestLeft
作成した testrightnetwork.xml ファイルに基づいて、TestRight 仮想ネットワークを定義して開始します。
virsh net-define /etc/libvirt/qemu/networks/testrightnetwork.xml virsh net-start TestRight virsh net-autostart TestRight
仮想ネットワークの検証
目的
Ubuntu サーバーで新しい仮想ネットワーク構成を確認します。
アクション
Ubuntuサーバーで virsh net-list
コマンドを使用して、新しい仮想インターフェイスがアクティブであり、再起動時に自動起動するように設定されていることを確認します。
virsh net-list
Name State Autostart Persistent ---------------------------------------------------------- default active yes yes TestLeft active yes yes TestRight active yes yes
vSRX仮想ファイアウォールイメージのダウンロードとインストール
手順
UbuntuサーバーにvSRX仮想ファイアウォールイメージをダウンロードしてインストールするには、次の手順に従います。
-
ジュニパーネットワークスのWebサイトからvSRX仮想ファイアウォールKVMイメージをダウンロードします。 https://www.juniper.net/support/downloads/?p=vsrx#sw
-
vSRX仮想ファイアウォールイメージを適切なマウントポイントにコピーします。
hostOS# cp junos-vsrx-vmdisk-15.1X49-D20.2.qcow2 /mnt/vsrx20one.qcow2
-
virt-install
コマンドを使用して、vSRX仮想ファイアウォールVMを作成します。cpu
パラメーターとフラグを、UbuntuサーバーのCPUに一致するように変更します。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
手記:virt-install
コマンドの CPU モデルとフラグは、Ubuntu サーバーの CPU と機能によって異なる場合があります。
vSRX仮想ファイアウォールのインストールを確認する
目的
vSRX仮想ファイアウォールのインストールを確認します。
アクション
-
Ubuntuサーバーで
virsh console
コマンドを使用してvSRX仮想ファイアウォールコンソールにアクセスし、インストールの進行状況を確認します。インストールが完了するまでに数分かかる場合があります。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:
-
vSRX仮想ファイアウォールコンソールにログインし、インストールされているvSRX仮想ファイアウォールのバージョンを確認します。
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]
vSRX仮想ファイアウォールインスタンスでの基本設定の作成
手順
vSRX仮想ファイアウォールインスタンスで基本設定を行うには、 edit
モードで以下のステップを入力します。
root パスワードを作成します。
[edit] set system root-authentication plain-text-password
管理インターフェイスの IP アドレスファミリーを設定し、このインターフェイスの DHCP クライアントを有効にします。
set interfaces fxp0 unit 0 family inet dhcp-client
ge-0/0/0.0インターフェイスのIPアドレスを設定します。
set interfaces ge-0/0/0 unit 0 family inet address 192.168.123.254/24
ge-0/0/1.0インターフェイスのIPアドレスファミリーを設定し、このインターフェイスのDHCPクライアントを有効にします。
set interfaces ge-0/0/1 unit 0 family inet dhcp-client
ge-0/0/0.0インターフェイスをtrustセキュリティゾーンに追加し、そのインターフェイス上のインバウンドトラフィックからのすべてのシステムサービスを許可します。
set security zones security-zone trust interfaces ge-0/0/0.0 host-inbound-traffic system-services all
ge-0/0/1.0インターフェイスをuntrustセキュリティ ゾーンに追加し、そのインターフェイスのインバウンドトラフィックからのDHCPシステムサービスのみを許可します。
set security zones security-zone untrust interfaces ge-0/0/1.0 host-inbound-traffic system-services dhcp
仮想ルーターのルーティングインスタンスを作成し、そのルーティングインスタンスに2つのインターフェイスを追加します。
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
ソース NAT ルール セットを作成します。
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
業績
設定モードから、 show interfaces
コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
show interfaces
設定モードから、 show security policies
コマンドを入力してセキュリティポリシーを確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
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; } } }
デバイスの設定が完了したら、設定モードから commit
を入力します。
最後の手順として、設定モードを終了し、 request system reboot
コマンドを使用して vSRX 仮想ファイアウォール VM を再起動します。Ubuntuサーバーで virsh console
コマンドを使用すると、再起動後にvSRX仮想ファイアウォールに再接続できます。
vSRX仮想ファイアウォールインスタンスの基本設定の確認
目的
vSRX仮想ファイアウォールインスタンスの基本設定を確認します。
アクション
ge-0/0/0.0 インターフェイスに TestLeft ネットワーク DHCP アドレス範囲からの IP アドレスが割り当てられており、ge-0/0/1.0 に TestRight ネットワーク DHCP アドレス範囲からの IP アドレスが割り当てられていることを確認します。
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