VyOSをインストールしてからSSH接続するまで

# VyOSとは

- OSSのソフトウェアルータ
- ルーティング以外にもファイアウォールやVPN等、様々な機能を備えている
- DebianやQuagga、OpenVPNをベースにしており、CLIはVyattaを踏襲している
- Vyattaのコミュニティ版であるVyatta Coreのバージョン6.6 R1からフォークして開発されている
- Vyatta自体はVyatta社(後にブロケード社に買収)が開発していたが、現在は開発が終了している
- 公式サイト: https://vyos.io/
- GitHub: https://github.com/vyos

# VyOSの構築

## ダウンロード

- https://vyos.io/ にアクセス
- 「Rolling Release」は無償で「LTS Release」は有償
- 今回は「Rolling Release」を選択

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/f96a7344-93b8-5c05-ad2c-93ab9e519867.png)

- VyOS nightly buildsではだいたい過去１ヶ月のビルド(ISOイメージ)が公開されている模様
- 最新(一番上)のISOイメージをダウンロードする

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/cb420132-e181-c448-e860-6ce679458eee.png)

## インストール

- 今回はさくらのクラウドに[ISOイメージ](https://manual.sakura.ad.jp/cloud/storage/isoimage.html)をアップロードし、[サーバ](https://manual.sakura.ad.jp/cloud/server/create-delete.html#id23)にISOイメージを挿入して検証
- 物理マシンや仮想マシン、その他のパブリッククラウド等の環境でもインストールは可能だが説明は割愛
- 起動

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/c0635a20-b642-4bcb-044a-b34e278c73d9.png)

- ログイン
    - デフォルトのユーザは`vyos`でパスワードは`vyos`

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/ab3ab731-878d-5758-6e4c-8973e448ee1f.png)

- VyOSがLive CDから起動していることが分かる
- このままでは設定内容が再起動時に消えてしまう

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/5723142a-2213-f925-abb8-ed36e9d83566.png)

- `install image`コマンドを実行し、VyOSのイメージをディスクにインストールする

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/3007f660-6fba-806e-f782-043c44a97fcd.png)

- 実行して問題ないのでエンターキーを押下する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/58b86953-ad35-a9cc-87b4-34b1a57c32d2.png)

- Autoで良いのでエンターキーを押下する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/d451b4e8-e6e4-580f-0ed9-0a0500e1e314.png)

- インストール先のデバイスはvdaで良いのでエンターキーを押下する
- その後、デバイス内のデータを全て削除しても良いか聞かれるので`Yes`と入力する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/fce9c822-d76c-67c4-f9e1-5fd58b3f3b24.png)

- ルートパーティションのサイズはデフォルトのままで良いのでエンターキーを押下する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/fb36d793-b1eb-99b9-4f47-d9b42cb0ce23.png)

- イメージ名はデフォルトのままで良いのでエンターキーを押下する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/afc5ae58-a2a4-1457-e2d0-2d3bf8f97514.png)

- 設定ファイルはデフォルトのままで良いのでエンターキーを押下する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/c1e5260c-c677-97a6-234c-2992ae6fb636.png)

- `vyos`ユーザのパスワードを設定する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/24ee691f-d4a3-4fd4-9012-71bf52dcf233.png)

- デフォルトのままで良いのでエンターキーを押下する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/06d8b6a0-1dde-2e7f-1d4a-106c23bb2626.png)

- 再起動する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/cb4bd2cd-219f-b103-a2ce-be94dd2887d0.png)

- `vyos`ユーザで先程設定したパスワードを入力してログイン

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/16229866-7880-adfa-a35c-f2c1facd3815.png)

- Live CDでなくなっているため成功

![スクリーンショット 2023-04-01 22.19.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/e3469903-cfae-328d-f976-e2c3f34e9527.png)

# 初期設定

- 設定モードに入る

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/61e3c33e-414c-9080-7656-1462e0f674e9.png)

- ネットワークインタフェースを確認する
- `eth1`にIPアドレスは割り当てられていない

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/091dd0d5-93a1-b9b2-86df-1f16c7d84ab1.png)

- そのため、`ping`を実行しても失敗する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/bf43077f-fc47-6a11-e33c-542d0a1b73d3.png)

- `eth1`に対してIPアドレスとプレフィックスを設定する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/0a3959a4-9e44-64e4-6051-3500d644d5ed.png)

- 再度、ネットワークインタフェースを確認
- `eth1`にIPアドレスが割り当てられた

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/be361f8d-cfe8-ed20-247f-604bba118d64.png)

- デフォルトゲートウェイを設定する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/eeb3aae2-541f-b3ab-9cdd-991e933c0928.png)

- `commit`を実行して設定の変更を反映する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/0bfd66c0-7498-19f5-1d50-b45cd27f1a47.png)

- 再度、`ping`を実行すると疎通が確認できた

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/acadffd1-61bd-5f4a-6c77-a9f9083e7069.png)

- 手元のPCからVyOSに向けて`ping`を実行しても応答が返ってきている

```bash
$ ping X.X.X.X
PING X.X.X.X (X.X.X.X): 56 data bytes
64 bytes from X.X.X.X: icmp_seq=0 ttl=53 time=35.990 ms
64 bytes from X.X.X.X: icmp_seq=1 ttl=53 time=55.312 ms
64 bytes from X.X.X.X: icmp_seq=2 ttl=53 time=34.018 ms
64 bytes from X.X.X.X: icmp_seq=3 ttl=53 time=37.215 ms
64 bytes from X.X.X.X: icmp_seq=4 ttl=53 time=34.136 ms
^C
--- X.X.X.X ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 34.018/39.334/55.312/8.078 ms
```

- しかし名前解決には失敗している

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/1bdb6a3e-d9cf-65b7-2062-f8b27d9c0b12.png)

- そのため、DNSキャッシュサーバを設定する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/d799afba-ae0f-6b11-98c5-abb63ceb5ebf.png)

- `commit`を実行して設定の変更を反映する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/43d30178-ac16-6f11-8eaf-46912c129a67.png)

- 名前解決ができるようになった

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/dc8b9579-9c34-ea9f-6507-6e68558c1a7c.png)

- 手元のPCからVyOSに向けてSSH接続が失敗している

```bash
$ ssh vyos@X.X.X.X
ssh: connect to host X.X.X.X port 22: Connection refused
```

- SSHを有効化

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/8914f8e9-0d87-3106-5ba9-99d3246636b2.png)

- `commit`を実行して設定の変更を反映する

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/43d30178-ac16-6f11-8eaf-46912c129a67.png)

- パスワードでログインできることが確認できた

```bash
$ ssh vyos@X.X.X.X
The authenticity of host 'X.X.X.X (X.X.X.X)' can't be established.
ED25519 key fingerprint is SHA256:sgQf3s7wba5Iy2NIissvGKCbQmd0U/HnBcGqnyw+5sQ.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:125: X.X.X.X
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'X.X.X.X' (ED25519) to the list of known hosts.
vyos@X.X.X.X's password:
vyos@vyos:~$
```

- 設定の変更を保存
- これで再起動時に設定が消えなくなる

![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78249/1dcd5100-d4cf-cace-bcd2-66b8d059e56f.png)