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」を選択
- VyOS nightly buildsではだいたい過去1ヶ月のビルド(ISOイメージ)が公開されている模様
- 最新(一番上)のISOイメージをダウンロードする
インストール
- ログイン
- デフォルトのユーザは
vyos
でパスワードはvyos
- デフォルトのユーザは
- VyOSがLive CDから起動していることが分かる
- このままでは設定内容が再起動時に消えてしまう
-
install image
コマンドを実行し、VyOSのイメージをディスクにインストールする
- 実行して問題ないのでエンターキーを押下する
- Autoで良いのでエンターキーを押下する
- インストール先のデバイスはvdaで良いのでエンターキーを押下する
- その後、デバイス内のデータを全て削除しても良いか聞かれるので
Yes
と入力する
- ルートパーティションのサイズはデフォルトのままで良いのでエンターキーを押下する
- イメージ名はデフォルトのままで良いのでエンターキーを押下する
- 設定ファイルはデフォルトのままで良いのでエンターキーを押下する
-
vyos
ユーザのパスワードを設定する
- デフォルトのままで良いのでエンターキーを押下する
- 再起動する
-
vyos
ユーザで先程設定したパスワードを入力してログイン
- Live CDでなくなっているため成功
初期設定
- 設定モードに入る
- ネットワークインタフェースを確認する
-
eth1
にIPアドレスは割り当てられていない
- そのため、
ping
を実行しても失敗する
-
eth1
に対してIPアドレスとプレフィックスを設定する
- 再度、ネットワークインタフェースを確認
-
eth1
にIPアドレスが割り当てられた
- デフォルトゲートウェイを設定する
-
commit
を実行して設定の変更を反映する
- 再度、
ping
を実行すると疎通が確認できた
- 手元のPCからVyOSに向けて
ping
を実行しても応答が返ってきている
$ 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
- しかし名前解決には失敗している
- そのため、DNSキャッシュサーバを設定する
-
commit
を実行して設定の変更を反映する
- 名前解決ができるようになった
- 手元のPCからVyOSに向けてSSH接続が失敗している
$ ssh vyos@X.X.X.X
ssh: connect to host X.X.X.X port 22: Connection refused
- SSHを有効化
-
commit
を実行して設定の変更を反映する
- パスワードでログインできることが確認できた
$ 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:~$
- 設定の変更を保存
- これで再起動時に設定が消えなくなる