【2024年08月版】ProxmoxVE8 への VyOS インストールメモ【ISO作成から】

# はじめに

いままで自宅ラボは VMWareさんを信じて生きてきたけど、これからは、Proxmoxさんについていきます。。。

ということで、Proxmox で内部のルータとして VyOS 使うメモ

- 最新LTSの ISO は自作しないといけないので、その手順メモ
- ISO作成、インストール、IP設定、SSH設定、ルータとして設定の方法

# 環境

- ISO作成のOSはUbuntu22.04
- ユーザは dev
- ProxmoxVE8 で実行

# 手順

[公式ドキュメント Build VyOS ](https://docs.vyos.io/en/equuleus/contributing/build-vyos.html)に従って作成する

- Dockerのインストール
- Docker Hub からの Pull
- Build スクリプトの clone
- Dockerコンテナの起動
- Dockerコンテナ内で、ISO イメージの作成
- ISOイメージの確認

# Dockerのインストール

最後に、dockerグループにユーザを所属させておくのがコツ

```terminal
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker dev
docker -v
docker run hello-world
```

# Docker Hub からの Pull

ここでは 1.3 を pull
equuleus が 1.3

```terminal
$ docker pull vyos/vyos-build:equuleus 
```

# Build スクリプトの clone

```terminal
$ git clone -b equuleus --single-branch https://github.com/vyos/vyos-build
```

# Dockerコンテナの起動

```terminal
$ cd vyos-build
$ docker run --rm -it --privileged -v $(pwd):/vyos -w /vyos vyos/vyos-build:equuleus bash
```

# Dockerコンテナ内で、ISO イメージの作成

```terminal
vyos_bld@d4220bb519a0:/vyos# ./configure --architecture amd64 --build-by "j.randomhacker@vyos.io"
vyos_bld@d4220bb519a0:/vyos# sudo make iso
vyos_bld@d4220bb519a0:/vyos# exit
```

# ISOイメージの確認

ホスト側の `vyos-build/build/live-image-[architecture].hybrid.iso` で ISO イメージが作成されている
ここでは、[architecture] は amd64なので、`live-image-amd64.hybrid.iso` が作成されている

```terminal
$ cd build
$ ls -lh live-image-amd.hybrid.iso
-rw-r--r-- 1 root root 404M Aug  8 13:01 live-image-amd64.hybrid.iso
```

# Proxmox への VyOS のインストール

## VMの作成

以下の要件でVMを作成する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143127/15b3eb2f-a556-4b67-fcd7-b39d444d4241.png)

VM作成後、ルータとするので、ネットワークカードを１つ追加する。ルータにしないなら必要ない。

eth0, eth1 として認識される。

## VMの起動とインストール

VyOSが起動するので、ログインプロンプトまで待つ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143127/d1f451a8-0172-895d-460f-2cfdbdff80d0.png)

ログインプロンプトが表示されたら、vyos / vyos でログインする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143127/de84af46-b35c-dd2c-e16f-85f0fc6cf15c.png)

install image でインストールを行う

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143127/bc1e3229-71b4-8214-d501-bd2cb2f4fa64.png)

セットアップに必要な情報が聞かれるので答えていく、だいたいはデフォルトで問題ない。
Done! が表示されたら reboot する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143127/fda0b06c-1c4c-878d-b5d4-c6d6702d79c7.png)

セットアップで入力したユーザ名とパスワードでログインする。ログインできれば、インストールは完了。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143127/b63a9c07-cb49-ff8c-a038-b8d470d15374.png)

# VyOS の設定

## ネットワーク

### 外側インターフェイス

以下で設定。

- IPアドレス： `192.168.0.10` 
- ゲートウェイ: `192.168.0.1`
- DNS： `8.8.8.8`

```terminal
conf
set int ethernet eth0 address 192.168.0.10/24
set protocols static route 0.0.0.0/0 next-hop 192.168.0.1
set system name-server 8.8.8.8
commit
save
exit
```

### 内側インターフェイスとNAT

- IPアドレス： `172.16.0.254`

```
conf
set int ethernet eth1 address 172.16.0.254/24
set nat source rule 10 outbound-interface 'eth0' 
set nat source rule 10 source address '0.0.0.0/0'   
set nat source rule 10 translation address masquerade  
commit
save
exit
```

### SSH

```
conf
set service ssh
commit
save
exit
```

# さいごに

かんたんでしたね

# 参考資料

- [VyOS](https://vyos.io/)
- [Build VyOS](https://docs.vyos.io/en/equuleus/contributing/build-vyos.html)