LoginSignup
17
22

More than 5 years have passed since last update.

VyOSで初めるネットワークシミュレータGNS3

Last updated at Posted at 2016-11-17

ネットワークシミュレータとしてCisco製品とセットで使われることの多いGNS3ですが,IOSなんて持ってない人も多いはず.
使ってみようと思ったら初心者向けの記事があまりなかったので,今回はフリーのVyOSを使ってネットワークを作ってみましたので参考になれば.

準備

GNS3のインストール

公式のドキュメントに一通り揃ってますので,そちらを見ると良いです.
手元のマシン(Debian stretch/sid)だと下記でインストール出来ました.

echo -e "deb http://ppa.launchpad.net/gns3/ppa/ubuntu xenial main\ndeb-src http://ppa.launchpad.net/gns3/ppa/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/gns3.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F88F6D313016330404F710FC9A2FD067A2E3EF7B
sudo apt-get update
sudo apt-get install gns3-gui

VyOSのqemuイメージ作成

こちらを参考に作成します.
qemu関連のパッケージは予めインストールしておいてください.

# ダウンロード
wget http://0.bg.mirrors.vyos.net/iso/release/1.1.7/vyos-1.1.7-amd64.iso

# ストレージ作成
qemu-img create -f vmdk vyos-1.1.7-amd64.img 2G

# 仮想マシン起動
qemu-system-x86_64  -boot d -cdrom ./vyos-1.1.7-amd64.iso -hda vyos-1.1.7-amd64.img -enable-kvm -m 512M -serial mon:stdio

# Qemuの画面が立ち上がるので以下のコマンドを実行
# VyOSのインストール
# 初期設定だとユーザ名・パスワード共に「vyos」です
install image # 基本はデフォルト値のままで大丈夫です.程よくインストール

qemuを再起動し,GNS3で起動するための設定を行います

qemu-system-x86_64 -hda vyos-1.1.7-amd64.img -enable-kvm -m 512M

# macアドレスの初期化
sudo -s
mv /lib/udev/vyatta_net_name /lib/udev/vyatta_net_name.bak
sed -i 's/2367abef/00/g' /lib/udev/rules.d/75-persistent-net-generator.rules
sed -i 's/2367abef/00/g' /lib64/udev/rules.d/75-persistent-net-generator.rules

# ブートオーダの変更
sed -i 's/set default=0/set default=1/g' /boot/grub/grub.cfg

# 起動の待ち時間をなくす
sed -i 's/set timeout=5/set timeout=0/g' /boot/grub/grub.cfg
sed -i 's/interruptible 5/interruptible 0/g' /boot/grub/grub.cfg

GNS3への登録

仮想マシンを停止し,GNSを起動します.

# gns3-guiの実行
gns3

起動すると設定画面が出ます.Local serverを選んでNextへ.

server_select.png

「Add a Qemu virtual machine」を選択してFinishへ.

add_vertuial_machine.png

GNS3へ登録する名前を聞かれますので,適当にVyOSとか入れるといいでしょう.

qemu_vm_name.png

qemuの実行ファイルを聞かれますのでqemu-system-x86_64を選択します.RAMは512MBくらい取ってやると良いかと.

new_vm_template.png

ディスクイメージの場所を聞かれますので,先程作ったvyos-1.1.7-amd64.imgを指定します.デフォルト登録するかと
聞かれるのでYesを選ぶといいでしょう.

choose.png

Finishを選択するとテンプレートの設定画面が出るので,VyOSを選択してEditを選びます.
General settingsのSymbolを「:/symbols/router.svg」へ変更.Categoryを「Routers」にしておくといい感じに表示されます.
NetworkタブのAdaptersを2以上に設定,Advanced settingsタブのOptioindを「-nographic -enable-kvm」に変更します.

後はOKを押すと準備は終了です.

ネットワーク構築

VyOSを使う準備が整ったので,ネットワーク構築に入ります.

機器の配置

以下のネットワークを作成します(マスクは全部255.255.255.0です).PC1からPC2へpingを送るのが目標です.

network.png

画面左上の矢印のマークをクリックすると登録されているルータが表示されますので,ドラッグアンドドロップで2つ並べます.

router.png

次に矢印の2つ下のアイコンをクリックし,ルータと同じ要領でVPCSを2つ配置します.

enddevice.png

一番下のアイコンをクリックして配線を行います.

addlink.png

ここまで終わったら,緑色の三角のアイコンをクリックしてルータとPCを起動しましょう.

IPアドレスの設定

PC設定

PC1を右クリック→Consoleを選択して下記のコマンドを実行します.

ip 192.168.0.1/24 192.168.0.2

PC2も同様に設定します.

ip 192.168.100.1/24 192.168.100.2

ルータの設定

VyOS-1を右クリック→Consoleを選択して下記のコマンドを実行します.

configure
set interfaces ethernet eth0 address '192.168.10.1/24'
set interfaces ethernet eth1 address '192.168.0.2/24'
commit

同様にVyOS-2も設定を入れます.

configure
set interfaces ethernet eth0 address '192.168.10.2/24'
set interfaces ethernet eth1 address '192.168.100.2/24'
commit

IPアドレスの設定ができました.近接したPCとルータ間でpingが通ることを確認してください.
しかしまだPC1-PC2間でpingが通りません.経路の設定を行います.

ルーティング設定

PC1からPC2へpingが通る様にVyOS-1に静的ルーティングの設定を行います.

set protocols static route 192.168.100.0/24 next-hop 192.168.10.2
commit

これでPC2への経路の設定ができました.PC1からpingを打ってみましょう

PC1> ping 192.168.100.1
192.168.100.1 icmp_seq=1 timeout
192.168.100.1 icmp_seq=2 timeout
192.168.100.1 icmp_seq=3 timeout
192.168.100.1 icmp_seq=4 timeout
192.168.100.1 icmp_seq=5 timeout

通りませんね.これはPC2からの応答を行うための経路がVyOS-2に設定されていないためです.Vyos-2にルーティングの設定を行います.

set protocols static route 192.168.0.0/24 next-hop 192.168.10.1
commit

もう一度やってみましょう.

PC1> ping 192.168.100.1
84 bytes from 192.168.100.1 icmp_seq=1 ttl=62 time=0.539 ms
84 bytes from 192.168.100.1 icmp_seq=2 ttl=62 time=0.442 ms
84 bytes from 192.168.100.1 icmp_seq=3 ttl=62 time=0.465 ms
84 bytes from 192.168.100.1 icmp_seq=4 ttl=62 time=0.499 ms
84 bytes from 192.168.100.1 icmp_seq=5 ttl=62 time=0.480 ms

PC2からも試してみます

PC2> ping 192.168.0.1
84 bytes from 192.168.0.1 icmp_seq=1 ttl=62 time=0.389 ms
84 bytes from 192.168.0.1 icmp_seq=2 ttl=62 time=0.538 ms
84 bytes from 192.168.0.1 icmp_seq=3 ttl=62 time=0.379 ms
84 bytes from 192.168.0.1 icmp_seq=4 ttl=62 time=0.386 ms
84 bytes from 192.168.0.1 icmp_seq=5 ttl=62 time=0.535 ms

無事通りました.これで完了です.

17
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
22