仮想ルータ構築
vyos初期設定
teratermから仮想ルータに接続できるようにvyosの初期設定を行います。なお、ESXiゲートウェイの構成とPCからESXi内部へのルーティング設定が完了していないとteratermからESXiゲートウェイ以外の仮想ルータへの接続はできないので注意が必要です。また、クライアント接続用ルータの構成は個別に記述するのでここでの作業の対象には含みません。
仮想ルータのOS再起動後、vyosアカウントでログインしてインターフェースの状態を確認します。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイのブラウザコンソールで実行】
-----------------------------------------------------------------------------------------------------------------------------
show interfaces

eth0は仮想マシンに割り当てたネットワーク アダプタ 1、eth1はネットワーク アダプタ 2のインターフェースです。編集モードに移行してeth0のIPアドレスとデフォルトゲートウェイを設定します。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイのブラウザコンソールで実行】
-----------------------------------------------------------------------------------------------------------------------------
# 編集モードに遷移
configure
# eth0にIPアドレスとサブネットマスク長を設定
set interfaces ethernet eth0 address <IPアドレス>
# デフォルトゲートウェイに物理ルータのLAN側IPアドレスを設定
set protocols static route 0.0.0.0/0 next-hop <ゲートウェイ>
# 変更を確定
commit
【IPアドレス/ゲートウェイ】
仮想ルータ | 仮想マシン | IPアドレス | ゲートウェイ |
ESXiゲートウェイ#1 | rt001 | 192.168.11.201/24 | 192.168.11.1 |
ESXiゲートウェイ#2 | rt002 | 192.168.11.202/24 | 192.168.11.1 |
本番サイト・ゲートウェイ#1 | rt011 | 172.16.1.111/24 | 172.16.1.10 |
本番サイト・ゲートウェイ#2 | rt012 | 172.16.1.112/24 | 172.16.1.10 |
DRサイト・ゲートウェイ#1 | rt021 | 172.16.1.121/24 | 172.16.1.10 |
PCでコマンドプロンプトを立ち上げrt001、rt002にpingが通ることを確認します。
【PC / コマンドプロンプトから実行】
-----------------------------------------------------------------------------
ping -n 2 <仮想ルータeth0 IPアドレス>
PCからのPING疎通が確認出来たらSSH有効化とホスト名(仮想マシン名と同じ)を設定します。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイのブラウザコンソールで実行】
-----------------------------------------------------------------------------------------------------------------------------
# SSHを有効化
set service ssh
# ホスト名を指定
set system host-name <仮想マシン名>
# 設定変更を確定
commit
# 設定を保存
save
PCでteratermを立ち上げてvyosアカウントで仮想ルータにログインします。

ログインに成功したらESXiのブラウザコンソールは不要です。exitコマンドを繰り返し入力してOSからログアウト、右上化の”×”ボタンをクリックしてブラウザコンソールを閉じます。
eth0/VRRPグループ構成
eth0のVRRPグループを構成します。VRRPグループに定義した仮想IPアドレスはルータの接続に使用されるIPアドレスであり、通常時はMASTER(プライオリティが高いルータ)側、MASTER障害時はBACKUP(プライオリティが低いルータ)側に所有者が切り替わります。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイで実行】
-----------------------------------------------------------------------------
# 編集モードに遷移
configure
# VRRPグループを定義
set high-availability vrrp group <VRRPグループ> vrid <VRID>
# VRRPグループのインターフェースにeth0を設定
set high-availability vrrp group <VRRPグループ> interface eth0
# VRRPグループの仮想IPアドレスを定義
set high-availability vrrp group <VRRPグループ> address <仮想IPアドレス>
# プライオリティを設定
set high-availability vrrp group <VRRPグループ> priority <プライオリティ>
# アドバタイズ間隔(秒単位)を設定
set high-availability vrrp group <VRRPグループ> advertise-interval 1
# 設定変更を確定
commit
【VRRPグループ / VRID / 仮想IPアドレス / プライオリティ】
仮想ルータ | VRRPグループ | VRID | 仮想IPアドレス | プライオリティ |
ESXiゲートウェイ#1 | vlan10 | 10 | 192.168.11.200/24 | 200 |
ESXiゲートウェイ#2 | vlan10 | 10 | 192.168.11.200/24 | 100 |
本番サイト・ゲートウェイ#1 | vlan11 | 11 | 172.16.1.110/24 | 200 |
本番サイト・ゲートウェイ#2 | vlan11 | 11 | 172.16.1.110/24 | 100 |
DRサイト・ゲートウェイ#1 | vlan12 | 12 | 172.16.1.120/24 | 200 |
MASTER、BACKUPの両方の仮想ルータ(DRサイト・ゲートウェイはMASTERのみ)からeth0に割り当てた仮想IPアドレスへのping疎通が確認できたら設定内容を保存します。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイで実行】
-----------------------------------------------------------------------------
ping -c 2 <eth0 仮想IPアドレス>
save
eth1/IPアドレス、VRRPグループ構成
eth1にIPアドレスを設定してVRRPグループを構成します。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイで実行】
-----------------------------------------------------------------------------
# eth1にIPアドレスを定義
set interfaces ethernet eth1 address <IPアドレス>
# VRRPグループを定義
set high-availability vrrp group <VRRPグループ> vrid <VRID>
# VRRPグループのインターフェースにeth1を設定
set high-availability vrrp group <VRRPグループ> interface eth1
# VRRPグループの仮想IPアドレスを定義
set high-availability vrrp group <VRRPグループ> address <仮想IPアドレス>
# プライオリティを設定
set high-availability vrrp group <VRRPグループ> priority <プライオリティ>
# アドバタイズ間隔(秒単位)を設定
set high-availability vrrp group <VRRPグループ> advertise-interval 1
# 設定変更を確定
commit
【VRRPグループ / VRID / 仮想IPアドレス / プライオリティ】
仮想ルータ | IPアドレス | VRRPグループ | VRID | 仮想IPアドレス | プライオリティ |
ESXiゲートウェイ#1 | 172.16.1.11/24 | vlan20 | 20 | 172.16.1.10/24 | 200 |
ESXiゲートウェイ#2 | 172.16.1.12/24 | vlan20 | 20 | 172.16.1.10/24 | 100 |
本番サイト・ゲートウェイ#1 | 172.16.10.1/24 | vlan21 | 21 | 172.16.10.254/24 | 200 |
本番サイト・ゲートウェイ#2 | 172.16.10.2/24 | vlan21 | 21 | 172.16.10.254/24 | 100 |
DRサイト・ゲートウェイ#1 | 172.16.20.1/24 | vlan22 | 22 | 172.16.20.254/24 | 200 |
MASTER、BACKUPの両方の仮想ルータ(DRサイト・ゲートウェイはMASTERのみ)からeth1に割り当てたIPアドレス、仮想IPアドレスへのping疎通が確認できたら設定内容を保存して編集モードを終了します。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイで実行】
-----------------------------------------------------------------------------
ping -c 2 <eth1 IPアドレス>
ping -c 2 <eth1 仮想IPアドレス>
save
exit
“show vrrp”コマンドでVRRPの状態を確認します。プライオリティを高く設定した仮想ルータのStateがMASTER、プライオリティを低く設定した仮想ルータのStateがBACKUPとなっていればOKです。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイで実行】
-----------------------------------------------------------------------------
show vrrp
-----------------------------------------------------------------------------
【ESXiゲートウェイ#1 実行結果】
-----------------------------------------------------------------------------
vyos@rt001:~$ show vrrp
Name Interface VRID State Priority Last Transition
------ ----------- ------ ------- ---------- -----------------
vlan10 eth0 10 MASTER 200 1m23s
vlan20 eth1 20 MASTER 200 1m20s
vyos@rt001:~$
-----------------------------------------------------------------------------
【ESXiゲートウェイ#2 実行結果】
-----------------------------------------------------------------------------
vyos@rt002:~$ show vrrp
Name Interface VRID State Priority Last Transition
------ ----------- ------ ------- ---------- -----------------
vlan10 eth0 10 BACKUP 100 42s
vlan20 eth1 20 BACKUP 100 42s
vyos@rt002:~$
VRRP同期グループ設定
eth0、eth1のVRRPグループは構成しましたが、各インターフェースのVRRPグループはそれぞれ個別に機能している状態です。
この状態ではどちらかのインターフェースに障害が発生した場合、そのインターフェースの仮想IPアドレスのみがMASTERからBACKUP側に切り替わり、もう片方のインターフェースの仮想IPアドレスはMASTER側に残ったままとなってしいます。
そこで同期グループを定義してMASTER側の片方のインターフェースに障害が発生した場合は両方のインターフェースの仮想IPアドレスがBACKUP側に切り替わるように設定します。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイで実行】
-----------------------------------------------------------------------------
# 編集モードに遷移
configure
# 高可用性VRRPの編集
edit high-availability vrrp
# 同期グループMAINのメンバーにeth0 VRRPグループを設定
set sync-group MAIN member <eth0 VRRPグループ>
# 同期グループMAINのメンバーにeth1 VRRPグループを設定
set sync-group MAIN member <eth1 VRRPグループ>
# 設定変更を確定
commit
# 設定を保存
save
【eth0 VRRPグループ / eth1 VRRPグループ】
仮想ルータ | eth0 VRRPグループ | eth1 VRRPグループ |
ESXiゲートウェイ#1、#2 | vlan10 | vlan20 |
本番サイト・ゲートウェイ#1、#2 | vlan11 | vlan21 |
DRサイト・ゲートウェイ#1 | vlan12 | vlan22 |
DNS設定
仮想ルータにDNSを設定してDNSフォワーダーを構成します。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイで実行】
-----------------------------------------------------------------------------
# 仮想ルータのDNSを設定(ESXiゲートウェイはDNSサーバ 1のみ設定)
set system name-server <DNSサーバ 1>
set system name-server <DNSサーバ 2>
# DNSクエリ転送先に仮想ルータ自身のDNSを設定
set service dns forwarding system
# DNSクエリをリスニングするIPアドレスを設定
set service dns forwarding listen-address <eth1 IPアドレス>
set service dns forwarding listen-address <eth1 仮想IPアドレス>
# DNSクエリのリクエストを許可するクライアントを指定
set service dns forwarding allow-from <クライアントIPアドレス>
# 設定変更を確定
commit
【DNSサーバ / eth1 IPアドレス / th1 仮想IPアドレス / クライアントIPアドレス】
仮想ルータ | DNSサーバ 1 | DNSサーバ 2 | eth1 IPアドレス | eth1 仮想IPアドレス | クライアントIPアドレス |
ESXiゲートウェイ#1 | 192.168.11.1 | – | 172.16.1.11 | 172.16.1.10 | 172.16.0.0/16 |
ESXiゲートウェイ#2 | 192.168.11.1 | – | 172.16.1.12 | 172.16.1.10 | 172.16.0.0/16 |
本番サイト・ゲートウェイ#1 | 172.16.1.11 | 172.16.1.12 | 172.16.10.1 | 172.16.10.254 | 172.16.10.0/24 |
本番サイト・ゲートウェイ#2 | 172.16.1.11 | 172.16.1.12 | 172.16.10.2 | 172.16.10.254 | 172.16.10.0/24 |
DRサイト・ゲートウェイ#1 | 172.16.1.11 | 172.16.1.12 | 172.16.20.1 | 172.16.20.254 | 172.16.20.0/24 |
nslookupコマンドでNICT公開NTPの名前解決ができることを確認し、問題がなければ設定を保存します。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイで実行】
-----------------------------------------------------------------------------
nslookup ntp.nict.jp
save
NTP設定
仮想ルータのNTP(chrony)を設定します。ESXiゲートウェイはNTPサーバをNICT公開NTPに、NTPクライアントをESXi内部に設定します。ESXiゲートウェイ以外の仮想ルータはNTPサーバをESXiゲートウェイ、NTPクライアントは設定しません。
【ESXiゲートウェイで実行】
-----------------------------------------------------------------------------
# NTPの設定を削除
delete service ntp
# 上位NTPサーバを指定
set service ntp server ntp.nict.jp pool
# 時刻問合せを許可するクライアントのネットワークを指定
set service ntp allow-client address 172.16.0.0/16
# 設定変更を確定
commit
-----------------------------------------------------------------------------
【本番サイト・ゲートウェイ、DRサイト・ゲートウェイで実行】
-----------------------------------------------------------------------------
# NTPの設定を削除
delete service ntp
# 上位NTPサーバを指定(172.16.1.12に優先して時刻同期)
set service ntp server 172.16.1.11
set service ntp server 172.16.1.12 prefer
# 設定変更を確定
commit
chronyを再起動してNTPの設定を反映します。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイで実行】
-----------------------------------------------------------------------------
sudo su - -c 'systemctl restart chrony.service'
時刻同期の状況を確認します。ESXiゲートウェイはNICT公開NTPのどれか、ESXiゲートウェイ以外の仮想ルータはESXiゲートウェイ#2と時刻同期(MSに”^*”と表示)できていればOKです。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイで実行】
-----------------------------------------------------------------------------
chronyc sources
-----------------------------------------------------------------------------
【ESXiゲートウェイ#1の実行結果】
-----------------------------------------------------------------------------
vyos@rt001# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp-a3.nict.go.jp 1 6 17 12 -124us[ -176us] +/- 2900us
^+ ntp-b2.nict.go.jp 1 6 17 12 +44us[-3419ns] +/- 2881us
^+ ntp-k1.nict.jp 1 6 17 12 +130us[ +81us] +/- 7594us
^+ ntp-a2.nict.go.jp 1 6 17 12 +19us[ -33us] +/- 2775us
[edit]
vyos@rt001#
-----------------------------------------------------------------------------
【本番サイト・ゲートウェイ#1の実行結果】
-----------------------------------------------------------------------------
vyos@rt011# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- 172.16.1.11 2 6 17 34 -44us[ -44us] +/- 4071us
^* 172.16.1.12 2 6 17 35 +2800ns[+2264ns] +/- 3939us
[edit]
vyos@rt011#
時刻同期が正常にできていることを確認できたら設定を保存します。
【ESXiゲートウェイ、本番サイト・ゲートウェイ、DRサイト・ゲートウェイで実行】
-----------------------------------------------------------------------------
save
ルーティング設定
各仮想ルータはESXi Rootng Networkを通して互いに通信が可能です。ただし本番サイト管理用ネットワーク、DRサイト管理用ネットワークはそのサイトのゲートウェイとなっている仮想ルータしか知らないので他のルータからのルーティングができません。そこで各ルータにルーティング情報を追加してすべてのネットワーク間での通信が可能となるよう設定します。
ESXiゲートウェイ・ルーティング設定
ESXiゲートウェイに本番サイト、DRサイトの管理ネットワークへのスタティック・ルートを設定します。
【ESXiゲートウェイで実行】
-----------------------------------------------------------------------------
configure
set protocols static route 172.16.10.0/24 next-hop 172.16.1.110
set protocols static route 172.16.20.0/24 next-hop 172.16.1.120
commit
save
PCのコマンドプロンプトから本番サイト・ゲートウェイ、DRサイト・ゲートウェイそれぞれのeth1 仮想IPアドレスにping疎通できることを確認します。
【PCから実行】
-----------------------------------------------------------------------------
ping /n 2 172.16.10.254
ping /n 2 172.16.20.254
本番サイト・ゲートウェイ・ルーティング設定
本番サイト・ゲートウェイにDRサイト・管理ネットワークへのスタティック・ルートを設定して経路が切り替わっていることを確認します。
【本番サイト・ゲートウェイで設定】
-----------------------------------------------------------------------------
configure
# スタティック・ルート追加前の経路を確認
traceroute 172.16.20.254
set protocols static route 172.16.20.0/24 next-hop 172.16.1.120
commit
# スタティック・ルート追加後の経路を確認
traceroute 172.16.20.254
save
DRサイト・ゲートウェイのルーティング設定
DRサイト・ゲートウェイに本番サイト管理ネットワークへのスタティック・ルートを設定して経路が切り替わっていることを確認します。
【DRサイト・ゲートウェイで設定】
-----------------------------------------------------------------------------
configure
# スタティック・ルート追加前の経路
traceroute 172.16.10.254
set protocols static route 172.16.10.0/24 next-hop 172.16.1.110
commit
# スタティック・ルート追加後の経路
traceroute 172.16.10.254
save
クライアント接続用仮想ルータ設定
仮想マシンのインストール後、以下の通り設定して保存します。
【rt111で設定】
-----------------------------------------------------------------------------
configure
set interfaces ethernet eth0 address 172.16.110.1/24
set interfaces ethernet eth1 address 172.16.120.1/24
set interfaces ethernet eth2 address 172.16.130.1/24
set interfaces ethernet eth3 address 172.16.1.222/24
set protocols static route 0.0.0.0/0 next-hop 172.16.1.10
set service ssh
set system host-name rt111
set system name-server 172.16.1.11
set system name-server 172.16.1.12
commit
save
仮想ルータの設定は以上です。最後にopen-vm-toolsのインストールを行います。
コメント