GNS3

提供: ArchWiki
ナビゲーションに移動 検索に移動

GNS3 はグラフィカルネットワークシミュレータ (Graphical Network Simulator) です。コンピュータ上のネットワークをシミュレートすることができます。ウェブページより:

GNS3 は複雑なネットワークをシミュレートするオープンソースソフトウェアです。可能な限りリアルにネットワークの動作を模倣します。ルーターやスイッチなど専用のネットワークハードウェアを必要としません。

インストール

GNS3 はパッチが適用された Python 拡張の python-aiohttp-cors-gns3AURpython-yarl-gns3AUR を使います。GNS3 の前にこれらをインストールしてください。

ノート: 上記のパッケージをインストールするとオリジナルの拡張を使用する別のプログラムで問題が起こる可能性があります。

GNS3 GUI を実行するには gns3-guiAURgns3-serverAUR パッケージが必要です。どちらも AUR からインストールできます。

libvirt を使うことでエンドデバイスの "Cloud" (仮想 wan インターフェイスを提供して、テストネットワークをメインのネットワークの他のデバイスから分離します) と NAT を作成できます。libvirt を機能させるために GNS3 は dnsmasqubridgeAUR を必要とします。GNS3 を使用する前に Cloud と NAT エンドデバイスを使えるようにするためにこれらのパッケージをインストールして libvirtd デーモンを起動してください。

仮想マシンの追加

トポロジ (仮想ネットワーク) を作成するとき、マシンをネットワークに追加することになります。GNS3 は QEMUVirtualBox をサポートしています。VMware を使うこともできますが QEMU や VirtualBox と同じように直接マシンをトポロジに追加することはできません。

VirtualBox

VirtualBox のインストール

VirtualBox の仮想マシンをトポロジに追加するには virtualboxvirtualbox-sdk をインストールしてください。GNS3 から VirtualBox が認識されない問題を避けるために、GNS3 をインストールしてから VirtualBox をインストールすることを推奨します。既に VirtualBox をインストールしている場合、再インストールしてください。

virtualbox-sdk パッケージをインストールしないと、vboxapi.py スクリプトを使うことができず GNS3 の vboxwrapper.py が仮想マシンに接続できません。

GNS3 VM を VirtualBox に追加

公式の GNS3 VM を使うことでパフォーマンスを改善することができます。GNS3 Github から GNS3 とバージョン番号が一致している GNS3 VM の VirtualBox バージョンをダウンロードしてください。解凍したら VirtualBox で VM をインポートしてください。

GNS3 VM とホスト OS 間でネットワーク接続を作成するにはホストオンリーネットワークを設定する必要があります。VirtualBox > Preferences > Network からホストオンリーネットワークをセットアップしてください。大抵の場合、vboxnet0 などという名前になります。何らかの理由で VirtualBox はインターフェイスに IP を割り当てず、有効化もしません。ターミナルから手動で有効化する必要があります。IP アドレスの割り当てについて詳しくはネットワーク設定#手動で割り当てるを見てください。

# ip addr add IP_address/subnet_mask dev vboxnet0
# ip link set dev vboxnet0 up

GNS3 スタートアップウィザードを起動して GNS3 VM を選択すれば VM を起動できます。

仮想マシンを GNS3 に追加

GNS3 と VirtualBox を接続するには GNS3 から使用する仮想マシンを指定する必要があります。

  1. GNS3 で Preferences -> VirtualBox をクリックしてください。vboxwrapper.py のパスが正しいことを確認してください (/usr/share/gns3/vboxwrapper.py)。"Test Settings" ボタンを押したときに OK と表示されれば大丈夫です。
  2. GNS3 の VirtualBox Guest タブを選択して VirtualBox VM を追加してください。VM リストから VM を選択してください (ボタンを押してリストを更新する必要があるかもしれません)。問題を避けるために、識別名は VM の名前と同じにすることを推奨します。VM を選択するとき他のオプションも選択できます:
    • NIC の数は VM の中で確認できるネットワークインターフェイスカードの数です (VM に NIC が4つある場合、GNS3 でも4に設定してください)。
    • VirtualBox NAT の最初の NIC をホスト OS に予約することで最初のネットワークインターフェイスカード (eth0) にネットワークアドレス変換 (NAT) が設定され、VM からホストのネットワークやインターネットに接続することができます。
    • コンソールサポートを有効にすることでシリアルコンソールで VM にアクセスできるようになります。シリアルコンソールのサポートは VirtualBox のゲストとして使っているオペレーティングシステムの方でも設定が必要なので注意してください。getty#シリアルコンソールを参照。
    • コンソールサーバー (リモートアクセス) を有効にすることで VM のシリアルコンソールにリモートでアクセスできます。GNS3 はシリアルコンソールと Telnet クライアントのプロ棋士として動作する Telnet サーバーを作成します。この機能を使うにはコンソールサポートを有効にする必要があります。
    • (GUI を使わない) ヘッドレスモードで起動した場合、VM が起動したときに VirtualBox のグラフィカルインターフェイスが非表示になります。上記のコンソールサポートを有効にした場合に有用です。

仮想マシンをトポロジに追加

GNS3 を仮想マシンを設定したら、仮想マシンをトポロジにドラッグアンドドロップすることができます。左サイドバーのコンピュータアイコンを選択してください。"VirtualBox guest" が選択できます。ドロップしたらどの VM を追加するのか質問されるので、追加したい仮想マシンを選択して OK をクリックしてください。これで GNS3 から VM を右クリックして起動することができるようになります。

VMware

インストール

VMware を見てください。

仮想マシンをトポロジに追加

GNS3 で VMware を使うには GNS3 トポロジにクラウドを作成して、VMware のマシンからトポロジのクラウドの NIC に接続する必要があります。

GNS3 フォーラム に投稿された手順:

  1. VMware の仮想マシンでネットワークアダプタ "Host only" を選択。
  2. ネットワークアダプタの名前を確認 (vmnet1)。
  3. GNS3 でワークスペースにクラウドを追加。
  4. クラウドを設定してネットワークアダプタを選択。
    • クラウドを右クリックして設定を選択。
    • クラウドで C0 を選択。
    • NIO Ethernet を選択。
    • Generic Ethernet NIO を選択。
    • ドロップダウンメニューから適切なアダプタを選択して追加ボタンを押下。
    • 仮想マシンのアダプタがクラウドに追加されます。
  5. クラウドをトポロジに接続。
  6. 仮想マシンに IP アドレス (同一サブネット) を割り当て GNS3 でルーターをエミュレート。
  7. ルーターと仮想マシンで ping が通ることを確認。

デバイスの接続

デバイスをトポロジに追加したら接続してください。(左サイドバーの下にある) リンクアイコンを選択して、デバイスをクリックしてください。次に、スイッチに接続したいデバイスをクリックしてください。使用する NIC を選択してください。全てのリンクを作成したら、左サイドバーのリンクアイコンを選択して選択を解除してください。解除しないと GNS3 がリンク作成モードのままになります。

VPCS

VPCS はシンプルな仮想 PC シミュレータです。GNS3 によってサポートされており、完全なネットワークトポロジのシミュレーションができます。Sourceforge からダウンロードすることが可能です。VPCS の実行ファイルは ~/GNS3 の中に配置してください。そして GNS3 から path/to/executable を検索するように設定してください (GNS3 GUI を使っている場合、オプションは Preferences にあります)。

ノート: VPCS 0.8b は こちらのバグ の影響を受けます。

Wireshark パケットキャプチャ

Wireshark と GNS3 を一緒に使うことで仮想トポロジのデバイス間のリンクのパケットを解読することができます。インストールしたら ~/GNS3/wireshark/ ディレクトリにシンボリックリンクを作成して、GNS3 が適切なバージョンを使うように設定してください。例えば wireshark-gtk[リンク切れ: 置換パッケージ: wireshark-qt] を使って Wireshark Live Traffic Capture を選択する場合、Preferences > Packet capture preferences から以下の設定を:

tail -f -c +0b %c | wireshark -o "gui.window_title:%d" -k -i -

以下のように変更:

tail -f -c +0b %c | wireshark-gtk -o "gui.window_title:%d" -k -i -