はじめに
ESXi内部、複数PortGroup間で通信したいな。。。
そうだ、VyOSでESXiにルーター構築しよう!
(いままで、Ubuntu22.04のiptablesでNATやNAPTしてたけど、
ルーターOS使ってみたかったというのが本音)
目的
VyOSをルータとして、ESXiのPortGroup間で通信できる、インターネットに接続できるように構築する
環境
インターネット接続ネットワークは 192.168.0.0/24
デフォルトゲートウェイは 192.168.0.1
内部ネットワークは2つ Inner10(VLAN110): 10.10.10.0/24
、Inner20(VLAN120): 10.10.20.0/24
を PortGroup として用意する
内部ネットワークからインターネット接続ネットワークへは VyOS上で、NAPT(IPマスカレード) を使用
EXSi上でVyOS1.3をインストールし、vyos01
とする
VyOSのインストールは以下の記事を参照
→ 【2023年8月版】VyOSインストールiso作成から、ESXi7/8へのインストール
vyos01
上には、インターネット接続ネットワークとして eth0
、内部ネットワークとして eth1
, eth2
を割り当てる
ユーザは vyos
を利用
DNSは Google(8.8.8.8)
を利用
NTPは ntp.nict.jp
を利用
IPv6は利用しない
インターフェイスの設定
eth0, eth1, eth2 にIPアドレスを設定
デフォルトゲートウェイを設定
DNSを設定
$ conf
# set system host-name vyos01
# set interfaces ethernet eth0 address 192.168.0.10/24
# set interfaces ethernet eth1 address 10.10.10.254/24
# set interfaces ethernet eth1 address 10.10.20.254/24
# set protocols static route 0.0.0.0/0 next-hop 192.168.0.1
# set system name-server '8.8.8.8'
# commit
# save
# exit
IPv6の無効化
$ conf
# set system ipv6 disable
# commit
# save
# exit
タイムゾーンの設定
$ conf
# set system time-zone 'Asia/Tokyo'
# commit
# save
# exit
SSH の設定
ssh を有効化
ssh のポートを変更
vyos ユーザの公開鍵を設定
vyos ユーザの公開鍵を ssh-rsa に設定
ssh のパスワード認証を無効化
$ conf
# set service ssh
# set service ssh port 20221
# set system login user vyos authentication public-keys 'admin' key 'AAA...='
# set system login user vyos authentication public-keys 'admin' type 'ssh-rsa'
# set service ssh disable-password-authentication
# commit
# save
# exit
NAPT(IPマスカレード) の設定
NAPTの外側インターフェイスを eth0 に設定
受け付けるアドレスを設定
マスカレードを設定
$ conf
# set nat source rule 1 outbound-interface eth0
# set nat source rule 1 source address 10.10.10.0/24
# set nat source rule 1 translation address masquerade
# set nat source rule 2 outbound-interface eth0
# set nat source rule 2 source address 10.10.20.0/24
# set nat source rule 2 translation address masquerade
# commit
# save
# exit
NAT の設定(必要であれば)
SSHを ProxyCommand で多段接続できるなら必要ない
NATの内側インターフェイスを eth0 に設定
受け付けるポートを設定
受け付けるプロトコルを設定
転送先アドレスを設定
転送先ポートを設定
$ conf
# set nat destination rule 2 inbound-interface 'eth0'
# set nat destination rule 2 destination port '22'
# set nat destination rule 2 protocol 'tcp'
# set nat destination rule 2 translation address '10.10.10.10'
# set nat destination rule 2 translation port '22'
# commit
# save
# exit
NAT の状況確認
$ show nat source translations detail
$ show nat destination translations detail
NTP の設定
$ conf
# delete system ntp server
# set system ntp server ntp.nict.jp
# commit
# save
# exit
$ show ntp
静的ホストマッピング
/etc/hostsに記入と同じく、IPアドレスとホスト名をマッチングさせる
ここでは host1
を 192.168.0.101
にマッピング
$ conf
# set system static-host-mapping host-name host1 inet 10.10.10.10
# set system static-host-mapping host-name host2 inet 10.10.10.11
# set system static-host-mapping host-name host3 inet 10.10.10.12
# set system static-host-mapping host-name host4 inet 10.10.20.10
# set system static-host-mapping host-name host5 inet 10.10.20.11
# set system static-host-mapping host-name host6 inet 10.10.20.12
# commit
# save
# exit
静的ルーティング
$ conf
# set protocols static route 10.10.10.0/24 next-hop 10.10.10.254
# set protocols static route 10.10.20.0/24 next-hop 10.10.20.254
# commit
# save
# exit
構成のバックアップとレストア
- 手動によるバックアップとレストア
- save / load コマンドによるバックアップとレストア
手動によるバックアップとレストア
バックアップ
$ show configuration commands > configuration.20230809
レストア
$ conf
#
configuration.20230809の内容をペースト
:
:
# commit
# save
# exit
save / load コマンドによるバックアップとレストア
バックアップ
$ conf
# save configuration.20230809
# exit
レストア
$ conf
# load configuration.20230809
# exit
さいごに
かんたんでしたね