Loading
BLOG 開発者ブログ

2020年12月5日

ESXi内のルーティングに必須!VyOSで仮想ルーター構築

ESXi内でのルーティングを VyOS というソフトウェアルーターを使って実現する方法をお伝えします。

この記事は アイソルート Advent Calendar 2020 5日目の記事です。

 

 

こんにちは。プラットフォームソリューショングループのsuzuki.koです。

私はESXiを使って日々検証環境を構築していますが、その中でも必須の機器が 仮想ルーター です。

仮想ルーターの構築をマスターすることで、検証環境のネットワーク構成を 自由自在に操れる ようになります。

今回はソフトウェアルーターである VyOS を使って、ESXi内でルーティングを行う方法をお伝えします。

 
 

目次

 
 

VyOSとは

先ほどから名前を出している VyOS とは、​オープンソースのネットワークオペレーティングシステムです。

今回はルーターとして利用しますが、他にもたくさんの機能があるようです。

 

https://www.vyos.io/

ISOダウンロード

 

Linuxベースで開発されているようですが、ネットワーク機器のような操作感で設定することできます。

詳しくは構築パートで紹介します。

 

なぜVyOSが必要なのか

私は検証環境の構築にESXiを利用しています。

ESXiとは仮想マシンを複数立ち上げることのできるハイパーバイザーですが、 内部でルーティングをする機能を持っていません

そのためVLANを超えた通信を行うためには、ルーティング機能を持つ仮想マシンを立ち上げる必要があります。

 

 

そしてこの「ルーティング機能を持つ仮想マシン」としてVyOSが必要になるというわけです。

 
 

仮想ルーター構築準備

それではさっそくVyOSでルーターを構築していきましょう。

前提としてVMの立ち上げ、IP設定、GW設定などは完了し、ルーターを設定すればpingによる疎通は可能な状態であるとします。

 

動作環境

検証環境の作成にはESXi、を利用します。各種バージョンは以下の通りです。

  • ハイパーバイザ
    • VMware ESXi 6.7.0 Update 2 (build-13006603)
  • 仮想ルーター
    • VyOS 1.3-rolling-202002180217
  • Client
    • CentOS Linux release 8.2.2004 (Core)
  • Server
    • CentOS Linux release 8.2.2004 (Core)

VyOSは最新版の1.3を使っていますが、本格的に使う場合はLTSの1.2系を使った方がいいかもしれません。

 

ネットワーク構成

今回のネットワーク構成はこちらです。

 

 

そして

  • Step1:Client (192.168.10.10) からServer (192.168.20.200) へpingが成功すること。
  • Step2:Client (192.168.10.10) からインターネット上のGoogle (8.8.8.8)に対してpingが成功すること。

というところを目標に構築していこうと思います。

 

イメージのインストール

VyOSを立ち上げたらまずやらなければいけないことが イメージのインストール です。

isoファイルからbootしている状態でも、設定や利用が可能なのですが、再起動をすると 全ての設定が消えてしまいます

 

悲しいことにならないように、忘れず最初にイメージのインストールを行ってください。

セットアップに必要な質問をいくつかされるので適当な答えを入力しましょう。

 

インストールが完了したら再起動しておきます。

 

初期設定の確認

初期の設定とステータスを確認します。

確認にはciscoコマンドによく似た「show 〇〇」というコマンドを使います。

 

初期config (※ダブルクリックすると全文が確認できます。)

インターフェース

ルーティングテーブル

 
 

ClientからServerへのルーティング

  • Step1:Client (192.168.10.10) からServer (192.168.20.200) へpingが成功すること。

となるよう構築を行います。

 
 

 
 

インターフェースにIPを振るだけのシンプルなものです。

 

構築

まず設定モードに入ります。

setコマンドでアドレスを付与してあげます。ついでにコメントも記述します。

設定を保存します。

これで設定完了です。確認してみましょう

 

config (※ダブルクリックすると全文が確認できます。)

インターフェース

ルーティングテーブル

 

疎通確認

Clientからpingで疎通確認を行います。

疎通が取れていることが確認できますね。

 
 

ClientからInternetへのルーティング

では次に

  • Step2:Client (192.168.10.10) からインターネット上のGoogle (8.8.8.8)に対してpingが成功すること。

となるよう構築を行います。

 
 

 
 

この時忘れてはいけないのが、 NAT の設定を行うことです。

 

NATとは

NAT(Network Address Translation)とはルーターなどで IPアドレスを変換する技術 です。

インターネットと通信するときにローカルIPをグローバルIPに変換するというのが一番メジャーな利用ポイントでしょう。

ルーティングという技術には 来た道を戻るという機能が含まれていない ため、

IPアドレスを変換しなければインターネット上に出た通信は 帰ってくることができません

 
 

 
 

同じ理屈で今回の 検証環境のInternetルーター はClientのいる 192.168.10.0/24に通信を返すことができない ため、

VyOSで 192.168.10.0/24 → 10.0.0.100 となるようにNATする必要があります。

 

構築

では上記NATも踏まえて設定していきます。

設定モードに入ります。

setコマンドでアドレスの設定を行います。今回はDHCPで取得します。

NAT設定を行います。

設定を保存します。

これで設定完了です。確認してみましょう

 

config (※ダブルクリックすると全文が確認できます。)

インターフェース

ルーティングテーブル

 

疎通確認

pingで疎通確認を行います。

こちらも疎通が取れていますね!

 

設定後Config

最後に設定後のConfig全文を展開しておきます。

参考にしてください。(※ダブルクリックすると全文が確認できます。)

 
 

さいごに

今回はVyOSの構築についてお伝えしました。

これで自由なセグメント帯、IPアドレスで検証環境を作成できるようになりましたね。

お客様の環境をできる限り再現して事前検証を入念に行うことで、より品質の高い成果物を作成することができます。

このような地道な準備を怠らずに、信用されるエンジニアになっていきたいですね!

 

明日の記事は watanabe.t さんによる AWSで基本的なWebアプリを構築するときのアーキテクチャ3パターンです、お楽しみに!