Servers SummaryでGNS3 VMがグリーンにならないときに確認するポイント

GNS3 VMサーバをセットアップすると、GNS3を起動すると自動的にGNS3 VMも起動します。正常ならば、Servers SummaryでGNS3 VMがグリーンになるはずです。

GNS3 VMのServers Summaryでグリーンにならないときは、以下の点を確認してみてください。

  • GNS3とGNS3 VMのバージョンが一致しているか
  • GNS3でのVMサーバのポート番号の設定とGNS3 VMで待ち受けているポート番号が一致しているか
  • ホストOSとGNS3 VM間で通信できるか

GNS3とGNS3 VMのバージョンが一致しているか

GNS3のバージョンとGNS3 VMのバージョンが一致している必要があるようです。GNS3のバージョンは、[Help] – [About]から確認できます。

GNS3 VMのバージョンは[GNS3 server version]でわかります。

GNS3でのVMサーバのポート番号の設定とGNS3 VMで待ち受けているポート番号が一致しているか

GNS3でのVMサーバのポート番号の設定とGNS3 VMで待ち受けているポート番号が一致しないとServer Summaryはグレイアウトされたままになってしまいます。

筆者がGNS3 VMサーバのセットアップを行ったときは(v2.2.17)、セットアップウィザードをそのまま進めていくと、VMサーバのポート番号はローカルサーバのポート番号(TCP 3080)がそのまま使われていました。一方、VMware上のGNS3 VMではTCP 80で待ち受けていたので、Servers Summaryでグレイアウトされたままの状態になってしまっていました。もし、一致していないなら合わせてください。

GNS3でのVMサーバのポート番号は[edit] – [preference] – [GNS3 VM]から確認できます。

GNS3 VMの待ち受けポート番号は[PORT]の部分で確認できます。

ホストOSとGNS3 VM間で通信できるか

ホストOSとGNS3 VM間の通信ができていなければいけません。GNS3 VMは2つのネットワークインタフェース(ネットワークアダプタ)を持っています。

  • ホストオンリー
  • NAT

GNS3 VMのホストオンリーのネットワークインタフェースは、ホストOSのVMnet1とつながっています。そして、GNS3 VMのNATのネットワークインタフェースはホストOSのVMnet8とつながっています。ホストOSのVMnet1およびVMnet8はDHCPサーバとしてGNS3 VMにIPアドレスの割り当てを行っています。

GNS3 VMホストオンリーとホストOSのVMnet1でGNS3 VMの制御を行っているようです。また、GNS3 VMのNATのネットワークインタフェースは、ホストOSのVMnet8を通じて外部ネットワークと通信するために利用しています。

ホストOSとGNS3 VMの通信がうまくできていないときは、ホストOSのVMnet1とVMnet8を無効化→有効化してみてください。

筆者の環境をWindows11にしたところ、スリープから復帰するとVMnet1/VMnet8のIPアドレスがAPIPAの範囲になってしまい、GNS3 VMと通信ができなくなってしまいます。その場合、上記のようにVMnet1/VMnet8の無効化→有効化で解消できます。

VMnetを再起動するPowerShellスクリプト

手動でVMnet1/VMnet8を毎回再起動するのは面倒です。スクリプトでVMnet1/VMnet8の再起動を簡単にできるようにしておくと便利でしょう。

VMnet1/VMnet8を再起動するPowerShellスクリプトです。

VMnet1/VMnet8を再起動するPowershellスクリプト

#管理者権限で実行されていなければ、スクリプトを管理者権限で実行し直す
If (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')){
    Start-Process -FilePath PowerShell.exe -ArgumentList "-NoLogo -ExecutionPolicy Bypass -File $($MyInvocation.MyCommand.Path)" -Verb RunAs
    Exit
}
Disable-NetAdapter -Name "VMware Network Adapter VMnet1" -Confirm:$false
Enable-NetAdapter -Name "VMware Network Adapter VMnet1" -Confirm:$false
Disable-NetAdapter -Name "VMware Network Adapter VMnet8" -Confirm:$false
Enable-NetAdapter -Name "VMware Network Adapter VMnet8" -Confirm:$false

上記スクリプトを「.ps1」の拡張子で保存してください。そして、右クリックして「PowerShellで実行」します。

ネットワークインタフェースを無効にするDisable-NetAdapterには管理者権限が必要です。ユーザに管理者権限がなければ、Administratorのパスワード入力画面が表示されます。管理者権限のユーザであれば、UACの実行確認が表示されます。

リンク

PowerShellスクリプトを管理者権限で実行するための方法について、以下のWebサイトを参考にしています。

まとめ

ポイント

  • GNS3 VMの状態がグリーンにならないときには、以下の点を確認してください。
    • GNS3とGNS3 VMのバージョンが一致しているか
    • GNS3でのVMサーバのポート番号の設定とGNS3 VMで待ち受けているポート番号が一致しているか
    • ホストOSとGNS3 VM間で通信できるか

GNS3の使い方