概要
本記事は自宅ラボ構築の第3回で、前回はESXiの展開を行いました。
今回はネットワーク周りの準備を行います。
主に仮想ルーターとしてVyOSを展開する形です。
全記事
- 1回: 構築する環境
- 2回: ベアメタルへESXiをインストール
- 3回: 仮想ルーター (VyOS) の構築 ← 今ココ
- 4回: DNS (Unbound) の構築
- 5回: vCenterの構築
- 6回: Nested ESXiでのvSphereクラスタ構築
対象範囲
本記事では全体構成の以下赤枠の部分を構成します。
※黒くなっているところは未構築
仮想ルーターの構築
以下の順番で実施していきます
- ポートグループの作成
- VyOSのデプロイ
- VyOSの設定
- VyOSを宛先として各マシンへ設定
ポートグループの作成
今回VLANを用いるため、それぞれのポートグループを作成しておきます
- VM Network (VLAN ID: 0)
- デフォルトで存在
- VLAN-1 (VLAN ID: 1)
- VLAN-2 (VLAN ID: 2)
- VLAN-Trunk (VLAN ID: 4095)
VLAN Trunkは本記事では用いませんが、今後Nested構築などでは利用するので合わせて作成しています
VyOSのデプロイ
VyOSのデプロイを行います。
今回は以下画像のようなスペックで展開しています。
重要な点としては、VyOSには各VLANのゲートウェイになってもらうため、NICを3つ搭載してポートグループをそれぞれ割り当てています。
それでは起動してログインを行います。
ログイン情報のデフォルトはvyos/vyosとなります。
ログイン後設定を恒久化するため、以下コマンドを実行しておきます。
install image
いくつか質問が表示されますが、パスワード以外はデフォルトで進めます。
完了したら1度再起動します。
reboot
VyOSの設定
再起動後各種設定を行っていきます。
念の為、以下コマンドにてNICを認識していることを確認しておきます。
show interfaces
行う設定は以下図のようなイメージを目指します。
VLANごとのインターフェイスに.254のアドレスを割り当てます。その上でインターネットへの出口として.0.1のアドレスへ向かうようにします。
IPアドレスの割当
設定モードへ移行します
configure
以下コマンドでインターフェイスごとにIPアドレスを設定します
set interfaces ethernet eth0 address 192.168.0.254/24
set interfaces ethernet eth1 address 192.168.1.254/24
set interfaces ethernet eth2 address 192.168.2.254/24
スタティックルートの設定
知らないネットワークのアドレスは192.168.0.1へ
set protocols static route 0.0.0.0/0 next-hop 192.168.0.1
SNATの設定
.1.0と.2.0のネットワーク上からインターネットへ出られるように設定しておきます
set nat source rule 1 outbound-interface name eth0
set nat source rule 1 source address 192.168.1.0/24
set nat source rule 1 translation address masquerade
set nat source rule 2 outbound-interface name eth0
set nat source rule 2 source address 192.168.2.0/24
set nat source rule 2 translation address masquerade
SSHの有効化
必須ではないが、今後のメンテナンスで便利なので設定
set service ssh
設定の有効化と保存
こちらを忘れると意味がないのできちんとやっておく
commit
save
設定の確認
各コマンドにて設定が反映されていることを確認しておく
show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address MAC VRF MTU S/L Description
----------- ---------------- ----------------- ------- ----- ----- -------------
eth0 192.168.0.254/24 00:0c:29:5a:7e:3c default 1500 u/u
eth1 192.168.1.254/24 00:0c:29:5a:7e:46 default 1500 u/u
eth2 192.168.2.254/24 00:0c:29:5a:7e:50 default 1500 u/u
lo 127.0.0.1/8 00:00:00:00:00:00 default 65536 u/u
::1/128
show nat
source {
rule 1 {
outbound-interface {
name eth0
}
source {
address 192.168.1.0/24
}
translation {
address masquerade
}
}
rule 2 {
outbound-interface {
name eth0
}
source {
address 192.168.2.0/24
}
translation {
address masquerade
}
}
}
以上でVyOSの設定は完了となります。
VyOSを宛先として各マシンへ設定
VyOSを作成しただでは意味がないため、各マシンに設定を施します。
- 作業用のWindows端末
- esxi-00
作業用のWindows端末
今回色々と作業しているWindows端末にVyOSを宛先として登録します。
なお、この端末は普段使いしているため、ゲートウェイをVyOSに依存したくないです。
そのため、スタティックルートとして1.0と2.0のネットワークを登録しておこうと思います。
以下コマンドをWindows端末にて管理者権限のコマンドプロンプトにて実行
route add 192.168.1.0 mask 255.255.255.0 192.168.0.254 -p
route add 192.168.2.0 mask 255.255.255.0 192.168.0.254 -p
その後適当にesxi上にVLAN1やVLAN2のマシンを構築して、疎通ができていればOKです。
tracert 192.168.2.1
192.168.2.1 へのルートをトレースしています。経由するホップ数は最大 30 です
1 11 ms 1 ms <1 ms 192.168.0.254
2 4 ms 1 ms <1 ms 192.168.2.1
トレースを完了しました。
ESXiのデフォルトゲートウェイの設定
ESXiのデフォルトゲートウェイも192.168.0.254にしておきます。
sshで接続して、以下コマンドで設定していきます
esxcli network ip interface ipv4 set --interface-name=vmk0 --ipv4=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.254 --type=static
以下コマンドで設定を確認すると反映されていることが確認できます。
esxcli network ip interface ipv4 get
Name IPv4 Address IPv4 Netmask IPv4 Broadcast Address Type Gateway DHCP DNS
---- ------------- ------------- -------------- ------------ ------------- --------
vmk0 192.168.0.101 255.255.255.0 192.168.0.255 STATIC 192.168.0.254 false
ただし、ここで問題が発生し、どうやら設定上は反映されているように見えていますが、実は疎通できていなかったことが確認されました。
調べた所スタティックルートを指定してあげる必要があるもようです。。。
※CLIではなく、esxiの設定画面から設定した場合は不要
esxcli network ip route ipv4 add -n 0.0.0.0/0 -g 192.168.0.254
まとめ
今回はVyOSを中心としたネットワーク周りの設定を実施しました。
仮想ルーターは初めて触れましたが、思ったより便利でした。
次回はDNSを展開して内向きの名前解決を行える準備を行っていきます。
次の記事はこちら
おまけ
今回最後にWindows端末やESXiのゲートウェイを変更しましたが、元々ある192.168.0.1のゲートウェイにスタティックルートを追加するパターンもありだと思います(最初はそっちも検討していた)
ただし、我が家の192.168.0.1のルーターはスタティックルート等が設定できないルーターのため、今回この構成しか無いかなぁという形でした。
参考にしたサイト