ConoHaにVyOSを建てる

# はじめに
検証用のvyosをIDCFクラウドに建てていましたが、
IDCFが個人向けのクラウドサービスをやめると言い始めたので、
ConoHaに立て直すことにしました。
すこしだけハマりポイントがあったので記事書きます。

# conoha-isoでイメージのDL

公式が丁寧な記事を公開しています。
https://www.conoha.jp/guide/clitools.php

今回は、手元にあったlinuxサーバでconoha-isoを操作していきます。
コマンドライン引数で認証情報を渡す場合は、サブコマンド実行時に毎回オプションを付けてください。
※キャッシュしてくれるかなと勝手に期待しましたが、当然ながらそんな機能はありませんでした。
ちなみに今回のリージョンは東京なのでリージョン情報はtyo1で進めていきます。


vyosのisoをテナントの何かしらの領域にDLします。
今回はvyos 1.1.8を使う。

``` sh
$ ./conoha-iso download -i https://downloads.vyos.io/release/1.1.8/vyos-1.1.8-amd64.iso
```

これで勝手にDLされる。
しばらくしてlistで確認すると表示される。
※下記は別件でUbuntuをDLしていたので、ubuntuとvyosの両方が表示されています。

``` sh
$ ./conoha-iso list

[Image1]
Name:  ubuntu-ja-18.04.1-desktop-amd64.iso
Url:   http://cdimage.ubuntulinux.jp/releases/18.04.1/ubuntu-ja-18.04.1-desktop-amd64.iso
Path:  /mnt/isos/repos/tenant_iso_data/6e850af3d1294bf2ab544ad0a6204e9b/ubuntu-ja-18.04.1-desktop-amd64.iso
Ctime: Sun Aug 26 22:20:04 2018
Size:  1890271232

[Image2]
Name:  vyos-1.1.8-amd64.iso
Url:   http://0.ua.mirrors.vyos.net/iso/release/1.1.8/vyos-1.1.8-amd64.iso
Path:  /mnt/isos/repos/tenant_iso_data/6e850af3d1294bf2ab544ad0a6204e9b/vyos-1.1.8-amd64.iso
Ctime: Sat Nov 11 22:49:43 2017
Size:  241172480
```

# イメージのマウント

conohaで適当にVPSを作ります。
OSは何でもいいと思いますが、今回はvyosのベースになっているDebianで作っておきました。
DLしたイメージをマウントするためには、VPSをPowerOffしておく必要があるので電源を落とします。

conoha-isoのinsertでイメージをマウントします。
はじめにVPSのリストが出るので、マウントしたいサーバを選びます。
次にマウントできるイメージのリストが出るので、マウントしたいisoを選びます。

``` sh
$ ./conoha-iso insert

[1] ***-***-***-***
[2] ***-***-***-***
Please select VPS no. [1-2]: 1

[1] ubuntu-ja-18.04.1-desktop-amd64.iso
[2] vyos-1.1.8-amd64.iso
Please select ISO [1-2]: 2
INFO[0039] ISO file was inserted and changed boot device.
```

これでマウント完了。
VPSを立ち上げると、vyosのイメージがブートされます。

# vyosのインストール

vyosを立ち上げたら、ログインします。
初期のログイン情報は、ID/Passwdともにvyosです。

vyosのインストールは`install image`と叩いて、
適当に入力すれば大体はOKなのですがここでハマりポイントが一つ。

vyosはインストール時にfdiskでパーティションを操作しようとしますが、
/dev/vdaがGPTなのでWARNINGが出ます。
たぶんvyosのベースがdebian squeezeなせいだと思います(要出典)

そのまま`install image`でインストールを進めると、
結果として/dev/vdaがマウントできず、bootできません。

なので、下記記事のようにpartedでディスクラベルをmsdosに変更します。
https://l-w-i.net/t/fedora/disk_001.txt

``` sh
$ sudo su
# parted /dev/vda

(parted) mklabel

Warning: The existing disk label on /dev/vda will be destroyed
and all data on this disk will be lost. Do you want to continue?
Yes/No? ← yes

New disk label type?  [gpt]? ← msdos

(parted) q
```

あとは、`install image`でインストールを進めます。
http://sig9.hatenablog.com/entry/2015/08/09/214338
ここのログを取り忘れたので、この記事を見てやった人は提供してもらえると助かります。

``` sh
$ install iamge
※yes/noを聞かれたらすべてyes
※それ以外はすべてEnter押せばデフォルト値で設定されます。
```

インストールが完了したら、イメージをアンマウントするためにVPSをPowerOffします。

# イメージのアンマウント
手元のlinuxから、conoha-isoのejectで操作します。
VPSのリストが表示されるので、アンマウントするVPSを選択するとアンマウント出来ます。
※PowerOff状態じゃないとマウント/アンマウントはできないので注意

```
$ ./conoha-iso eject
[1] ***-***-***-***
[2] ***-***-***-***
Please select VPS no. [1-2]: 1
INFO[0001] ISO file was ejected.
```

# VPSの起動

VPSを立ち上げるとVyosが立ち上がります。
![vyso.png](https://qiita-image-store.s3.amazonaws.com/0/223008/8332807c-adce-aaeb-759b-960d3d46d3b5.png)

sshの設定等は他の記事を参考にしてください。
こことか→http://sig9.hatenablog.com/entry/2015/08/09/214338

あとは、VyOSを設定していくだけなので好きなようにいじってください。
このあと、aptのリポジトリ追加したりVPN設定したり色々やりましたが一旦このあたりで締めます。
おつかれさな～

# 謝辞
vyos立ち上げとsshでログインできるようにするところまでは自分でやりましたが、
その後のaptの設定やVPN設定、ポートフォワードの設定をサポート(というか完全に一人で)してくれた友人に感謝です。
~~ログイン権限渡したらササッと設定されてしまったので僕はtmuxで作業を眺めていただけでした~~
本職ネットワークエンジニアはやはり強い、強すぎる。

# 余談
ちなみにハートオブクラウンというカードゲームのPC版がsteamで販売されているんですが、
オンライン対戦で部屋を作る(ホストになる)にはインターネットからホストへ到達できる必要があります。
自宅の回線だと上位のルーターが悪さをして、外から自宅マシンのTCPポートに直接アクセスできなかったので、
VPNでVPSと自宅マシンをトンネリングして、VPSの特定ポートと自宅マシンのポートにフォワードする設定をしたら行けました。