メモのページ - チラシの裏メモ 3枚目

通信技術や気になった事を黙々とメモし続ける

YAMAHAの仮想ルータ vRX for VMware ESXiを試用する - VyOSと接続編

9月中旬にYAMAHAのソフトウェアルータであるYAMAHA vRXをVMware ESXiにデプロイしトライアルライセンスを適用させてから時々いじって遊んでいたが、3ヶ月間の試用期間はあっという間で、今月末をもってトライアルライセンスが期限切れとなり試用期間が終わる。
今回の記事は、是非ともやってみたかった他社製品との間でVPNやL3ルーティングの接続をするという内容。YAMAHA vRXの拠点間通信の対向先としてソフトウェアルータVyOS 1.5を使用し、OSPFのネイバを張らせただけでなく拠点間のVPN通信も確立させてみた。

Rollingバージョンであれば無料でインストーラをダウンロード出来て、比較的に高機能で動作が軽く非常に使い勝手が良いVyOSなのだが、設定コマンドの構文が変わるという稀に遭遇する罠に嵌って、過去の記事の内容や他の方々が公開してくださっている内容を参照しサクッと設定投入を終わらせる事が出来なかった。嵌った箇所は後述する。
尚、VMware ESXiのインストールやYAMAHA vRXのデプロイおよび初期設定に関しては、当記事の下部に有る「関連記事」を参照。


IPsec VPNとは
ネットワーク層レベルでパケットの暗号化や認証を行い、接続先の間で安全な通信を行うためのプロトコルである。接続先との間でIPsec VPNの接続が確立すると、仮想的に接続先と直結するような形となる。
IPsec VPNは各拠点のLANを接続するセキュリティ性の高い方式である為、非常に多くの企業や団体等の主回線や今ではゼロトラストネットワークのバックアップ回線として導入されている。


当方の環境
ホスト機:macOS 14.1.1 / MacBook Pro 2020 / RAM: 16GB / CPU: Intel Core i5 2.0GHz
VMware Fusion 12.2.5
VMware ESXi 7.0U3n
ゲスト機:YAMAHA vRX 19.01.09
Virtualbox 7.0.10 r158379
ゲスト機:VyOS 1.5-rolling-202311090023


今回の構成
YAMAHA vRXの接続先として、今年の9月に公開が開始されたVyOSのバージョン1.5を使用。OpenBSD(jpmtkvmsv98)とVyOS(jpmtkvmrt98)が居る拠点をユーザサイト、YAMAHA vRX(jpmtkvmrt99)とAlpine Linux(jpmtkvmsv99)が居る拠点をデータセンタとした。OpenBSDとAlpine Linuxは既にインストールやデプロイ、対向先との間の通信の設定等は既に完了した状態である。
VyOSのVirtualBoxへのデプロイ手順に関しては、当記事では割愛する。


至側(YAMAHA vRX)の設定前のConfigは以下のとおり。
コマンド実行後に2バイトの文字を吐かないよう、console character en.asciiを投入している。

jpmtkvmrt99# show config 
# vRX Rev.19.01.09 (Mon Dec 13 20:58:00 2021) ** Compact Mode **
# MAC Address : 00:0c:29:96:d7:cc, 00:0c:29:96:d7:d6
# Memory 3778Mbytes, 4LAN
# main:  vRX MAC-Address=00:0c:29:96:d7:cc MAC-Address=00:0c:29:96:d7:d6
# Reporting Date: Nov 11 21:16:32 2023
administrator password encrypted *
login user hoge *
console character en.ascii
console prompt jpmtkvmrt99
vrx user jpmtkvmrt99 *
ip route default gateway 192.168.3.98
ip lan1 address 192.168.200.1/24
ip lan2 address 192.168.3.99/24
ip loopback1 address 10.1.1.99/32
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.200.2-192.168.200.10/24
dns server 8.8.8.8
sshd service on
sshd host key generate *


自側(VyOS)の設定前のConfigは以下のとおり。
sshでログイン可能なところまでは設定投入が完了している。

vyos@jpmtkvmrt98:~$ show configuration 
interfaces {
    ethernet eth0 {
        address 192.168.3.98/24
        hw-id 08:00:27:ff:cb:8b
    }
    ethernet eth1 {
        address 192.168.100.1/24
        hw-id 08:00:27:32:0f:70
    }
    ethernet eth2 {
        hw-id 08:00:27:e9:cc:0c
    }
    loopback lo {
        address 10.1.1.98/32
    }
}
protocols {
    static {
        route 0.0.0.0/0 {
            next-hop 192.168.3.1 {
            }
        }
    }
}
service {
    ntp {
        allow-client {
            address 0.0.0.0/0
            address ::/0
        }
        server ntp.nict.jp {
        }
    }
    ssh {
    }
}
system {
    config-management {
        commit-revisions 100
    }
    conntrack {
        modules {
            ftp
            h323
            nfs
            pptp
            sip
            sqlnet
            tftp
        }
    }
    console {
        device ttyS0 {
            speed 115200
        }
    }
    domain-name mydns.jp
    host-name jpmtkvmrt98
    login {
        user vyos {
            authentication {
                encrypted-password ****************
            }
        }
    }
    name-server 8.8.8.8
    syslog {
        global {
            facility all {
                level info
            }
            facility local7 {
                level debug
            }
        }
    }
    time-zone Asia/Tokyo
}
vyos@jpmtkvmrt98:~$ 

 
 
至側(YAMAHA vRX)の設定

1. IPSecとトンネルの設定
暗号化方式をAES(おそらく128ビット)とした。トライ&エラーの連続で思っていた以上に苦戦したが、以下で落ち着いた。VyOSとは異なり設定コマンドの行数が圧倒的に少ないので心配になるが、Ciscoのルータも基本的な設定であればこんな感じの量である。

jpmtkvmrt99> administrator
Password:
jpmtkvmrt99# 
jpmtkvmrt99# tunnel select 1 
jpmtkvmrt99tunnel1# ipsec tunnel 1
jpmtkvmrt99tunnel1# ipsec sa policy 1 1 esp aes-cbc md5-hmac
jpmtkvmrt99tunnel1# ipsec ike version 1 1
jpmtkvmrt99tunnel1# ipsec ike local address 1 192.168.3.99
jpmtkvmrt99tunnel1# ipsec ike backward-compatibility 1 1
jpmtkvmrt99tunnel1# ipsec ike remote address 1 192.168.3.98
jpmtkvmrt99tunnel1# ipsec ike pre-shared-key 1 text PreSharedKey
jpmtkvmrt99tunnel1# ipsec ike remote name 1 TEST key-id
jpmtkvmrt99tunnel1# ip tunnel tcp mss limit auto
jpmtkvmrt99tunnel1# tunnel enable 1 
jpmtkvmrt99tunnel1# tunnel select none 
jpmtkvmrt99# ipsec auto refresh on
jpmtkvmrt99# ipsec use on
jpmtkvmrt99# 
jpmtkvmrt99# ip route 192.168.100.0/24 gateway tunnel 1
jpmtkvmrt99# 


2. OSPFの設定
VyOSやCisco等のルータとは異なり、細かな設定は出来ない。
YAMAHA vRXの設定はこれで終わりである為、最後にsaveコマンドを叩き設定内容を保存する。

jpmtkvmrt99# 
jpmtkvmrt99# ospf use on
jpmtkvmrt99# ospf router id 10.1.1.99
jpmtkvmrt99# ospf import from static
jpmtkvmrt99# ospf area backbone
jpmtkvmrt99# 
jpmtkvmrt99# ip lan1 ospf area backbone
jpmtkvmrt99# ip lan2 ospf area backbone
jpmtkvmrt99# 
jpmtkvmrt99# save 
Saving ... CONFIG0 Done .
jpmtkvmrt99# 

 
 
自側(VyOS)の設定

1. IPSecの設定
以下はESPプロポーザルの設定。今回はESPグループ名はESP-TEST、暗号化方式は対向先のYAMAHA vRXに合わせてAES128とした。
set vpn ipsec esp-group ESP-TEST mode tunnelを最初に投入しないと他のESP周りの設定が弾かれる為、設定コマンドの投入順に注意。

vyos@jpmtkvmrt98:~$ configure 
[edit]
vyos@jpmtkvmrt98# 
[edit]
vyos@jpmtkvmrt98# set vpn ipsec esp-group ESP-TEST mode tunnel
[edit]
vyos@jpmtkvmrt98# set vpn ipsec esp-group ESP-TEST pfs enable
[edit]
vyos@jpmtkvmrt98# set vpn ipsec esp-group ESP-TEST lifetime 3600
[edit]
vyos@jpmtkvmrt98# set vpn ipsec esp-group ESP-TEST proposal 1 encryption aes128
[edit]
vyos@jpmtkvmrt98# set vpn ipsec esp-group ESP-TEST proposal 1 hash md5

 
続いてIKEプロポーザルの設定。今回はESPグループ名をIKE-TEST、暗号化方式をAES128とした。
set vpn ipsec ike-group IKE-TEST proposal 1 dh-group 2 もしくは set vpn ipsec ike-group IKE-TEST proposal 1 encryption aes128 を先に投入しないと他の設定が弾かれる為、設定コマンドの投入順に注意。
lifetimeやintervalやtimeoutの値は適当である為、商用環境では要件の検討が必要だろう。

[edit]
vyos@jpmtkvmrt98# set vpn ipsec ike-group IKE-TEST proposal 1 dh-group 2
[edit]
vyos@jpmtkvmrt98# set vpn ipsec ike-group IKE-TEST proposal 1 encryption aes128
[edit]
vyos@jpmtkvmrt98# set vpn ipsec ike-group IKE-TEST proposal 1 hash md5
[edit]
vyos@jpmtkvmrt98# set vpn ipsec ike-group IKE-TEST key-exchange ikev1
[edit]
vyos@jpmtkvmrt98# set vpn ipsec ike-group IKE-TEST lifetime 3600
[edit]
vyos@jpmtkvmrt98# set vpn ipsec ike-group IKE-TEST dead-peer-detection action restart
[edit]
vyos@jpmtkvmrt98# set vpn ipsec ike-group IKE-TEST dead-peer-detection interval 15
[edit]
vyos@jpmtkvmrt98# set vpn ipsec ike-group IKE-TEST dead-peer-detection timeout 90


続けて拠点間との間の通信の為の設定。
ここで嵌ってしばらくの間設定作業が止まった。
当記事執筆の2年程前まではpeerの後は単なる文字列としてIPアドレスを入れても良かったのだが、当記事の公開時の段階では数字や記号以外の適当な文字列を入れないと以下の警告が出力され設定コマンドが弾かれる。

[edit]
vyos@jpmtkvmrt98# set vpn ipsec site-to-site peer 192.168.3.99 default-esp-group ESP-TEST

  Peer connection name must be alphanumeric and can contain hyphen and underscores
  Value validation failed
  Set failed

 
対向先と交換するキーの文字列の設定は全く別のコマンドになった為、次項を参照。

[edit]
vyos@jpmtkvmrt98# set vpn ipsec site-to-site peer YAMAHA remote-address 192.168.3.99
[edit]
vyos@jpmtkvmrt98# set vpn ipsec site-to-site peer YAMAHA local-address 192.168.3.98
[edit]
vyos@jpmtkvmrt98# set vpn ipsec site-to-site peer YAMAHA ike-group IKE-TEST
[edit]
vyos@jpmtkvmrt98# set vpn ipsec site-to-site peer YAMAHA default-esp-group ESP-TEST
[edit]
vyos@jpmtkvmrt98# set vpn ipsec site-to-site peer YAMAHA authentication mode pre-shared-secret
[edit]
vyos@jpmtkvmrt98# set vpn ipsec site-to-site peer YAMAHA authentication remote-id 192.168.3.99
[edit]
vyos@jpmtkvmrt98# set vpn ipsec site-to-site peer YAMAHA authentication local-id 192.168.3.98
[edit]
vyos@jpmtkvmrt98# set vpn ipsec site-to-site peer YAMAHA tunnel 1 local prefix 192.168.100.0/24
[edit]
vyos@jpmtkvmrt98# set vpn ipsec site-to-site peer YAMAHA tunnel 1 remote prefix 192.168.200.0/24

 

続いて対向先と交換するキーの文字列の設定。
以前は上記のIPSecの設定でキーの文字列を定義したが、現段階では以下のようにpskの設定の中で定義する。

[edit]
vyos@jpmtkvmrt98# set vpn ipsec authentication psk YAMAHA id 192.168.3.98
[edit]
vyos@jpmtkvmrt98# set vpn ipsec authentication psk YAMAHA id 192.168.3.99
[edit]
vyos@jpmtkvmrt98# set vpn ipsec authentication psk YAMAHA secret PreSharedKey


3. OSPFの設定
今回の目的は別ベンダのルータとの間でOSPFのネイバが張れるかどうかの確認につき、OSPFの設定は基本的な内容に留まっている。
VyOS側の設定はこれで終わりにつき、最後にcommitコマンドとsaveコマンドを叩き設定内容を保存する。

[edit]
vyos@jpmtkvmrt98# set protocols ospf area 0 network 192.168.3.0/24
[edit]
vyos@jpmtkvmrt98# set protocols ospf parameters router-id 10.1.1.98
[edit]
vyos@jpmtkvmrt98# set protocols ospf redistribute connected
[edit]
vyos@jpmtkvmrt98# commit
[edit]
vyos@jpmtkvmrt98# save

 
 
設定後のConfig

YAMAHA vRXの設定は完了。設定完了の段階でのConfigの内容は以下のとおり。
CiscoやJuniperのルータに触れてきた自分から見てConfigの行数の少なさに驚くが、これでもきちんと動作する。

jpmtkvmrt99> show config 
# vRX Rev.19.01.09 (Mon Dec 13 20:58:00 2021) ** Compact Mode **
# MAC Address : 00:0c:29:96:d7:cc, 00:0c:29:96:d7:d6
# Memory 3778Mbytes, 4LAN
# main:  vRX MAC-Address=00:0c:29:96:d7:cc MAC-Address=00:0c:29:96:d7:d6
# Reporting Date: Nov 12 10:03:21 2023
administrator password encrypted *
login user hoge *
console character en.ascii
console prompt jpmtkvmrt99
vrx user jpmtkvmrt99 *
ip route default gateway 192.168.3.98
ip route 192.168.100.0/24 gateway tunnel 1
ip lan1 address 192.168.200.1/24
ip lan1 ospf area backbone
ip lan2 address 192.168.3.99/24
ip lan2 ospf area backbone
tunnel select 1
 ipsec tunnel 1
  ipsec sa policy 1 1 esp aes-cbc md5-hmac
  ipsec ike version 1 1
  ipsec ike local address 1 192.168.3.99
  ipsec ike backward-compatibility 1 1
  ipsec ike pre-shared-key 1 *
  ipsec ike remote address 1 192.168.3.98
  ipsec ike remote name 1 TEST key-id
 ip tunnel tcp mss limit auto
 tunnel enable 1
ip loopback1 address 10.1.1.99/32
ip loopback1 ospf area backbone
ospf use on
ospf router id 10.1.1.99
ospf import from static
ospf area backbone
ipsec use on
ipsec auto refresh on
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.200.2-192.168.200.10/24
dns server 8.8.8.8
sshd service on
sshd host key generate *
jpmtkvmrt99> 

 
VyOSの設定は完了。設定完了の段階でのConfigの内容は以下のとおり。
今回は当記事に載せていないが、設定コマンドのような体裁のConfigを見たい場合はshow configuration commandを打つ。

vyos@jpmtkvmrt98:~$ show configuration
interfaces {
    ethernet eth0 {
        address 192.168.3.98/24
        hw-id 08:00:27:ff:cb:8b
    }
    ethernet eth1 {
        address 192.168.100.1/24
        hw-id 08:00:27:32:0f:70
    }
    ethernet eth2 {
        hw-id 08:00:27:e9:cc:0c
    }
    loopback lo {
        address 10.1.1.98/32
    }
}
protocols {
    ospf {
        area 0 {
            network 192.168.3.0/24
        }
        parameters {
            router-id 10.1.1.98
        }
        redistribute {
            connected {
            }
        }
    }
    static {
        route 0.0.0.0/0 {
            next-hop 192.168.3.1 {
            }
        }
    }
}
service {
    ntp {
        allow-client {
            address 0.0.0.0/0
            address ::/0
        }
        server ntp.nict.jp {
        }
        server time1.vyos.net {
        }
        server time2.vyos.net {
        }
        server time3.vyos.net {
        }
    }
    ssh {
    }
}
system {
    config-management {
        commit-revisions 100
    }
    conntrack {
        modules {
            ftp
            h323
            nfs
            pptp
            sip
            sqlnet
            tftp
        }
    }
    console {
        device ttyS0 {
            speed 115200
        }
    }
    domain-name mydns.jp
    host-name jpmtkvmrt98
    login {
        user vyos {
            authentication {
                encrypted-password ****************
            }
        }
    }
    name-server 8.8.8.8
    syslog {
        global {
            facility all {
                level info
            }
            facility local7 {
                level debug
            }
        }
    }
    time-zone Asia/Tokyo
}
vpn {
    ipsec {
        authentication {
            psk YAMAHA {
                id 192.168.3.98
                id 192.168.3.99
                secret PreSharedKey
            }
        }
        esp-group ESP-TEST {
            lifetime 3600
            mode tunnel
            pfs enable
            proposal 1 {
                encryption aes128
                hash md5
            }
        }
        ike-group IKE-TEST {
            dead-peer-detection {
                action restart
                interval 15
                timeout 90
            }
            key-exchange ikev1
            lifetime 3600
            proposal 1 {
                dh-group 2
                encryption aes128
                hash md5
            }
        }
        interface eth0
        site-to-site {
            peer YAMAHA {
                authentication {
                    local-id 192.168.3.98
                    mode pre-shared-secret
                    remote-id 192.168.3.99
                }
                default-esp-group ESP-TEST
                ike-group IKE-TEST
                local-address 192.168.3.98
                remote-address 192.168.3.99
                tunnel 1 {
                    local {
                        prefix 192.168.100.0/24
                    }
                    remote {
                        prefix 192.168.200.0/24
                    }
                }
            }
        }
    }
}
vyos@jpmtkvmrt98:~$ 

 
 
設定後の動作確認

まずは至側(YAMAHA vRX)にてshow ipsec saコマンドを叩き、IPsecのトンネルが張れている事を確認。
1行目のISAKMP SA(鍵交換用のSA)、2行目のIPsec SA send(データ送信のSA)、3行目のIPsec SA recv(データ受信のSA)が出力されている事から、IPsecでVPN接続が張れている事が分かる。

jpmtkvmrt99> show ipsec sa 
Total: isakmp:1 send:1 recv:1

sa    sgw isakmp connection    dir  life[s] remote-id
----------------------------------------------------------------------------
1     1    -     isakmp        -    3240    192.168.3.98
2     1    1     tun[0001]esp  send 2880    192.168.3.98
3     1    1     tun[0001]esp  recv 2880    192.168.3.98

jpmtkvmrt99> 

 
次にshow ipsec sa gateway 1 detail コマンドを叩き、SAの中身を確認。
プロトコルとアルゴリズムと鍵(読めない状態で出力)が表示されている事が分かる。

jpmtkvmrt99> show ipsec sa gateway 1 detail 
SA[1] Duration: 3219s
Local ID: 192.168.3.99
Remote ID: 192.168.3.98 (TEST)
Protocol: IKE
Algorithm: AES-CBC, MD5, MODP 1024bit
SPI: 0e a2 c7 35 71 eb 6e 58 77 95 2f 23 a6 00 5f 76 
Key: ** ** ** ** **  (confidential)   ** ** ** ** **
----------------------------------------------------
SA[2] Duration: 2859s
Local ID: 192.168.3.99
Remote ID: 192.168.3.98 (TEST)
Direction: send
Protocol: ESP (Mode: tunnel)
Algorithm: AES-CBC (for Auth.: HMAC-MD5)
SPI: cb 2d 88 f4 
Key: ** ** ** ** **  (confidential)   ** ** ** ** **
----------------------------------------------------
SA[3] Duration: 2859s
Local ID: 192.168.3.99
Remote ID: 192.168.3.98 (TEST)
Direction: receive
Protocol: ESP (Mode: tunnel)
Algorithm: AES-CBC (for Auth.: HMAC-MD5)
SPI: ee 67 0e 0a 
Key: ** ** ** ** **  (confidential)   ** ** ** ** **
----------------------------------------------------

jpmtkvmrt99> 

 
続いて自側(VyOS)にてshow vpn ike saコマンドを叩き、IKEのSAが正常に確立されているか確認。
対向先(Peer ID)、自側(Local ID)共に見えている事、Stateがup、IKEのバージョンやEncryptの方式などが見えている事から、IKEのSAが正常に確立されている事が分かる。

vyos@jpmtkvmrt98:~$ show vpn ike sa
Peer ID / IP                            Local ID / IP               
------------                            -------------
192.168.3.99 192.168.3.99               192.168.3.98 192.168.3.98              

    State  IKEVer  Encrypt      Hash          D-H Group      NAT-T  A-Time  L-Time
    -----  ------  -------      ----          ---------      -----  ------  ------
    up     IKEv1   AES_CBC_128  HMAC_MD5_96   MODP_1024      no     830     0      

vyos@jpmtkvmrt98:~$ 

 
次に、show vpn ipsec saコマンドを叩き、ESPのSAが正常に確立されているか確認。
Connection欄にて対向先が見えている事、Stateがupである事、Uptimeがカウントされている事等から、ESPのSAが正常に確立されている事が分かる。

vyos@jpmtkvmrt98:~$ show vpn ipsec sa
Connection       State    Uptime    Bytes In/Out    Packets In/Out    Remote address    Remote ID     Proposal
---------------  -------  --------  --------------  ----------------  ----------------  ------------  ---------------------------------
YAMAHA-tunnel-1  up       14m21s    0B/0B           0/0               192.168.3.99      192.168.3.99  AES_CBC_128/HMAC_MD5_96/MODP_1024
vyos@jpmtkvmrt98:~$ 

 
次にOSPFのステータスの確認も行う。
まずは至側(YAMAHA vRX)にてshow status ospf neighborコマンドを叩き、OSPFのステータスがFULLでネイバ関係を構築出来ている事を確認。

jpmtkvmrt99> show status ospf neighbor 
Neighbor ID     Pri   State           Dead Time   Address         Interface
10.1.1.98         1   FULL/BDR        00:00:36    192.168.3.98    LAN2

jpmtkvmrt99> 

 
次にshow status ospf interfaceコマンドを叩き、OSPFを喋っているインターフェースの状態を確認。
ルータIDは設定したループバックインターフェースが選択されている事、OSPFネットワーク(Interface type)、DRの選択やDR/BDRのルータID等が確認出来る。

jpmtkvmrt99> show status ospf interface 
LOOPBACK1: Area backbone
  Router ID: 10.1.1.99,  Interface address: 10.1.1.99/32
  Interface type: LOOPBACK  cost=1
LAN1: Area backbone
  Router ID: 10.1.1.99,  Interface address: 192.168.200.1/24
  Interface type: BROADCAST  cost=1
  Interface state: DR  priority=1
  Designated router ID: 10.1.1.99,  IP address: 192.168.200.1
LAN2: Area backbone
  Router ID: 10.1.1.99,  Interface address: 192.168.3.99/24
  Interface type: BROADCAST  cost=1
  Interface state: DR  priority=1
  Designated router ID: 10.1.1.99,  IP address: 192.168.3.99
  Backup designated router ID: 10.1.1.98,  IP address: 192.168.3.98

jpmtkvmrt99> 

 
次にshow status ospf databaseを叩き、OSPFデータベースの情報を確認。
Link IDにて自側および至側のLSAを生成したルータのルータID、ADV RouterにてLSAを通知したルータのルータID等の情報がLSタイプ毎に確認出来る。

jpmtkvmrt99> show status ospf database 

       OSPF Router ID: 10.1.1.99


                Stub Link States (Area backbone)

Link ID         ADV Router       Age  Seq#       Checksum
10.1.1.99       10.1.1.99         -1  0x00000000 0xF612
192.168.200.0   10.1.1.99         -1  0x00000000 0x2026

                Router Link States (Area backbone)

Link ID         ADV Router       Age  Seq#       Checksum Link count
10.1.1.98       10.1.1.98        451  0x8000000B 0xD6F4   1
10.1.1.99       10.1.1.99        411  0x8000000A 0x3ACE   3

                Net Link States (Area backbone)

Link ID         ADV Router       Age  Seq#       Checksum
192.168.3.99    10.1.1.99        411  0x80000003 0x4BF1

                AS External Link States
            
Link ID         ADV Router       Age  Seq#       Checksum Tag
0.0.0.0         10.1.1.99        535  0x80000005 0x1080   1
10.1.1.98       10.1.1.98        972  0x80000004 0x7C62   0
192.168.100.0   10.1.1.98        992  0x80000004 0xEB93   0
192.168.100.0   10.1.1.99        409  0x80000002 0x5B39   1

jpmtkvmrt99> 

 
続いて至側(VyOS)にてshow ip ospf interface コマンドを叩き、ルータIDは設定したループバックインターフェースのIPアドレスが選択されている事、OSPFネットワーク(Interface type)、DRの選択やDR/BDRのルータID等が確認出来る。

vyos@jpmtkvmrt98:~$ show ip ospf interface 
eth0 is up
  ifindex 2, MTU 1500 bytes, BW 1000 Mbit <UP,BROADCAST,RUNNING,MULTICAST>
  Internet Address 192.168.3.98/24, Broadcast 192.168.3.255, Area 0.0.0.0
  MTU mismatch detection: enabled
  Router ID 10.1.1.98, Network Type BROADCAST, Cost: 1
  Transmit Delay is 1 sec, State Backup, Priority 1
  Designated Router (ID) 10.1.1.99 Interface Address 192.168.3.99/24
  Backup Designated Router (ID) 10.1.1.98, Interface Address 192.168.3.98
  Saved Network-LSA sequence number 0x80000002
  Multicast group memberships: OSPFAllRouters OSPFDesignatedRouters
  Timer intervals configured, Hello 10s, Dead 40s, Wait 40s, Retransmit 5
    Hello due in 2.271s
  Neighbor Count is 1, Adjacent neighbor count is 1
  Graceful Restart hello delay: 10s

vyos@jpmtkvmrt98:~$ 

 
次にshow status ospf neighborコマンドを叩き、OSPFのステータスがFULLでネイバ関係を構築出来ている事を確認。

vyos@jpmtkvmrt98:~$ show ip ospf neighbor 

Neighbor ID     Pri State           Up Time       Dead Time Address         Interface              RXmtL RqstL DBsmL
10.1.1.99         1 Full/DR         1h03m58s        37.924s 192.168.3.99    eth0:192.168.3.98          0     0     0

vyos@jpmtkvmrt98:~$ 

 
次にshow status ospf databaseを叩き、OSPFデータベースの情報を確認。
YAMAHA vRXと同様に、Link IDにて自側および至側のLSAを生成したルータのルータID、ADV RouterにてLSAを通知したルータのルータID等の情報がLSタイプ毎に確認出来る。

vyos@jpmtkvmrt98:~$ show ip ospf database 

       OSPF Router with ID (10.1.1.98)

                Router Link States (Area 0.0.0.0)

Link ID         ADV Router      Age  Seq#       CkSum  Link count
10.1.1.98      10.1.1.98        407 0x8000000b 0xd6f4 1
10.1.1.99      10.1.1.99        368 0x8000000a 0x3ace 3

                Net Link States (Area 0.0.0.0)

Link ID         ADV Router      Age  Seq#       CkSum
192.168.3.99   10.1.1.99        368 0x80000003 0x4bf1

                AS External Link States

Link ID         ADV Router      Age  Seq#       CkSum  Route
0.0.0.0        10.1.1.99        492 0x80000005 0x1080 E2 0.0.0.0/0 [0x1]
10.1.1.98      10.1.1.98        927 0x80000004 0x7c62 E2 10.1.1.98/32 [0x0]
192.168.100.0  10.1.1.98        947 0x80000004 0xeb93 E2 192.168.100.0/24 [0x0]
192.168.100.0  10.1.1.99        366 0x80000002 0x5b39 E2 192.168.100.0/24 [0x1]

vyos@jpmtkvmrt98:~$ 

 
 
今回はここまで。
自側拠点のYAMAHA vRXと至側拠点のVyOSとの間で、IPsec VPNとOSPFの基礎的な設定を投入しIPsec VPNの通信を確立する事が出来た。
YAMAHA vRXの設定はYAMAHA RTX810やRTX830のコマンドをほぼそのまま流用出来て設定作業で詰まる所は無かったが、VyOSの設定はIKEプロポーザルの設定で一部の設定コマンドの変更により、過去の記事の内容(VyOSでGRE over IPsec VPN構成を組んでみた)を流用する事が出来なかった。

当記事を含めYAMAHA vRXの設定に関する過去の記事において、インターネットに接続して対向先と通信する事は想定していない内容となっている為、ppインターフェースの設定に関しては全く触れていない。当記事の内容を実環境の設定の参考にする際はインターネットへの接続に関する設定の有無を考慮する必要が有る。
 
 
関連記事
https://debslink.hatenadiary.jp/entry/20230917/1694956800 YAMAHAの仮想ルータ vRX for VMware ESXiを試用する - 導入編①
https://debslink.hatenadiary.jp/entry/20230918/1694996291 YAMAHAの仮想ルータ vRX for VMware ESXiを試用する - 導入編②
https://debslink.hatenadiary.jp/entry/20230919/1695121663 YAMAHAの仮想ルータ vRX for VMware ESXiを試用する - 初期設定編
https://debslink.hatenadiary.jp/entry/20230924/1695541618 YAMAHAの仮想ルータ vRX for VMware ESXiを試用する - IPsec設定編 
https://debslink.hatenadiary.jp/entry/20231001/1696165559 YAMAHAの仮想ルータ vRX for VMware ESXiを試用する - IPIP設定編
 
 
参照サイト
https://docs.vyos.io/en/latest/configuration/vpn/site2site_ipsec.html#ikev1 VyOS VPN/Site-to-Site
https://debslink.hatenadiary.jp/entry/20220211/1644579656 VyOSでIPsec VTI構成を組んでみた
https://itkotsukotsu.hatenablog.com/entry/2020/10/31/231658 ヤマハルータ(RTX830)とVyOSでIPSecで拠点間VPNする