Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

無料で仮想Junos環境を手元に作ろう

1,580 views

Published on

Vagrant と VirtualBox を使って、無料で仮想Junos環境を手元に作る方法をご紹介します。

Published in: Technology
  • Be the first to comment

無料で仮想Junos環境を手元に作ろう

  1. 1. 無料で仮想Junos環境を 手元に作ろう 株式会社 エーピーコミュニケーションズ IaC技術推進部 重点技術戦略室 横地 晃(@akira6592) 2018/07/18 AP TechFest
  2. 2. はじめに 研修で Cisco(IOS) の勉強をがんばったあと、 いざ配属されたら現場は Juniper(Junos) が メインだったという経験はありませんか? 勉強用に Junos の環境が欲しいという方向けに、 仮想Junos環境を手元に無料で作る方法を ご紹介します。 2 ※環境はサポートなしの評価用です
  3. 3. 内容 3  必要なソフトウェア  基本編: vSRX 1台  応用編: vSRX 4台 + Ansible ホスト  番外編  まとめ
  4. 4. 4 必要なソフトウェア
  5. 5. 必要なソフトウェア  ホストOS  Windows / Mac など  VirtualBox  ホスト型の仮想化ソフトウェア  https://www.virtualbox.org/wiki/Downloads  Vagrant  各種仮想化ソフトウェアを抽象化したコマンドで操作できる ツール  Vagrantfile という構成定義ファイルを利用する  https://www.vagrantup.com/downloads.html 5
  6. 6. 準備:プラグインのインストール  Vagrant から Junos の Box を動作させるための プラグインをインストールする 6 $ vagrant plugin install vagrant-junos $ vagrant plugin install vagrant-host-shell ・インストールコマンド ・確認コマンド $ vagrant plugin list vagrant-host-shell (0.0.4) vagrant-junos (0.2.1)
  7. 7. 7 【基本編】 vSRX 1台
  8. 8. Vagrantfile の生成  vagrant init コマンドでVagrantfileを生成 8 $ vagrant init juniper/ffp-12.1X47-D15.4-packetmode ※ 使用するBoxに関する情報 https://app.vagrantup.com/juniper/boxes/ffp-12.1X47-D15.4-packetmode Vagrant.configure("2") do |config| config.vm.box = "juniper/ffp-12.1X47-D15.4-packetmode" end • 生成された Vagrantfile (コメントが多いが実質この3行) 使用するBoxが 指定されている
  9. 9. VMの起動  Vagrantfile の情報に基づいてVMを起動 9 $ vagrant up • 初回起動時はBoxのダウンロードから始まる • 数分かかる • 確認コマンド $ vagrant status Current machine states: default running (virtualbox) • 停止は「vagrant halt」
  10. 10. SSHアクセスの方法1  vagrant ssh コマンド 10 $ vagrant ssh • vagrant init したディレクトリ上で実行する • 生成されたの認証情報を参照するため細かいオプションは不要 • root ユーザーとしてログインする $ vagrant ssh --- JUNOS 12.1X47-D15.4 built 2014-11-12 02:13:59 UTC root@vsrx% cli root@vsrx> root でのログイン直後はシェルモード のため、オペレーションモードに移行 するためには「cli」コマンドを実行 こうなる
  11. 11. SSHアクセスの方法2  sshコマンド / TeraTermなど 11 ホスト localhost ポート 2222/TCP 認証情報(vagrant) 秘密鍵 .vagrant/machines/vsrx/virtualbox/private_key 認証情報(root) 初期パスワード「Juniper」 • sshコマンド実行例 • ssh vagrant@localhost -p 2222 -i .vagrant/machines/vsrx/virtualbox/private_key • ssh root@localhost -p 2222 • TeraTerm ログイン方法 ホスト: localhost サービス: SSH TCPポート: 2222
  12. 12. カスタマイズ方法  生成された Vagrantfile を編集することで様々 なカスタマイズができる 12 Vagrant.configure("2") do |config| # 主にこの範囲でカスタマイズの記述をする end • 設定の反映は vagrant reload
  13. 13. カスタマイズのポイント1  ホスト名の設定  デフォルトは「vsrx」 ポートフォワーディングの設定  デフォルトはSSH向けに「2222/TCP → 22/TCP」、 Webアクセス向けは設定なし 13 # ホスト名を fw01 に指定する場合 config.vm.hostname = "fw01" # 2201/TCP → 22/TCP (SSHアクセス) したい場合 config.vm.network "forwarded_port", guest: 22, host: 2201 # 8080/TCP → 80/TCP (Webアクセス) したい場合 config.vm.network "forwarded_port", guest: 80, host: 8080
  14. 14. カスタマイズのポイント2  インターフェースの追加  デフォルトは「ge-0/0/0」のみ 14 # ge-0/0/1 を IPアドレス「172.16.0.1」 # Virtubox上の内部ネットワーク名「mng」として追加する場合 config.vm.network "private_network", ip: "172.16.0.1", virtualbox__intnet: "mng" root@vsrx> show interfaces terse (...略...) ge-0/0/1 up up ge-0/0/1.0 up up inet 172.16.0.1/24 (...略...) こうなる
  15. 15. カスタマイズ後のVagrantfile例 15 Vagrant.configure("2") do |config| config.vm.box = "juniper/ffp-12.1X47-D15.4-packetmode" config.vm.hostname = "fw01" config.vm.network "forwarded_port", id: "ssh", guest: 22, host: 2201 config.vm.network "forwarded_port", id: "http", guest: 80, host: 8080 config.vm.network "private_network", ip: "172.16.0.1", virtualbox__intnet: "mng" end
  16. 16. Webアクセスの方法  前述のカスタマイズでWebアクセスが可能 16 http://localhost:8080 root / Juniper
  17. 17. 17 【応用編】 vSRX 4台 + Ansible
  18. 18. vSRX 4台 + Ansible  仮想Junos4台とAnsibleホストをVagrantで 構築するVagrantfile 18 https://tekunabe.hatenablog.jp/entry/2017/08/26/junos-ansible-vagrant
  19. 19. 19 【番外編】
  20. 20. お金がかかってもいいなら 20 仮想環境 がいい クラウド がいい ヤフオク / アキバ バーチャルアプライアンス オンラインラボサービス はい はい いいえ いいえ https://tekunabe.hatenablog.jp/entry/2018/01/05/ntc_labs Network to Code Self Service & On Demand Labs プラン例: Junos(vMX)1台 8.5ドル/4h 日本語解説記事 AWS Marketplace など
  21. 21. 21 まとめ
  22. 22. まとめ 22 お金がかかってもいいなら、物理機器、 オンラインラボ、バーチャルアプライアンスという手も VirtualBox と Vagrant で、 無料で検証用の仮想Junos環境が作れる 素敵な Junos ライフを!

×