VirtualboxのCentOS7にGNS3をインストールする


# サマリ
[自分で前回書いた記事](https://qiita.com/san_bay3/items/196fd49d29171da4c60c)で、GNS3を使ってみると書いたので、
実際にインストールしてみました。（本記事ではインストールまでで、実際に使うのは別途とします）

# 背景
[自分で前回書いた記事](https://qiita.com/san_bay3/items/196fd49d29171da4c60c)でGNS3を使ってみると宣言したのと、
今後ルーティングの勉強に役に立つと考えたため、まずはインストールするところまでやってみることにしました。
（いかんせんなかなか行動にでないタイプなので…(-_-;)）
RHEL（RedHat Enterprise Linux）に触れる機会があるので、RedHat系のLinuxディストリビューションであるCentOS7にすることにしました。
（CentOS8は[2021年末にサポート終了](https://ja.wikipedia.org/wiki/CentOS)し、かつCentOS9も出ないようなので、あまり推奨ではないかもしれないですが）


# ゴール
VirtualBoxのCentOS7にGNS3をインストールするところまで完了

# 対象読者
- 自分自身
- VirtualBoxやCLIの基本的な理解がある方
- CentOS7にGNS3を入れたい方（コアすぎる）

# 前提
- VirtualBoxはインストール済み
- CentOS7はインストール済み

# 環境
- ホストOS：Window10 Home
- VirtualBox：バージョン6.1.14 r140239(Qt5.6.2)
- VirtualBox内のCentOS：CentOS7

# 手順
さて、実際にインストールに入りたいと思いますが、
そもそも**GNS3**とはなんぞや、ということでGoogle先生に聞きました。

> Graphical Network Simulator-3（略称：GNS3）は、2008年に最初にリリースされたネットワークソフトウェアエミュレーターである

https://ja.wikipedia.org/wiki/Graphical_Network_Simulator-3

ルータやスイッチなどのネットワーク機器のエミュレーター（模倣ソフトウェア）ということですね。
自費で実機を購入してテストするのはこのご時世あまりにもイケていないので、使わない手はないですね。
（お金があれば実機買いたいですが…）
Wikiによると、AT＆TやNASAでも利用されているらしいので、ネットワークソフトウェアエミュレーターはGNS3を使っておけば間違いなさそうですね。（知らんけど）

では、さっそく行きたいと思います。
**本記事では参考にした手順をベースに躓いたところだけをピックアップしております。**

### 手順探し

https://www.infraexpert.com/info/gns3index.html

上記の記事を参考に実施していくことにしました。
しかしどうやらWindow環境でのインストール手順だったので、ダウンロードまではこの通りやって、
インストールは公式手順を調べるか、ということでまずは[GNS3公式ページ](https://www.gns3.com/ )からダウンロードしました。
インストール方法は、以下

https://gns3.com/community/featured/how-to-install-gns3-on-centos--2

GNS3のコミュニティページにて、CentOS7に構築したノウハウを乗せてもらっているのが見つかりました。。
（助かった…！）
ので、以降、原則本手順に則って進めていきます。
引っかかったところだけ記載します。


### CentOSNW疎通付加問題

これ毎回なってしまうのですが、VirtualBoxのCentOSからインターネットにつながらない状態で焦ってしまうのでここに残しておくことにしようと思います。
本筋ではないので結論だけですが、対象のifをアップしてあげると解決できました。

```
ifup enp0s3
```

https://moratoriumer.hatenablog.com/entry/2020/03/19/023609

### iusのURL見切れ問題

手順を見ていると、`3.1 Installing Python 3.6 `の項で以下のように手順が書いてありますが、
URLの最後が見切れている。。
```
yum install -y https://centos7.iuscommunity.org/ius-...
```
こちらは参考動画を見ると最後まで記載が見つかりました、よかったです。

### iusリンク変更問題→どうやら新しいものに変更になったよう

同じiusでもこちらのほうが躓きとしては大きいのですが、
urlが変更になっていたようです。
以下のQiita記事を参考にさせていただき、無事解決できました。

https://qiita.com/seal_qiita/items/981a9284ecd44e54af96

いまさらですがちなみに**ius**とは、
以下のサイト曰く

https://dev.classmethod.jp/articles/how-to-install-newer-packages-from-rhel-centos-with-appstream-rhscl-epel-ius/

> IUS(Inline with Upstream Stable)は RHEL/CentOS から新しいバージョンを利用するための YUM レポジトリです。

とのことです。
CentOSを使うとこのような対応もいるんですね…勉強になりました。

### wgetエラー問題→最新版のwgetを入れればいいみたいだがめんどい→--no-check-certificateでクリア

途中、wget（ウェブサイトからコンテンツをダウンロードするコマンド）を打つタイミングがあるのですが、

```
ERROR: cannot verify … certificate
```
というようなエラーがでました。
調べると、証明書関連のエラーということでwgetの最新版を入れる方法と`--nocheck-certificate`オプションで回避する方法があるとのことでした。
今回はお試しでインストールするのを優先したかったのでコマンドオプションにて回避することにしました。

https://michaeluno.sakura.ne.jp/technotes/windows-%E7%94%A8%E3%81%AE-wget-%E3%81%A7-error-cannot-veryfy-certificate-%E3%81%AE%E8%A7%A3%E6%B1%BA%E6%B3%95/


### pyqt5うまくインストールできない問題

```
pip3 install pyqt5 says --No matching distribution found for PyQt5-Qt5>=5.15.2 (from pyqt5)
```
なぜ…
いろいろエラー内容でグーグル先生に聞きましたが、いまいちピンポイントな回答がなく、
エラー内容は今回のものと異なりますが、以下のページを参考にpyqt5をインストールしました。

https://forums.centos.org/viewtopic.php?t=58081

### GNS3起動しない問題

自環境のCentOSがGUI対応していなかったので、
`yum -y groups install "GNOME Desktop"`でGNOME Desktopをインストールし、
`startx`でGUI起動しておいて、GUIのほうから`gns3`とコマンド打ち込んだら…
起動しましたー！




# まとめ（学び・今後）
- 毎度ですが、これぐらいでも自分でできたときの達成感は何ともうれしいものですね。
- 試しにCentOSで入れましたが、初心者には思ったより大変だったので今後は王道？のWindowsかMacでやろうと思います。
- やはりGNS3を使ってがっつり勉強するならIOS（Cisco社のネットワーク機器のOS）が必要そうなので、ボーナスが出るころには中古のスイッチでも買ってみようと思います。
- 公式ドキュメントよく見るとLinux向けの手順があるように見えますね。。（おい）また別途トライしてみたいと思います。

https://docs.gns3.com/docs/getting-started/installation/linux/