それなりに適当にやってます

なんとなくそれっぽいメモとか備忘録とか適当に。 2018年5月にブログ移転しました。 古い記事は未整理です。

Ubuntu 16.04 LTS へ GNS3 導入メモ


久々にネットワークの勉強がしたくなったので、DigitalOcean 上の VM(以下、Droplets) に GNS3 のサーバ環境を構築したので、その手順をメモ
DigitalOcean は Nested が有効で、Droplets 内で QEMU などを動かす事が出来るし、そこそこのスペックが安価に使える。また Snapshot を活用し、不要なときは Droplets を消すことで利用金額を安く抑える事もできる。 他にはベアメタルの packet もオススメ




  1. DigitalOcean のアカウントを作成する。
  2. DigitalOcean のアカウント設定 -> [Security] にて、SSH公開鍵の登録を済ませておく
  3. [Networking] -> [Firewalls] で自IPから各ポートへの通信を許可する。
  4. [Droplets] にて Ubuntu 16.04 LTS ベースの Droplets を作成する
    (リージョンやスペックは適当に。日本リージョンはないのでシンガポールがおすすめ)
  5. Droplets 作成後、上記 "2" で作成した Firewall ルールに作成した Droplets を登録する。




起動した Ubuntu に GNS3 リポジトリを登録し、Ubuntuの更新と GNS3 のインストールを行う。
  1. リポジトリの追加と更新
    $ sudo add-apt-repository ppa:gns3/ppa -y
    $ sudo dpkg --add-architecture i386
    $ sudo apt update
    $ sudo apt upgrade -y
  2. GNS3 のインストール
    $ sudo apt install gns3-iou gns3-server
  3. systemd スクリプトの設置と有効化
    $ sudo vi /etc/systemd/system/myproject.service
    [Unit]
    Description=GNS3 server
    Wants=network-online.target
    After=network.target network-online.target

    [Service]
    Type=forking
    User=root
    Group=root
    PermissionsStartOnly=true
    ExecStartPre=/bin/mkdir -p /var/log/gns3 /var/run/gns3
    ExecStartPre=/bin/chown -R root:root /var/log/gns3 /var/run/gns3
    ExecStart=/usr/bin/gns3server --log /var/log/gns3/gns3.log \
     --pid /var/run/gns3/gns3.pid --daemon
    Restart=on-abort
    PIDFile=/var/run/gns3/gns3.pid

    [Install]
    WantedBy=multi-user.target

    作成した systemd の設定を反映し、自動起動を有効にする。
    $ sudo systemctl daemon-reload
    $ sudo systemctl enable gns3



ついでに GNS3 上で Dockerコンテナ も扱いたかったので 公式の手順に従い インストールした。
    $ sudo apt-get remove docker docker-engine docker.io -y
    $ sudo apt-get update
    $ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -y
    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    $ sudo add-apt-repository \
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
       $(lsb_release -cs) \
       stable"
    $ sudo apt-get update
    $ sudo apt-get install docker-ce -y
あとは再起動を行い、再起動後に GNS3 サーバのサービスが起動している事を確認し、リモートで GNS3 のGUIを起動して接続・利用するだけ。

以上、適当に。