インフラSEのぼちぼち備忘録

非登録セキスぺの情シスがMicrosoft関連技術(Azure、Windows、Exchange、SystemCenter、SQL、Powershell)を中心とした備忘録を残していきます。圧倒的にインフラよりです。たまにネットワークのことも書きます。※本アカウントの発信内容、その他は所属する組織の見解ではありません。

クライアントHyper-V上とvyOSでネットワーク検証する

最近、子どもの看病やら、自分の体調不良であまりITを触る時間がとれておらず、
流行りの働き方改革を考えないとなぁと思っています。

子育てに力を入れたい⇒ITもこれまで通り検証し続けたい=睡眠時間を削る⇒体調壊した。
うーん。。。やっぱり効率化が必要ですね。


ということで!
"いつでも"、"どこでも"、"短時間で"、ネットワーク系の検証・勉強が可能な環境を整える!

と、考えたところソコソコスペックの高いノートPC上でOSPFやBGPを完結して検証できると便利じゃね?

と思って以下をWindows10のクライアントHyper-Vを利用して短時間で構成できるようにしてみました。

※前提としてHyper-Vの機能を有効化しておく必要があります。

構成の概要

f:id:kurone810:20180605223842p:plain

右側がクライアント、オンプレで左側がDCなどルーティング先のイメージ。

L3はvyOSを利用します。
が、ISOやらイメージファイルをセットすればなんでも使えるよ!

vyOSのコンフィグは自動化しません。
VRRPやOSPF、BGPの検証利用を想定した物理配線の相当まで。

可用性の構成をとったうえで
対象のvyOSのVMをダウンさせて遊ぶといいかなぁ。
なんて。

仮想スイッチの作成

f:id:kurone810:20180605230019p:plain
まずは仮想スイッチを4つ作成しておきます。

New-VMSwitch "内部-LAN-CL" -SwitchType Internal
New-VMSwitch "内部-WAN-1" -SwitchType Internal
New-VMSwitch "内部-WAN-2" -SwitchType Internal
New-VMSwitch "内部-LAN-DC" -SwitchType Internal

vyOS4台分に必要なものを作成してVMを起動する。

パパっとHyper-V用のPowershellの動作確認しながら作ったので・・・(^^)/

せめてISOイメージのpathくらい変数化しとけばよかったなぁとか思いつつ。まだ改善途上の現状提供っす。
f:id:kurone810:20180605232043p:plain

1.VHDファイルを以下のpathに作成します。
C:\Users\Public\Documents\Hyper-V\Virtual hard disks\

2.vyOSは以下のpathのISOを利用しています
D:\OS\vyos-1.1.7-i586-virt.iso


New-VHD -Path "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\vyOS_LAN1.vhdx" -SizeBytes 20GB

New-VHD -Path "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\vyOS_LAN2.vhdx" -SizeBytes 20GB

New-VHD -Path "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\vyOS_DC3.vhdx" -SizeBytes 20GB

New-VHD -Path "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\vyOS_DC4.vhdx" -SizeBytes 20GB


New-VM -Name "vyOS_LAN1" -MemoryStartupBytes 256MB -VHDPath "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\vyOS_LAN1.vhdx" -SwitchName "内部-LAN-CL" -Generation 1 -BootDevice CD
Set-VMDvdDrive "vyOS_LAN1" -Path "D:\OS\vyos-1.1.7-i586-virt.iso"

New-VM -Name "vyOS_LAN2" -MemoryStartupBytes 256MB -VHDPath "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\vyOS_LAN2.vhdx" -SwitchName "内部-LAN-CL" -Generation 1 -BootDevice CD
Set-VMDvdDrive "vyOS_LAN2" -Path "D:\OS\vyos-1.1.7-i586-virt.iso"

New-VM -Name "vyOS_DC3" -MemoryStartupBytes 256MB -VHDPath "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\vyOS_DC3.vhdx" -SwitchName "内部-LAN-DC" -Generation 1 -BootDevice CD
Set-VMDvdDrive "vyOS_DC3" -Path "D:\OS\vyos-1.1.7-i586-virt.iso"

New-VM -Name "vyOS_DC4" -MemoryStartupBytes 256MB -VHDPath "C:\Users\Public\Documents\Hyper-V\Virtual hard disks\vyOS_DC4.vhdx" -SwitchName "内部-LAN-DC" -Generation 1 -BootDevice CD
Set-VMDvdDrive "vyOS_DC4" -Path "D:\OS\vyos-1.1.7-i586-virt.iso"


Add-VMNetworkAdapter "vyOS_LAN1" -Name "アダプターWAN-1"
Connect-VMNetworkAdapter  "vyOS_LAN1" -Name "アダプターWAN-1" -SwitchName "内部-WAN-1"
Rename-VMNetworkAdapter "vyOS_LAN1" -Name "ネットワーク アダプター" -NewName "アダプターLAN-CL"


Add-VMNetworkAdapter "vyOS_LAN2" -Name "アダプターWAN-2"
Connect-VMNetworkAdapter  "vyOS_LAN2" -Name "アダプターWAN-2" -SwitchName "内部-WAN-2"
Rename-VMNetworkAdapter "vyOS_LAN2" -Name "ネットワーク アダプター" -NewName "アダプターLAN-CL"


Add-VMNetworkAdapter "vyOS_DC3" -Name "アダプターWAN-1"
Connect-VMNetworkAdapter  "vyOS_DC3" -Name "アダプターWAN-1" -SwitchName "内部-WAN-1"
Rename-VMNetworkAdapter "vyOS_DC3" -Name "ネットワーク アダプター" -NewName "アダプターLAN-DC"

Add-VMNetworkAdapter "vyOS_DC4" -Name "アダプターWAN-2"
Connect-VMNetworkAdapter  "vyOS_DC4" -Name "アダプターWAN-2" -SwitchName "内部-WAN-2"
Rename-VMNetworkAdapter "vyOS_DC4" -Name "ネットワーク アダプター" -NewName "アダプターLAN-DC"


Get-VM | Where-Object {$_.Name -like "vyOS*"} | Start-VM

Get-VM

ネットワーク検証環境がノートPCで完結するのはいいですね~。

どういうパターンを用意しておくと便利かは奥が深いですが、

他にも何パターンか用意しておいて後で少しだけ必要な構成を追加するのがよさそうですね~。

検証がはかどりそうです!

次回は実際の検証について書いていきたい。