GNS3 Server on ESXi（その２）

前回の記事ではESXi上の仮想OS(Ubuntu)にGNS3を入れて、クライアント端末から利用できるようになるところまでをやってみました。今回はFortigateVMとVyOSをGNS3で利用できるようにしていきます。前回の記事を閲覧されていない方はこちらからどうぞ

https://qiita.com/nw-engineer/items/31d960f2f9489c75114c

## 1. アプライアンスファイルダウンロード
下記のファイルを準備しましょう。

**Fortigate**
　・fortigate.gns3a
　・empty30G.qcow2
 


**VyOS**
　・vyos.gns3a
　・empty8G.qcow2


上記ファイルは下記サイトよりそれぞれダウンロードできます。

https://gns3.com/marketplace/appliances/fortigate

https://gns3.com/marketplace/appliances/vyos

## 2. イメージファイルの準備

imageファイルを準備します。Fortigate/VyOSのイメージ準備は下記の記事をご参照下さい。

https://qiita.com/nw-engineer/items/82519ed8516aabc51893


https://qiita.com/nw-engineer/items/4f66738441ea29712ef6

※Fortigateは「6.4.8」のKVM版をダウンロードしましょう。 また、ダウンロードしたファイルを解凍してファイル名を「FGT_VM64_KVM-v6-build1914-FORTINET.out.kvm.qcow2」としておきます。VyOSは記事の通りダウンロードしています。


## 3. アプライアンスファイルの修正

さて、ここでダウンロードしたFortigateとVyOSについてですが、GNS3サイトからダウンロードしたアプライアンス登録用ファイル（*.gns3a）をそのまま利用してもアプライアンスとして登録が出来ません。なぜなら、FortgateについてはFortiCloud上のVMバージョンがすでに最新化されていて、GNS3のアプライアンス登録ファイルがその更新に追いついていないためです。

そこで、アプライアンスとして登録するために、ダウンロードした*.gns3aのファイルを修正して登録できるようにしましょう。fortigate.gns3aファイルをエディタで開きます。下記のような記載があります。

```bash
    "images": [
        {
            "filename": "FGT_VM64_KVM-v6-build1828-FORTINET.out.kvm.qcow2",
            "version": "6.4.5",
            "md5sum": "dc064e16fa65461183544d8ddb5d19d9",
            "filesize": 36175872,
            "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
        },
```

ここの部分に定義を追加します。具体的には下記のようになります。

```bash
        {
            "filename": "FGT_VM64_KVM-v6-build1914-FORTINET.out.kvm.qcow2",
            "version": "6.4.8",
            "md5sum": "7ce8233f6fac4d2a55a0ed37e6f9fc42",
            "filesize": 69402624,
            "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
        },
        {
            "filename": "FGT_VM64_KVM-v6-build1828-FORTINET.out.kvm.qcow2",
            "version": "6.4.5",
            "md5sum": "dc064e16fa65461183544d8ddb5d19d9",
            "filesize": 36175872,
            "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
        },
```

簡単に説明しますと、追加されている内容は6.4.5用定義の一部を6.4.8用に変更/追記しているだけのものです。変更点は下記の通りとなります。

|項目|変更後の値|備考|
|--|--|--|
|filename|FGT_VM64_KVM-v6-build1914-FORTINET.out.kvm.qcow2|手順2でダウンロードし修正したファイル名|
|version|6.4.8|Forticloudからダウンロードしたバージョン|
|md5sum|7ce8233f6fac4d2a55a0ed37e6f9fc42|certutilコマンドで確認|
|filesize|69402624|Windows上で確認（ファイル右クリック->プロパティ）|

※md5sum値の確認は下記サイトを参考にさせて頂きました。
@akimaru86 さん、いつもありがとうございます。

https://qiita.com/akimaru86/items/792bd6654b4d44bbf775

VyOSについては残念ながら前回ダウロードしたimageの内容そのものが.gns3aには登録がありませんでした。狙ったわけではありませんが練習になるので、このまま進めたいと思います。同様の手順でVyOSの.gns3aファイルも修正しましょう。

## 4. アプライアンスとして登録

クライアントのGNS3を起動して画面左のSecurity Devicesマークをクリックし、画面下に表示されている「New template」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/ce85b5c0-96ea-c08f-5f4e-721fadf1270d.png)


「Import an appliance file」を選択して「Next」をクリックします。
<img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/20976c1b-0f41-3391-6fea-9b7dcef4becb.png">

fortigate.gns3ファイルを選択します。
<img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/ef557b14-1208-c665-d181-c92a6f550ddb.png">

「Install the appliance on the main server」が選択されいることを確認して「Next」をクリックします。
<img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/23b76710-81fa-ff20-885a-0c95d0c56ebd.png">

「Next」をクリックします。
<img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/5bc1d10a-fbf4-0a63-0864-bfe04eaf5a64.png">

まだ、この状態では6.4.8の定義は出てきません。ですが画面下の「Create a new version」から登録する事が出来ます。※ちなみに事前にgns3aファイルに定義を追加していない状況で「Create a new version」をクリックして登録を進めても途中でNGとなりますので、手順3番は必須作業です。
<img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/de4e05ae-b277-6b13-7897-65ffa34eba34.png">

バージョンを指定して「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/dc373817-a9c0-966e-ce1d-3cbc952a1f3f.png)　

ファイル名をコピペして「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/bb6d2245-1d75-ef29-c0de-02ba4a60c5f0.png)

hdb_disk_imageはそのままで「OK」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/fe9fd50e-6834-cfdc-7025-ce8dac2979ed.png)

ようやく対象バージョンが画面に出現しました。この状態で「Next」をクリックします。
<img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/ba0384f0-2124-c866-d790-5565b773ac1e.png">

「Yes」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/a2ac4880-1483-01f3-34fb-ecc6da013d88.png)　

「Finish」をクリックします。
<img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/925862d5-1e17-d0c7-de1c-75a15cf611b2.png">

これでFortigateVMがGNS3上で利用できるようになりました。同様の手順でVyOSも実施してみましょう。
<img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/1ad2b72d-97f5-835b-e375-6a323b040e8a.png">


## 5. その他
次回はFortigateVMとVyOSをGNS3上で通信可能な状態にしてダイナミックルーティングを会話させてみたいと思います。