FedoraへのGNS3インストール
前の記事
お伝えしたいこと
FedoraにGNS3クライアントとGNS3サーバをインストールする手順をお伝えします。
ここでご紹介する手順は、以下サイトの内容を元にしています。
Computing for Geeks - How To Install GNS3 on Fedora 35/34/33/32/31
ただし、本ブログの手順は一部アレンジを加えています。
具体的には、以下の通りです。
- VPCSの最新版をインストールする手順に変更
- 最小限のパッケージのみをインストールする手順に変更
本ブログでご紹介した手順は、Fedora35、GNS3 2.2.29にて動作確認済みです。
GNS3のインストール
GNS3サーバとGNS3クライアントは導入必須です。
以下のコマンドでインストールします。
sudo dnf install gns3-gui gns3-server
RPMパッケージ版はGNS3公式サイトで直接配布されているものよりも多少バージョンは古いですが、全く問題なく動作します。
外部ツールのインストール
GNS3のインストールに必要なのは、GNS3本体のみです。
しかし、GNS3本体は各種機能を提供するために、様々な外部ツールと連携します。
それらの外部ツールを使う場合には、追加のインストールが必要になります。
全てのツールを一旦入れるか、必要なツールに絞って入れるかはユーザーの好み次第です。
今回、私はWireshark、VPCS、Dynamipsのみ導入することにしました。
仮想マシンを動作させるため、KVMも別途インストールしました。
IOU、Dockerについては、今回はインストールしませんでした。
これらのツールについては、ツールの概要とインストールしなかった理由を中心に紹介します。
Wireshark
(参考) Wiresharkとは
Wiresharkとは、パケットキャプチャの実施と、結果のGUI表示機能を持つアプリケーションです。
GNS3においては、ケーブルを右クリックして該当箇所のパケットキャプチャを取得/確認するためにWiresharkを使います。
一般に、物理的なネットワーク環境では以下の手順でパケットキャプチャを行います。
GNS3においてはそのような面倒な操作は一切不要です。
ケーブルを右クリックしてキャプチャを開始するのみです。
WiresharkとGNS3の組み合わせは非常に便利です。
Wiresharkはぜひインストールしましょう。
Wiresharkのインストール
以下のコマンドでインストールします。
sudo dnf install wireshark
VPCS
(参考) VPCSとは
VPCS (Virtual PC Simulator) は、仮想パソコンのことです。
ネットワークの検証をする際、ネットワーク機器に端末を接続してpingなどの疎通確認を行いたい場面はあると思います。
そんなときに、Linuxの代わりに使えるのがVPCSです。
VPCSは以下の特徴を持ちます。
WEB通信を試したい場合、サーバー役はLinuxを用意しても良いと思いますが、クライアント役をVPCSに任せることでメモリ容量を節約できます。
起動/停止も高速で、あると何かと便利です。
VPCSは、ぜひインストールしましょう。
VPCSは独特のCLIを持ちますが、ネットワーク機器のように?
でヘルプを確認しながら使っていればすぐに使い方を理解できるでしょう。
VPCS依存パッケージのインストール
VPCSをインストールするために、gccとmakeをインストールしておきます。
sudo dnf install gcc make
VPCSのインストール
VPCSの公式版はSource Forgeにて配布されていますが、現在はメンテナンスされていないようです。
GNS3 ProjectがVPCSの開発を引き継いでメンテナンスしたものがGitHub上に存在するので、そちらをダウンロードします。
GitHub - GNS3/vpcs - Releases
2022年3月時点の最新版は0.8.2であるため、そちらをダウンロードします。
ブラウザ上でダウンロードリンクのURLを右クリック・コピーし、curl
コマンドでtar.gzファイルをダウンロードします。
(※) git clone https://github.com/GNS3/vpcs
でダウンロードしても良いですが、厳密にはmasterブランチとv0.8.2タグを持つリリース版には差がある可能性があるのでご注意ください
curl -LO https://github.com/GNS3/vpcs/archive/refs/tags/v0.8.2.tar.gz
tar.gzファイルを展開し、シェルスクリプトを実行することでC言語のソースコードをビルドします。
ビルドの結果、vpcsの実行ファイルが生成します。
このシェルスクリプトが行うのは、基本的にmake
とgcc
によるビルドのみです。
カレントディレクトリに*.o
ファイルとvpcs
ファイルを生成しますが、他には何もしません。
tar xzf v0.8.2.tar.gz cd vpcs-0.8.2/src ./mk.sh
生成したvpcs実行ファイルを適切なパスに格納します。
今回は/usr/local/bin
に格納します(※)。
(※) RPMインストールされたときの実行ファイルは、/usr/bin/
配下に格納されます。make install
やpip install
など、他の手段でインストールされた場合は私の知る限り/usr/local/bin
に格納されます
また、vpcsのmanファイルも用意されているのでこちらも適切なパスに格納します。
sudo cp -i vpcs /usr/local/bin sudo cp -i ../man/vpcs.1 /usr/local/share/man/man1/
動作確認します。
vpcs -v # バージョンが表示されること man vpcs # manが表示されること
インストールが完了した後は、不要なファイルは削除して問題ありません。
cd ../.. rm -rf vpcs-0.8.2/ v0.8.2.tar.gz
(参考) VPCSのアンインストール
VPCSのインストール時に行った変更は、実行ファイルとmanファイルの配置のみです。
これらのファイルを削除すれば、VPCSをアンインストールしたことになります。
sudo rm /usr/local/share/man/man1/vpcs.1 /usr/local/bin/vpcs
Dynamips
(参考) Dynamipsとは
Dynamipsは、GNS3においては以下の機能を持ちます。
今回は、後者の機能を目的としてDynamipsを導入します。
DynamipsがサポートするL2スイッチはメモリ消費が少なく、気軽に追加できる点が一番の長所です。
また、VLANやDot1Q Trunkingにも対応します。
Dynamipsのインストール
基本的な流れはVPCSの時と同じです。
まず、依存パッケージをインストールします。
sudo dnf install make gcc sudo dnf install cmake elfutils-libelf-devel libpcap-devel
続いて、以下のコマンドを実行してインストールします。
curl
コマンドに指定しているURLは、GitHub上のGNS3/DynamipsのReleaseページ上の "Source code (tar.gz)" のリンクからコピーしたものです。
curl -LO https://github.com/GNS3/dynamips/archive/refs/tags/v0.2.21.tar.gz tar xzf v0.2.21.tar.gz cd dynamips-0.2.21/ mkdir build cd build cmake .. sudo make install
任意ですが、ここでinstall_manifest.txt
をどこかのディレクトリにバックアップしておきます。
このファイルはDynamipsをインストールした時に配置したファイルパスを記録したもので、Dynamipsをアンインストールする時に必要となります。
とはいえ、install_manifest.txt
が手元にない場合ももう一度インストール手順を実行することで再び生成できます。
そのため、バックアップを取ることは必須ではありません。
install_manifest.txt
の中身は以下のとおりです。
/usr/local/share/doc/dynamips/ChangeLog /usr/local/share/doc/dynamips/COPYING /usr/local/share/doc/dynamips/MAINTAINERS /usr/local/share/doc/dynamips/README.md /usr/local/share/doc/dynamips/README.hypervisor /usr/local/share/doc/dynamips/RELEASE-NOTES /usr/local/share/doc/dynamips/TODO /usr/local/share/man/man1/dynamips.1 /usr/local/share/man/man1/nvram_export.1 /usr/local/share/man/man7/hypervisor_mode.7 /usr/local/bin/nvram_export /usr/local/bin/dynamips
作業用のファイルやディレクトリを削除します。
cd ../.. rm -rf v0.2.21.tar.gz dynamips-0.2.21/
(参考) Dynamipsのアンインストール
Dynamipsのアンインストール手順は、途中まではインストール手順と同じです。
curl -LO https://github.com/GNS3/dynamips/archive/refs/tags/v0.2.21.tar.gz tar xzf v0.2.21.tar.gz cd dynamips-0.2.21/ mkdir build cd build cmake ..
このタイミングで、今いるbuild/
ディレクトリにバックアップ済みのinstall_manifest.txt
を配置しておきます。
このファイルがない場合、一旦sudo make install
を実行し、install_manifest.txt
を生成しましょう。
そして、以下のコマンドを実行することでアンインストールできます。
sudo make uninstall
アンインストール完了後、作業用のファイルやディレクトリを削除します。
cd ../.. rm -rf v0.2.21.tar.gz dynamips-0.2.21/
(参考) KVMのインストール
Linuxで仮想マシンを動かすために、QEMU/KVMやVirtualBoxなどの仮想化エンジンを別途インストールする必要があります。
Linuxの場合は、オープンソースかつ軽快に動作するQEMU/KVMが良いのではないかと思います。
KVMは商用サービスにも利用されることがあり、品質の高さが伺えます。
また、CPUの仮想化支援機能や準仮想化ドライバなどを効率的に利用することから、VMが高速に動作します。
KVMのセットアップ手順は過去の記事で紹介していますので、よろしければ参考にしてください。
KVMの初期設定、及びvirsh, virt-installによるVM作成
快適なGUI操作を望む場合は、Cockpitをお試しください。
CockpitはRed Hat社が開発を支援しているオープンソースソフトウェアです。
Cockpit GUI によるKVM操作
一通りセットアップが終わったら、KVMで仮想マシンを建ててみましょう。
基本操作の説明は以下の記事にまとまっています。
KVMの基本操作集
GNS3とKVMの連携方法については、別の記事にて紹介します。
(参考) その他のツール
本セクションで紹介するツールについては、今回はインストールを見送りました。
以下のセクションにて、各ツールをインストールしなかった理由について補足します。
これらのツールをインストールしたい場合は、以下の記事を参考にしてください。
Computing for Geeks - How To Install GNS3 on Fedora 35/34/33/32/31
Step 1にて依存パッケージをインストールの上、後は各ツールごとのインストール手順にしたがってご対応ください。
IOU
IOU (IOS on Unix) は、IOSv (Cisco IOSの仮想アプライアンス) とほぼ同等の機能性を持ちます。
IOL (IOS on Linux) とも呼ばれます。
噂によれば、Cisco IOSvよりもバグが少なく、パフォーマンスも良いと聞いたことがあります。
しかし、IOUはCisco社員、またはCisco社パートナーしか入手できないと言われています。
私達が手に入れることはかないませんので、IOUの動作環境を持っていても仕方ありません。
したがって、今回はIOU周りのセットアップも見送りました。
Docker
DockerのRPMパッケージ自体は、gns3-server RPMパッケージの依存関係として自動的にインストールされました。
しかし、私が現状VMしか使わず、コンテナを使っていないのでDockerのセットアップを見送りました。
ネットワーク検証を行うためには、Linuxやネットワーク仮想アプライアンスのVMを建てられれば十分であるためです。
今後コンテナの軽量さを活かして何かする機会があれば、Dockerを使い始めることがあるかもしれません。
(参考) 他のOSへのGNS3インストール手順
GNS3が公式でインストールマニュアルを提供しているのは、Windows、Mac、Ubuntuの3種です。
他にもArch LinuxやManjaroでもGNS3をインストールした実績があるそうです。
Fedora以外のOSに対するGNS3のインストール手順については、GNS3の概要 - GNS3のインストール方法も参考にしてください。
まとめ
FedoraにGNS3をインストールする手順を紹介しました。
GNS3本体はRPMパッケージで簡単にインストールできます。
GNS3と連携している外部ツールについては、個別にインストールする必要があります。
少々面倒かもしれませんが、手順さえわかってしまえば簡単です。
元の記事で情報提供してくださったJosphat Mutaiさんに感謝します。