前提
VyOSルーター3台を作成+疎通できるようにする(端同士のルーターは疎通出来なくてよいとする)
環境
- Windows10
- VirtualBox 7.0.14
- Vagrant 2.4.1
構成図
今回はPC部分無し。
真ん中のルーター三台を作成する。
左から「vyos1」「vyos2」「vyos3」とする。
Vagrant box 取ってくる
この辺を取ってくる。
Vagrant box vyos/current - Vagrant Cloud
下記コマンドで初期化+Vagrantfile作成
$vagrant init vyos/current
Vagrantfileがあるか確認。
$ ls -al total 16 drwxr-xr-x 1 orin 197121 0 Mar 10 16:34 ./ drwxr-xr-x 1 orin 197121 0 Mar 9 23:49 ../ drwxr-xr-x 1 orin 197121 0 Mar 10 02:08 .vagrant/ -rw-r--r-- 1 orin 197121 4390 Mar 10 08:25 Vagrantfile
Vagrantfileをいじる
今回は三つ作りたいので三台分の設定を書く。
$vim Vagrantfile
以下、設定内容。
Vagrant.configure("2") do |config| # The most common configuration options are documented and commented below. # For a complete reference, please see the online documentation at # https://docs.vagrantup.com. # Every Vagrant development environment requires a box. You can search for # boxes at https://vagrantcloud.com/search. config.vm.box = "vyos/current" config.vm.define :vyos1 do | vyos1 | vyos1.vm.hostname = "vyos1" vyos1.vm.network :private_network, ip: "192.168.0.1" , virtualbox__intnet: "intnet1" vyos1.vm.network :private_network, ip: "192.168.1.254" , virtualbox__intnet: "intnet2" vyos1.ssh.password= "vyos1" end config.vm.define :vyos2 do | vyos2 | vyos2.vm.hostname = "vyos2" vyos2.vm.network :private_network, ip: "192.168.1.1" , virtualbox__intnet: "intnet2" vyos2.vm.network :private_network, ip: "192.168.2.254" , virtualbox__intnet: "intnet1" vyos2.ssh.password= "vyos2" end config.vm.define :vyos3 do | vyos3 | vyos3.vm.hostname = "vyos3" vyos3.vm.network :private_network, ip: "192.168.2.1" , virtualbox__intnet: "intnet1" vyos3.vm.network :private_network, ip: "192.168.3.254" , virtualbox__intnet: "intnet2" vyos3.ssh.password= "vyos3" end . . (中略) . . end
ipアドレスとインターフェースをきちんと書いてみた。
また、鍵認証はうまくいかなかったので、パスワード認証にしてみた。
VM起動
下記コマンドを実行して起動する。
$vagrant up vyos1 $vagrant up vyos2 $vagrant up vyos3
・順に起動したらvyos3だけ上手くいかなかったので追記
先にvyos3を起動してみる。
パスワードを求められるので、設定したパスワードを記入してみて、ダメだったら「vyos」(初期パスワード)を記入。
そしたら起動するはず。
起動したか確認
確認コマンドは以下。
$ vagrant status Current machine states: vyos1 running (virtualbox) vyos2 running (virtualbox) vyos3 running (virtualbox)
vyos2でping確認
vyos2 にSSHログイン
$ vagrant ssh vyos2 Welcome to VyOS! ┌── ┐ . VyOS 1.5-rolling-202403080726 └ ──┘ current * Documentation: https://docs.vyos.io/en/latest * Project news: https://blog.vyos.io * Bug reports: https://vyos.dev You can change this banner using "set system login banner post-login" command. VyOS is a free software distribution that includes multiple components, you can check individual component licenses under /usr/share/doc/*/copyright Last login: Sun Mar 10 06:37:25 2024 from 10.0.2.2 vyos@vyos2:~$
ping を回数制限して実行。
configure コマンドで実行モードになろう。
vyos@vyos2:~$ configure [edit] vyos@vyos2#
vyos1(192.168.1.254) と疎通できるか確認。
vyos@vyos2# ping 192.168.1.254 -c 3 PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data. 64 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=2.28 ms 64 bytes from 192.168.1.254: icmp_seq=2 ttl=64 time=2.32 ms 64 bytes from 192.168.1.254: icmp_seq=3 ttl=64 time=1.98 ms --- 192.168.1.254 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2099ms rtt min/avg/max/mdev = 1.977/2.194/2.321/0.154 ms [edit]
vyos3(192.168.2.1) と疎通できるか確認。
vyos@vyos2# ping 192.168.2.1 -c 3 PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data. 64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=1.52 ms 64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=3.08 ms 64 bytes from 192.168.2.1: icmp_seq=3 ttl=64 time=2.65 ms --- 192.168.2.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2009ms rtt min/avg/max/mdev = 1.520/2.414/3.075/0.656 ms
最後に(感想)
ひとつのVgrantfileで複数台のVMを作成できることを知った。
vyos3 がうまく起動できない謎は残ったままになってしまって残念。
久しぶりにルーター触れて楽しかった。