2019年7月24日

ブロードバンドタワー國武です。

かなり間が空いてしまいましたが

第一回 rancid を試す 〜温故知新〜

に引き続き、rancid の管理対象機器として、

    • Juniper Networks社の vSRX
    • Arista Networks社の vEOS

を立ち上げてみることにします(※1)

そのために使うのは、VagrantVirtualBox です。こちらに関しては、すでに良質な解説記事がたくさんあるかと思いますので、この記事では Vagrant、VirtualBox 自体については触れません。それぞれのツールは、macOS や Windows に対応しているので、ご自身の環境に合わせてインストールしておいてください。

※1 もちろん、Cisco Systemsさんも仮想ルータを提供されていますが、残念ながら私の権限ではダウンロードできなかったので、今回は紹介できませんでした。

Juniper Networks社のvSRXを立ち上げる

Juniper Networks社さんは、vSRXのイメージが vagrantcloud.com で公開されているだけあって、立ち上げは至極簡単です。

まず最初に利用するプラグインをインストールします。

$ vagrant plugin install vagrant-host-shell
$ vagrant plugin install vagrant-junos

この vagrant-junos を入れておくと、Vagrantfile から、ホスト名や管理ネットワークの設定、SSH関連の設定などができるので大変便利です(vagrant-host-shell は vagrant-junos が利用しているので、インストールをお忘れなく)

Vagrantfile に

Vagrant.configure("2") do |config|
  config.vm.box = "juniper/ffp-12.1X47-D15.4-packetmode"
end

と書いて

$ vagrant up

とするだけで、起動します(初回はイメージをダウンロードするので時間が掛かるかと思います)
たまに、提供バージョンが変わることもあるようなので、実際に試す場合には

https://app.vagrantup.com/boxes/search

から “juniper” と検索してみてください。もしかしたら新しいバージョンの vSRX が提供されているかも?

ちなみに、利用している vagrant が古いと

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'juniper/ffp-12.1X47-D15.4-packetmode' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
# -*- mode: ruby -*-
    default: Box Version: >= 0
The box 'juniper/ffp-12.1X46-D20.5' could not be found or
could not be accessed in the remote catalog. If this is a private
box on HashiCorp's Atlas, please verify you're logged in via
`vagrant login`. Also, please double-check the name. The expanded
URL and error message are shown below:

みたいなエラーが出てダウンロードできません( Juniper Networksさんが公開終了したのかとずっと勘違いしてた……)
もし同じようなエラーが出た場合は、vagrant の version が古すぎるのかもしれません。なお、私のように、古い vagrant を使い続けていた奇特な方は、vagrant のアップデート後にプラグインの repair も必要です。併せて対応しておきましょう

$ vagrant plugin repair

 

vEOSを立ち上げる

vEOS を立ち上げるには、vEOSのイメージをダウンロードする必要があります。

vEOSをダウンロードする

まずは

https://www.arista.com/jp/

にアクセスして、右上のメニューから サポート => ソフトウェアダウンロード へと進みます。ダウンロードには、アカウントが必要なので、別途作成いただく必要があります。すでにアカウントのお持ちの方はそのままログインしてください。
すると、下の方にファイラを模したメニューがあるので、vEOS-lab -> 4.20 とクリックします。

すると、そこには VMware用のイメージなどが置いてありますが、今回欲しいのは VirtualBox 用のイメージなので

  • vEOS-lab-4.20.1F-virtualbox.box

をクリックしてダウンロードしてください(もちろん同じバージョンである必要はありません。VirtualBox用のファイルは常に用意されているわけでもないようなので、できるだけ最新版を探してダウンロードしておきましょう)

Vagrant の box にvEOSを追加する

ちょっと前までは VMware用のファイルを変換するなどの手間を掛ける必要があったんですが、Virtualbox用のファイルが提供されているので、本当に簡単になりました。

$ vagrant box add --name  vEOS-lab-4.20.1F  ./vEOS-lab-4.20.1F-virtualbox.box

準備はたったこれだけです。あとは通常通り

$ vagrant init vEOS-lab-4.20.1F
$ vagrant up

で起動してしまいます。ログインするには

$ vagrant ssh

と、サーバの場合となにも変わりません。とても簡単 🙂

Rancidサーバと同じ環境で動かす

さて、このままだと完全に別々に起動させるだけになってしまうので、ちょっとうれしくありません。rancid + vSRX + EOS を同じセグメントに浮かべることにしましょう。

Vagrantfile には今までの設定をまとめて

Vagrant.configure("2") do |config|
  config.vm.define "rancid" do |rancid|
      rancid.vm.box = "centos7"
      rancid.vm.network :private_network, ip: "192.168.0.2"
  end
  config.vm.define "vEOS" do |vEOS|
      vEOS.vm.box = "vEOS-lab-4.20.1F"
      vEOS.vm.network :private_network, ip: "192.168.0.3"
  end
  config.vm.define "vSRX" do |vSRX|
      vSRX.vm.box = "juniper/ffp-12.1X47-D15.4-packetmode"
      vSRX.vm.network :private_network, ip: "192.168.0.4"
  end
end

として起動しましょう。

さて、やっと環境が整ったので、次回「rancid の設定と運用の話」で、実際の利用方法について触れていきたいと思います。

Juniper NetworksおよびJunosは、米国およびその他の国における Juniper Networks, Inc.の登録商標です。
ARISTA、EOS、ColudVisionは、世界各国におけるArista Networks, Inc.の登録商標または商標です。
その他の社名または製品名は、それぞれの所有者の商標です。

本ブログの情報につきましては、自社の検証に基づいた結果からの情報提供であり、
品質保証を目的としたものではございません。

アバター

投稿者: Koichi KUNITAKE

最近は Ansible やら Sphinx 触ってます。IPv6 はボチボチ……