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

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

GNS3 へリモートサーバを追加する手順メモ


前回、リモートに立てた GNS3 サーバを使う手順を書いたけど、今回はローカルとリモートの GNS3 サーバを利用する手順をメモる。 同じ要領でリモートサーバを追加すればスケールさせる事が出来る(らしい)

参考リンク


リモートサーバの構築

公式の手順 に従い、Ubuntu 16.04 LTS で構築したサーバで、以下のコマンドを実行し、最後に再起動を行う。
$ sudo su -
# cd /tmp
# sudo curl https://raw.githubusercontent.com/GNS3/gns3-server/master/scripts/remote-install.sh > gns3-remote-install.sh
* VPN接続時のIP、セグメントなどを変更したければ中身をいぢる。 既定では 172.16.253.0/24 が使われる。
# bash gns3-remote-install.sh --with-openvpn --with-iou --with-i386-repository
# reboot
再起動後、再度SSHでログインするとバナーに OpenVPN の設定ファイル(.ovpn)などについて情報が表示される。
$ ssh xxx.xxx.xx.xxx -l root
...
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-96-generic x86_64)
...
Download the VPN configuration here:
http://xxx.xxx.xxx.xxx:8003/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/ubuntu-4gb-sgp1-01.ovpn

And add it to your openvpn client.

apt-get remove nginx-light to disable the HTTP server.
And remove this file with rm /etc/update-motd.d/70-openvpn
...
表示された設定ファイルを、ローカルにダウンロードし OpenVPN での接続を行う。
$ wget http://xxx.xxx.xxx.xxx:8003/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/ubuntu-4gb-sgp1-01.ovpn
$ sudo apt-get install openvpn
$ sudo openvpn ubuntu-4gb-sgp1-01.ovpn
無事に接続されるとローカルに割り当てられたIPアドレスが表示されるので確認する。
(下記の場合 172.16.253.6 が振られた事がわかる)
...
Fri Sep 22 11:49:43 2017 /sbin/ip addr add dev tun0 local 172.16.253.6 peer 172.16.253.5
Fri Sep 22 11:49:43 2017 Initialization Sequence Completed
続けて通常ローカルに向いている GNS3 サーバの接続先IPを、上記で表示されたVPN接続のものに切り替える。 リモートと同じVPNセグメントにする事で、ローカル<->リモートで実行したN/W機器のイメージが疎通できるようになる。
$ vi ~/.config/GNS3/gns3_server.conf
...
#host = 127.0.0.1
host = 172.16.253.xxx
...
補足すると何か動作がおかしくなった時は、一旦クライアントとローカルサーバを止めて(sudo service gns3 stop)、下記2ファイルから余計な設定を消したり編集すれば大体なんとかなると思う。
  • ~/.config/GNS3/gns3_server.conf
  • ~/.config/GNS3/gns3_controller.conf

あとは公式の Scale GNS3 を参考に、リモートサーバを追加し、ローカル/リモートの双方にイメージを追加する事で利用できるようになる。イメージとしてはこんな感じに。

あとは OpenVPN 接続時に静的IPで繋げたいーとかあるけど、その辺はググれば見つかるので省略する。

以上、適当に。