概要
当社ではルーターにPLANEX VR500-A1(廃番)を使用しています。このルーターには、IPSecによるルーター同士の接続が可能です。この度、IDCFクラウドの仮想ネットワークと接続にようやく成功しました。このような接続事例がネット見つからず苦労したため、備忘録として掲載したいと思います。
当社の準備
まずはプロバイダーに固定IPアドレスの申し込みを行いました(VR500-A1同士だと、DDNSでも可能なようです)。VR500-A1の設定は下記のようにしました。
以降、当社側をブランチ側、接続先(IDCF)をクラウド側と称します。
トンネル名は相手先(今回はIDCF)が分かる名前なら何でも良いです。
ローカルアドレスは、ブランチ側の固定IP(WAN IP)を入力します
ローカルセキュリティゲイトウェイタイプは、ホスト名を選択しました。IPアドレスでもかまいませんが、後述するVyOSの設定で、IPアドレスの項目と区別するためです。
ローカルネットワークアドレスとサブネットは、接続元のネットワークアドレス(末尾は0になります)とサブネットを入力します。
リモートネットワークの設定は、後述するIDCF側で仮想マシン等の設定をしないと入力できないため、保留とまし。
VyOSによる仮想ルーターの設置
VyOSはルーター機能を持ったOSです。IDCFで仮想マシンを作る際、このOSを指定することで、仮想ルーターを設けることができます。この具体的な説明は[IDCF]VyOS での IPsecサイト間 VPN 接続ガイドを参照してください(以下、ガイドと称します)。
このガイドに従えば、仮想マシンとIPアドレスの設置やNATの設定まではできるはずです。
スタティックルートの設定
前記のガイドには、クラウド側端末に対してスタティックルートの設定方法が記載されています。私の仮想マシンでは、ネットワークデバイス名がens160でした。下記で調べて異なるようなら読み替えて設定してください。
nmcli connection show
VyOSによるルーターの設定
前記のガイドには、VR500-A1の設定方法は記載されていませんが、SSG550Mと同じ要領設定を行えば大丈夫です。
# 下記を置換してください。例のアドレスはガイドの構成図参照
# <BranchIP> 例:192.51.100.1
# <BranchNW> 例:10.5.10.0/24
# <VyOsIP> 例:10.11.1.1
# <CloudNW> 例:10.11.0.0/22
# <PRE-SHARED-KEY> {適当な文字列}
# IPSec通信に用いるインターフェイスの設定
set vpn ipsec ipsec-interfaces interface 'eth0'
# IKEグループの設定
set vpn ipsec ike-group IKE-GROUP1 key-exchange 'ikev1'
set vpn ipsec ike-group IKE-GROUP1 lifetime '10800'
set vpn ipsec ike-group IKE-GROUP1 proposal 1 dh-group '14'
set vpn ipsec ike-group IKE-GROUP1 proposal 1 encryption '3des'
set vpn ipsec ike-group IKE-GROUP1 proposal 1 hash 'md5'
set vpn ipsec ike-group IKE1 dead-peer-detection interval '30'
set vpn ipsec ike-group IKE1 key-exchange 'ikev1'
set vpn ipsec ike-group IKE1 lifetime '10800'
set vpn ipsec ike-group IKE1 proposal 1 dh-group '14'
set vpn ipsec ike-group IKE1 proposal 1 encryption '3des'
set vpn ipsec ike-group IKE1 proposal 1 hash 'md5'
# ESPグループの設定
set vpn ipsec esp-group ESP-GROUP1 lifetime '3600'
set vpn ipsec esp-group ESP-GROUP1 pfs 'disable'
set vpn ipsec esp-group ESP-GROUP1 proposal 1 encryption '3des'
set vpn ipsec esp-group ESP-GROUP1 proposal 1 hash 'md5'
set vpn ipsec esp-group ESP1 lifetime '3600'
set vpn ipsec esp-group ESP1 pfs 'disable'
set vpn ipsec esp-group ESP1 proposal 1 encryption '3des'
set vpn ipsec esp-group ESP1 proposal 1 hash 'md5'
# NATトラバーサル設定の有効化(ただし初期設定で有効化済み)
set vpn ipsec nat-traversal 'enable'
# ブランチ側ディバイスとの通信で用いるIKEグループとESPグループを設定
set vpn ipsec site-to-site peer <BranchIP> ike-group 'IKE1'
set vpn ipsec site-to-site peer <BranchIP> tunnel 1 esp-group 'ESP1'
# 接続で用いる認証方式を事前共有鍵方式に設定
set vpn ipsec site-to-site peer <BranchIP> authentication mode 'pre-shared-secret'
set vpn ipsec site-to-site peer <BranchIP> authentication pre-shared-secret '<PRE-SHARED-KEY>'
# 自身(クラウド側VyOS)のIDと、対向ディバイス(ブランチ側VR500-A1)のID設定
set vpn ipsec site-to-site peer <BranchIP> authentication id @cloud
set vpn ipsec site-to-site peer <BranchIP> authentication remote-id @branch
# 自身(クラウド側VyOS)のeth0のIPアドレスを設定
set vpn ipsec site-to-site peer <BranchIP> local-address '<VyOsIP>'
# IPSecトンネルを通す相手ネットワークと送信元ネットワークの対を設定
set vpn ipsec site-to-site peer <BranchIP> tunnel 1 local prefix '<CloudNW>'
set vpn ipsec site-to-site peer <BranchIP> tunnel 1 remote prefix '<BranchNW>'
# ファイヤーウォールのルール設定
set firewall name FW-RULE rule 100 action accept
set firewall name FW-RULE rule 100 source address <CloudNW>
set firewall name FW-RULE rule 110 action accept
set firewall name FW-RULE rule 110 source address <BranchNW>
ここまでの設定ができれば、VR500-A1のトンネル設定で、リモートネットワークの項目が埋められると思います。ブランチ側とクラウド側の設定がただしく行われていれば、VR500-A1で接続済みになるはずです。接続済みならない場合は、VyOSの設定値に誤り又はVR500-A1の設定値と齟齬がある可能性が高いです。
Pingによる接続確認
無事接続済みになったら、ブランチ側の端末からクラウド側端末のIPアドレスに対してPingをしてみてください。うまくいかない場合は、クラウド側端末のスタティックルートの設定を確認してください。
次にクラウド側端末から、ブランチ側の端末へPingしてみてください。うまくいかない場合は、ブランチ側の端末のファイアウォールの設定を確認してください。WindowsのMicrosoft Defender場合、スコープがローカルサブネットに限定されているので、ここにクラウド側ネットワークを追加してください。
おまけ
最初、VyOSの設定がよくわからず、間違った設定をしたせいか、なんかうまく動作しなくなってしまいました。こういう場合は、IDCFでVyOSマシンの初期化(再起動ではない)をして、最初からやり直した方が良いかもしれません。
Comentarios