Azure VM に GNS3 Remote Server を入れて Web UI 上でネットワーク検証をやってみた

ネットワークはインターネットの根幹です。最近は Wi-Fi というか無線 LAN が当たり前に使えていますが、有線 LAN で DHCP も無い頃から考えると、とても便利にな世界になりました。

そこで、基本的なネットワークの仕組みを検証するにあたり、GNS3 (Graphical Network Simulator 3) を Azure VM にインストールして使ってみました。

GNS3 をインストールする Azure VM を作成

prefix=mnrgns3
region=japaneast

az group create 
  --name ${prefix}-rg 
  --location $region

az vm create 
  --resource-group ${prefix}-rg 
  --name ${prefix}-vm 
  --os-disk-name ${prefix}-vmOSDisk 
  --image Ubuntu2204 
  --size Standard_B1s 
  --admin-username azure 
  --generate-ssh-keys 
  --nsg-rule NONE 
  --public-ip-address-dns-name ${prefix} 
  --storage-sku Standard_LRS

az network nsg rule create 
  --resource-group ${prefix}-rg 
  --name Allow-SSH 
  --nsg-name ${prefix}-vmNSG 
  --priority 100 
  --source-address-prefixes $(curl -s inet-ip.info) 
  --destination-port-ranges 22 
  --access Allow 
  --protocol Tcp

Azure VM に SSH 接続して事前準備

OS の時計を日本時間に設定し、Standard_B1s が 1GB メモリで少々不安なため、スワップメモリを 2GB に設定して OS を再起動します。

ssh azure@$prefix.$region.cloudapp.azure.com

sudo timedatectl set-timezone Asia/Tokyo

sudo sed -i 's/ResourceDisk.Format=n/ResourceDisk.Format=y/' /etc/waagent.conf
sudo sed -i 's/ResourceDisk.EnableSwap=n/ResourceDisk.EnableSwap=y/' /etc/waagent.conf
sudo sed -i 's/ResourceDisk.SwapSizeMB=0/ResourceDisk.SwapSizeMB=2048/' /etc/waagent.conf

sudo reboot

もう一度 Azure VM に SSH 接続して GNS3 をインストール

ssh azure@$prefix.$region.cloudapp.azure.com

cd /tmp

curl https://raw.githubusercontent.com/GNS3/gns3-server/master/scripts/remote-install.sh > gns3-remote-install.sh

sudo bash gns3-remote-install.sh --with-iou --with-i386-repository

以下のメッセージが表示されたらインストール成功です。

=> GNS3 has been installed with success

GNS3 のバージョンは 2.2.53 でした。

$ gns3server -v
2.2.53

一度 Azure VM から抜けて 3080 ポートを SSH トンネル

exit

ssh -L 3080:localhost:3080 azure@$prefix.$region.cloudapp.azure.com

ブラウザで localhost:3080 にアクセス

http://localhost:3080/

アクセス直後の画面です。

azure-gns3-01.png

Hub 1 台、PC 2 台を接続して ping してみたところです。

azure-gns3-02.png

後片付け

exit

az group delete 
  --name ${prefix}-rg 
  --yes

参考

Install GNS3 on a remote server

タグ: ,