Help us understand the problem. What is going on with this article?

CentOS8 へのGNS3 インストール手順

はじめに

CentOS8 にGNS3 をインストールする手順のみを書きます。
CentOS8 からPython3 が標準搭載されるようになったのでCentOS7 と比べてインストール手順がだいぶ簡略化されました。

  • 活用例
  • 環境構築
  • インストール後の設定
  • 使い方
  • VM の取り込み

は以下の過去の記事をご覧ください。バージョンが変わっても同じです。

GNS3 でバックエンド開発を便利に(前編)
GNS3 でバックエンド開発を便利に(後編)

基本セットアップ

update & reboot

sudo dnf -y update
sudo reboot

EPEL リポジトリの追加とデフォルトで無効設定。

sudo dnf -y install epel-release
sudo dnf config-manager --set-disable epel

リモートデスクトップ用のfirewalld のサービス定義を新規作成。

/etc/firewalld/services/RDP.xml
<?xml version="1.0" encoding="utf-8"?> 
<service>
 <short>RDP</short>
 <description>RDP</description>
 <port protocol="tcp" port="3389"/>
</service>
sudo chmod 640 /etc/firewalld/services/RDP.xml

firewalld の設定。

sudo nmcli c mod eth0 connection.zone internal
sudo firewall-cmd --set-default-zone=internal
sudo firewall-cmd --zone=internal --add-service=RDP --permanent
sudo firewall-cmd --zone=internal --remove-service=mdns --permanent
sudo firewall-cmd --zone=internal --remove-service=samba-client --permanent
sudo firewall-cmd --zone=internal --remove-service=dhcpv6-client --permanent
sudo firewall-cmd --reload

GUI 環境のインストールと設定

GNOME Desktop のインストールと起動設定。

sudo dnf -y group install "Server with GUI"
sudo systemctl set-default graphical.target

RDP のインストール

sudo dnf -y --enablerepo=epel install xrdp tigervnc-server

色深度を24ビットに変更。

/etc/xrdp/xrdp.ini
max_bpp=24

以下2つは、リモートデスクトップしたときに色々警告のポップアップが出ないようにするための設定。
それぞれ、追記と新規作成。

/etc/xdg/autostart/gnome-software-service.desktop
X-GNOME-Autostart-enabled=false
/etc/polkit-1/localauthority/50-local.d/allow-colord.pkla
[Allow colord for all users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=yes
ResualtInactive=auth_admin
ResultActive=yes

リモートデスクトップサービスの自動起動設定。

sudo systemctl enable xrdp.service

reboot してリモートデスクトップできるか確認してみる。

sudo reboot

GNS3 インストール前の準備

mkdir ~/Downloads

sudo ln -s /usr/lib/python3.6 /usr/local/lib/python3.6

sudo dnf -y install make python36-devel

sudo dnf -y install python3-qt5

sudo dnf -y install cmake elfutils-libelf-devel libuuid-devel
sudo dnf -y --enablerepo=PowerTools install libpcap-devel 

sudo dnf -y install openssl-libs.i686 libgcc.i686 libnsl.i686
sudo ln -s /usr/lib/libcrypto.so.1.1.1 /usr/lib/libcrypto.so.4

cd ~/Downloads
wget http://ndevilla.free.fr/iniparser/iniparser-3.1.tar.gz
tar zxf iniparser-3.1.tar.gz
cd iniparser
make
sudo cp libiniparser* /usr/lib
sudo cp src/*.h /usr/include

GNS3 のインストール

cd ~/Downloads
wget https://github.com/GNS3/gns3-gui/releases/download/v2.2.0/GNS3-2.2.0.source.zip
unzip GNS3-2.2.0.source.zip

unzip gns3-server-2.2.0.zip
cd gns3-server-2.2.0
sudo python3 setup.py install

cd ~/Downloads
unzip gns3-gui-2.2.0.zip
cd gns3-gui-2.2.0
sudo python3 setup.py install

cd ~/Downloads
unzip ubridge-0.9.14.zip
cd ubridge-0.9.14
make
sudo make install

cd ~/Downloads
unzip dynamips-0.2.17
cd dynamips-0.2.17
mkdir build
cd build
cmake ..
make
sudo make install
sudo setcap cap_net_admin,cap_net_raw=ep /usr/local/bin/dynamips

sudo dnf -y install bison flex

sudo dnf -y --enablerepo=PowerTools install glibc-static
cd ~/Downloads
unzip vpcs-0.6.1.zip
cd vpcs-0.6.1/src
#
# 「./getopt.h:53:5: エラー: ‘getopt’ と型が競合しています」
# というエラーが出るのでgetopt.c:113, getopt.h:53 のgetopt をgetopt2 とでも編集する。
#
./mk.sh
sudo cp vpcs /usr/local/bin

cd ~/Downloads
wget http://sourceforge.net/projects/cpulimit/files/cpulimit/cpulimit/cpulimit-1.1.tar.gz
tar zxvf cpulimit-1.1.tar.gz
cd cpulimit-1.1
make
sudo cp cpulimit /usr/local/bin

sudo ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64

sudo dnf -y install wireshark

おわりに

CentOS6, GNS3 1.5.x の頃のインストール手順を踏襲しているので、
不要なものまでインストールしていたり、効率の悪いやり方をしているかもしれません。
改善点があればご連絡下さい。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away