概要

GNS3とはネットワークを使って最小限のルータとスイッチを設置してルーティングをしてみる。

環境

  • Ubuntu 24.04
  • Dockerはすでにインストール済み
    • Docker version 26.1.1, build 4cf5afa

インストール

以下の手順でインストールする。Dockerは別にインストールする。 https://docs.gns3.com/docs/getting-started/installation/linux

sudo add-apt-repository ppa:gns3/ppa
sudo apt update
sudo apt install gns3-gui gns3-server

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install gns3-iou

sudo usermod -aG ubridge,libvirt,kvm,wireshark,docker $(whoami)

VyOSの用意

VyOSは最新版のみ無料で提供されているため、以下のURLから一番上のISOファイルをダウンロードする。 https://vyos.net/get/nightly-builds/

GNS3設定

ターミナルをterminatorに変更する。--new-tabで既存ウィンドウのタブとして追加する。

terminator -e "telnet {host} {port}" -T "{name}" --new-tab

起動

  • GNS3を起動する
  • 以下を起動選択する
    • Run appliances on my local computer
  • RoutersからNew templateをクリックする
    • VyOSのISOを選択してインストールする
  • 以下のように設置して起動する

VPCS(Virtual PC Simulator)の設定

PC1にIPアドレスを設定する。

PC1> ip 192.168.1.1/24 192.168.1.254
Checking for duplicate address...
PC1 : 192.168.1.1 255.255.255.0 gateway 192.168.1.254

PC2にIPアドレスを設定する。

PC2> ip 192.168.2.1/24 192.168.2.254
Checking for duplicate address...
PC2 : 192.168.2.1 255.255.255.0 gateway 192.168.2.254

VyOSの設定

インターフェースごとにIPアドレスを設定し、スタティックルートを設定する。

vyos@vyos:~$ configure
WARNING: You are currently configuring a live-ISO environment, changes will not persist until installed

[edit]
vyos@vyos# set interfaces ethernet eth0 address 192.168.1.254/24
[edit]
vyos@vyos# set interfaces ethernet eth1 address 192.168.2.254/24

[edit]
vyos@vyos# set protocols static route 192.168.1.0/24 next-hop 192.168.1.254
[edit]
vyos@vyos# set protocols static route 192.168.2.0/24 next-hop 192.168.2.254

[edit]
vyos@vyos# commit
[edit]
vyos@vyos# save
[edit]
vyos@vyos# 

設定確認する。

vyos@vyos# show interfaces
 ethernet eth0 {
     address 192.168.1.254/24
     hw-id 0c:2d:ea:0c:00:00
 }
 ethernet eth1 {
     address 192.168.2.254/24
     hw-id 0c:2d:ea:0c:00:01
 }
 ethernet eth2 {
     hw-id 0c:2d:ea:0c:00:02
 }
 loopback lo {
 }

動作確認

PC1でping

PC1> ping 192.168.2.1

84 bytes from 192.168.2.1 icmp_seq=1 ttl=63 time=1.856 ms
84 bytes from 192.168.2.1 icmp_seq=2 ttl=63 time=1.913 ms
84 bytes from 192.168.2.1 icmp_seq=3 ttl=63 time=2.112 ms
84 bytes from 192.168.2.1 icmp_seq=4 ttl=63 time=2.092 ms
84 bytes from 192.168.2.1 icmp_seq=5 ttl=63 time=1.661 ms

PC2でping

PC2> ping 192.168.1.1

84 bytes from 192.168.1.1 icmp_seq=1 ttl=63 time=2.041 ms
84 bytes from 192.168.1.1 icmp_seq=2 ttl=63 time=1.920 ms
84 bytes from 192.168.1.1 icmp_seq=3 ttl=63 time=1.949 ms
84 bytes from 192.168.1.1 icmp_seq=4 ttl=63 time=1.947 ms
84 bytes from 192.168.1.1 icmp_seq=5 ttl=63 time=2.125 ms