無料で利用できる仮想ルータとして有名なものに「VyOS」があります。
※以前はvYattaという名前でしたが、色々あってVyOSになったようです。
VyOSはOSSなのにかなり高機能でネットワークの勉強などでも利用することができます。
今回は、Windows10のHyper-V上にVyOSを構築してみます。
1. VyOSのダウンロード
以下のVyOS公式のサイトからイメージをダウンロードします。
https://vyos.io/
downloadかLTS Releaseの部分をクリックし、Free of ChargeのページからISOをダウンロードしてきます。



2. Hyper-VでISOから仮想マシンクイック作成
次にダウンロードしたISOイメージから仮想マシンを作成します。

ローカルインストール元から先ほどダウンロードしたISOファイルを選択

「この仮想マシンでは、Windowsを実行します」のチェックを外して作成します。

仮想マシンが作成されます。「新しい仮想マシン」という名前なので「VyOS」に変更します。

3. 今回のネットワーク構成
我が家では192.168.10.0/24のネットワークにつながっています。
今回はVyOSに4つのインターフェースを追加して、それを全て家のネットワークに接続します。
割当てるIPアドレスは「192.168.10.50~53」としています。
4. Hyper-Vネットワークアダプタの追加
最初の段階ではネットワークアダプタは1つだけなので、Hyper-V側でネットワークアダプターを追加します。繰り替えして合計4つのアダプターを作成します。


5. VyOS側の設定設定
そうしましたらいよいよVyOSを起動します。
起動すると以下の画面のようになります。

ユーザーとパスワードは「vyos」になります。

まずはインターフェースにIPアドレスを設定します。以下のコマンドを実行します。
commitしないと設定が反映されません。
$ configure
# set interfaces ethernet eth0 address 192.168.10.50/24
# set interfaces ethernet eth1 address 192.168.10.51/24
# set interfaces ethernet eth2 address 192.168.10.52/24
# set interfaces ethernet eth3 address 192.168.10.53/24
# commit
# show interfaces
# save
最終的に以下の様な設定になります。

6. 動作確認
それぞれのインターフェース(192.168.10.50~53)にpingして応答があることを確認します。
7. その他(snmpの設定)
今回はsnmpのテストをしたかったので、snmpの設定をしておきます。
# set service snmp community public
# commit
# show service snmp
# save

別LinuxPCからsnmpwalkコマンドで値がかえって来ることを確認します。
[root@centos7 ~]# snmpwalk -v 2c -c public 192.168.10.50
SNMPv2-MIB::sysDescr.0 = STRING: VyOS 1.4-rolling-202209031636
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.44641DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (165483) 0:27:34.83
SNMPv2-MIB::sysContact.0 = STRING: root
SNMPv2-MIB::sysName.0 = STRING: vyos
SNMPv2-MIB::sysLocation.0 = STRING: Unknown
SNMPv2-MIB::sysServices.0 = INTEGER: 14
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (3) 0:00:00.03
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
PowerShellの学習におすすめの書籍
私も実際に持っていますが、間違いなくこの本はオススメできます。PowerShellの基礎と応用まで幅広くりかいすることができます。

今回は以上となります。
コメント