VyOS の VirtualBox へのインストール手順
[履歴] [最終更新] (2017/01/11 01:50:08)
最近の投稿
注目の記事

概要

VyOS は Debian GNU/Linux をもとにしたオープンソースの OS です。かつて無償提供されていた Vyatta Core から fork して開発されています。ルーティングソフトウェア Quagga やこちらのページに記載した OpenVPN を利用した、ソフトウェアルータとしての機能を有しています。AWS EC2 の AMI も Marketplace で提供されており様々な環境で利用できますが、ここではこちらのページで基本的な利用方法をまとめた VirtualBox に VyOS の ISO イメージをインストールして利用します。

新規仮想マシンを作成

こちらのページと同様に新規に仮想マシンを作成します。

  • 名前 VyOS
  • タイプ Linux
  • バージョン Debian (64bit)
  • メモリ 256MB
  • 仮想ハードディスクを作成する VDI (可変サイズ) 1GB

ISO イメージのインストール

こちらの一覧から最新バージョンの amd64.iso をダウンロードしてインストールします。2017/1/9 時点の最新バージョンは 1.1.7 です。起動後にログインするための ID とパスワードは以下のとおりです。

  • ID vyos
  • パスワード vyos

ISO イメージの Live-CD 上で動作していることを確認します。

$ show system image
System running on Live-CD

ディスクにインストールするために、以下のコマンドを実行します。ユーザーガイドにも記載のとおり Yes または既定値を指定して進めます。

$ install image  ← install system ではありません

reboot すると再び Live-CD から起動してしまうため、ここでは一度仮想マシンを停止します。

$ poweroff  ← halt は使用できません

停止後、仮想マシンの「設定」→「ストレージ」→「vyos-1.1.7-amd64.iso を右クリック」→「割り当てを除去」によって、Live CD を取り外します。この状態で再度仮想マシンを起動して VyOS 1.1.7 linux (KVM Console) を選択します。ログイン後、以下のコマンドを実行すると、先程インストールしたイメージが利用されていることが確認できます。

$ show system image
...
1: 1.1.7 (default boot)

基本的な初期設定

こちらのページで使用方法を把握した Cisco ルータの基本コマンドと似たようなコマンドで操作できます。例えば ? または tab 入力によって候補を表示できます。更に ? または tab 入力によって、候補毎のヘルプが表示されます。加えて、Linux の基本的なコマンドも使用できます。これらのコマンドを利用して VyOS の初期設定を行います。現在の全設定を表示するためには以下のコマンドを実行します。

$ show configuration

特権モードに入ってから同様の確認を行うためには run を付与します。

$ configure
# run show configuration
# exit
$ show configuration

SSH 接続するための設定

様々な設定方法が考えられますが、ここではゲスト OS である VyOS の eth0 が NAT 設定である場合を考えます。

仮想ルータへのポートフォワーディング設定

VyOS の eth0 は VirtualBox を起動しているホスト OS とは別のネットワークに所属しています。そのネットワーク内には VirtualBox が提供する DHCP サーバが存在します。eth0 には DHCP によってネットワーク内で有効なプライベート IP を付与できます。更にネットワーク内には VirtualBox が提供する仮想ルータが存在します。VyOS はこの仮想ルータの NAT によって VirtualBox を起動しているホスト OS の IP を利用して外のネットワークと通信します。

VyOS から外のネットワークへの通信を開始する場合はこれで問題ありませんが、外部から VyOS が所属するネットワーク内への SSH 通信を開始するためには、仮想ルータにポートフォワーディングを設定しておく必要があります。「設定」→「ネットワーク」→「アダプター 1」→「高度」→「ポートフォワーディング」→「Rule 1 TCP 2222 を 22 に転送」

Uploaded Image

eth0 への DHCP によるプライベート IP の割り当て

初期設定では dhcp 設定が存在しませんので、以下のコマンドを実行します。特権モードに入ります。

$ configure

dhcp 設定を eth0 に登録します。

# set interfaces ethernet eth0 address dhcp

show で差分を確認して commit で確定します。

# show interfaces ethernet eth0
+address dhcp
 duplex auto
 hw-id 08:00:27:8c:9a:7b
 smp_affinity auto
 speed auto

# commit

プライベート IP が付与されたことを確認します。

# run show interfaces ethernet eth0
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:8c:9a:7b brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe8c:9a7b/64 scope link 
       valid_lft forever preferred_lft forever

    RX:  bytes    packets     errors    dropped    overrun      mcast
         34318        378          0          0          0          0
    TX:  bytes    packets     errors    dropped    carrier collisions
         32084        276          0          0          0          0

再起動時に設定が消えないようにします。

# save

SSH サービスの起動

初期設定では ssh サービスが開始されていませんので、以下のコマンドを実行します。特権モードに入ります。

$ configure

SSH 設定を有効にします。

# set service ssh

差分を確認して確定します。

# show service
+ssh {
+    port 22
+}

# commit

再起動時に設定が消えないようにします。

# save

SSH 接続できることを確認

ホスト OS から接続するためには以下のコマンドを実行します。

$ ssh vyos@127.0.0.1 -p 2222

その他の基本コマンドおよび設定

ユーザーの新規作成

# set system login user mynewuser authentication plaintext-password mypassword
# show system login
# commit
# show system login
# save

パスワードの変更

# set system login user mynewuser authentication plaintext-password mypassword2

commit 前の取消

# discard

設定の削除

# delete system login user mynewuser

ホスト名の変更

次回ログイン時に確認できます。

# set system host-name myhostname

設定階層の移動

VyOS の設定はファイルシステムのように階層構造になっています。初期状態では最上位から絶対パスのような指定方法で設定を変更しますが edit コマンドで編集中の階層を最上位から変更できます。

# edit system

一つ上の階層に移動できます。

# up

最上位に移動するコマンドもあります。

# top

固定 IP およびネットマスクの設定

Uploaded Image

VirtualBox の設定が NAT の場合は VirtualBox が提供する DHCP サーバが存在します。一方、ブリッジの場合はホスト OS と同じネットワークに所属することになるため DHCP サーバが存在しないことがあります。存在しない場合は以下のコマンドで IP を付与する必要があります。ホスト OS が所属するネットワークのアドレスは 192.168.179.0/24 であるとします。

# set interfaces ethernet eth1 address 192.168.179.200/24
# commit
# run show interfaces ethernet eth1

デフォルトゲートウェイの設定

これで eth1 によってホスト OS のネットワーク内で通信できるようになりました。ネットワークの外に出て通信するためには、更にデフォルトゲートウェイを設定する必要があります。DHCP サーバーから IP を取得する場合は、DHCP サーバーから提供されていた情報です。ホスト OS の環境設定からデフォルトゲートウェイを調べて、同じ値を設定します。

# set system gateway-address 192.168.179.1
# commit

これで外部との通信が可能になりました。

# ping www.example.com
関連ページ
    概要 こちらのページで基本的なサービス DHCP/DNS/NAT/Firewall の設定方法を把握した VyOS について、VRRP (Virtual Router Redundancy Protocol) という仕組みを用いて可用性を高めるための設定方法をまとめます。 設定方法を検証するための構成 VirtualBox のゲスト OS として VyOS 用の VM を三つ用意します。手順
    概要 こちらのページで VirtualBox を用いて利用方法を把握した VyOS を AWS EC2 インスタンスで動作させ、こちらの OpenVPN と同様に、異なる二つの VPC を VPN 接続してみます。簡単な構成であれば、VPC Peering という AWS が提供する機能を用いても実現できますが、AWS 以外のデータセンターとの接続が必要な場合など、VyOS を用いると要求に柔軟
    概要 こちらのページでは、特定の LAN に対して各種サービスを提供するための VyOS 設定を把握しました。本ページでは、複数の LAN をつなぐルータとしての設定方法をまとめます。具体的には、スタティックルーティングおよびダイナミックルーティング (RIP/OSPF/BGP) の設定方法を把握します。 設定方法を検証するための構成
    概要 こちらのページで VirtualBox へのインストール方法を把握した VyOS について、DHCP/DNS/NAT/Firewall 等の基本的な設定方法をまとめます。 設定方法を検証するための構成 VirtualBox のゲスト OS として VyOS 用の VM を二つ用意します。手順はこちらです。