GNS3 Server on ESXi（その１）


Fortigate・Paloalto・VyOSなどESXiの仮想OSとしてたちあげ検証する方法を今まではご紹介してきました。ただ、この方法だと複雑な構成を作ろうとした場合に毎回vSwitch/ポートグループ設定など、やることも増えますし、検証終わった後のゴミも増えますし、、、、なによりメンドクサイのでいい加減楽をしたいです！

ということで、今回はGNS3をUbunts21.04上のサービスとして立ち上げクライアント端末からつながるところまでの記事になります。利用するUbuntsはESXi上の仮想OSとして事前にインストールしています。

**構成イメージ**
　　　　<img width="600" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/b80f4e5f-782c-5550-47ed-3169654ade98.png">　
## 1. 前提

- OS: Linux gns3 5.13.0-28-generic
- GNS3: 2.2.9
- CPU: 8vCPU
- MEM: 10GB 


## 2. GNS3インストール作業
いつもの通り事前準備で最新化し、GNS3のリポジトリを登録します。

```bash
sudo su - 
apt-get vim
apt-get update
apt-get upgrade
add-apt-repository ppa:gns3/ppa
```

では、インストールしましょう

```bash
apt-get install gns3-server gns3-gui
``` 

実行するといくつか質問されますので、下記の通り実行します。　

```bash
Should non-superusers be able to run GNS3? [yes/no] no

Should non-superusers be able to capture packets? [yes/no] yes


  1. networkd-dispatcher.service  4. ssh.service               7. systemd-networkd.service   10. systemd-udevd.service        13. none of the above
  2. packagekit.service           5. systemd-journald.service  8. systemd-resolved.service   11. unattended-upgrades.service
  3. polkit.service               6. systemd-logind.service    9. systemd-timesyncd.service  12. user@1000.service

(Enter the items or ranges you want to select, separated by spaces.)

Which services should be restarted?  # Enterキーを押します。
```
ディレクトリおよびファイルを作成します。

```bash
mkdir -p /root/.config/GNS3/2.2
vim /root/.config/GNS3/2.2/gns3_server.conf
[Qemu]
enable_kvm = False
require_kvm = False
:wq
```

最後は起動スクリプトを作成しましょう。

```bash
vim /etc/systemd/system/gns3.service
[Unit]
Description=GNS3-Server
After=networko.target

[Service]
User=root
Group=root
Type=simple
ExecStart=/usr/share/gns3/gns3-server/bin/gns3server

[Install]
WantedBy=multi-user.target
:wq
```

## 3. GNS3起動

**いざ起動！！**

```
systemctl enable gns3
systemctl start gns3

dpkg -l | grep gns3
ii  gns3-gui                              2.2.29~impish1                        amd64        GNS3 GUI
ii  gns3-server                           2.2.29~impish1                        amd64        GNS3 server
```
※起動していることがわかります。


## 4. クライアント端末へGNS3をインストール

下記サイトからGNS3をダウンロードしておきましょう。

https://www.gns3.com/software/download

ダウンロードしたexeファイルをダブルクリックしてインストーラーを起動します。
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/6e25afaa-a813-c909-8dd5-5b941b458146.png">

「I Agree」をクリックします。
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/62495582-5580-733f-626f-2fca0de4d7b9.png"> 

「Next」をクリックします。
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/de59aee0-1f68-4c96-a58a-870b03073cb5.png"> 

「Next」をクリックします。
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/68ba5ab9-66ab-2d94-8b62-2cddc1f630f8.png"> 　

インストール場所を指定したい場合は「Browse」から適切な場所を、デフォルトでもよければそのまま「Next」をクリックします。
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/b6e968f9-b59f-e46c-e3a7-d3e8f33a7d86.png"> 

インストールが始まります。途中NpcapとWireSharkのインストールが始まりますが、すべてデフォルトの値で「Next」をクリックして進めてください。
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/0489fbbe-f799-c388-53a0-c487a5e3086e.png"> 

インストールが完了しました。「Next」をクリックします。
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/7ae39808-0023-036a-49a9-04c7a9a280f9.png"> 

Toolsetを利用するかどうするか聞かれます。私は「No」を選択しました。
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/0b4c9758-26b0-8266-5d17-863a60cb7540.png"> 

「Finish」をクリックして、クライアント側のGNS3を立ち上げましょう。
<img width="400" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/255a5079-ab44-73b6-78a6-e3557b97efb7.png"> 



## 5. GNS3Serverへの接続

クライアント側のGNS3が起動したら、EditからPreferencesをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/a50c3f7c-a5d5-c756-dd9f-3d5ed51b3d73.png)

画面左の「Server」を選択し、「Main server」タブの「Enable local server」のチェックを外します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/0f5813d5-b41f-531d-ce38-107a07f377bd.png)

画面が遷移しますので、Hostの項目にGNS3ServerのIPアドレスを入力して、「Auth」チェックを外し「OK」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/438ec037-7ae0-d7d2-45c3-82fe7a1ff46a.png)
 
画面右下の「Servers Summary」が画面のようになっていれば正常です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2335933/78ce50b8-a089-3096-659b-7085fd8b5827.png)

## 6. その他
次回は、GNS3にFortigateVMやVyOSをアプライアンスとして登録する方法をご紹介します。