ネットワークはインターネットの根幹です。最近は 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/
アクセス直後の画面です。

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

後片付け
exit
az group delete
--name ${prefix}-rg
--yes
参考
Install GNS3 on a remote server
タグ: Azure, GNS3