PR-S300SE(NTTフレッツひかり)は、VPN機能が無い。PR-400以降は、L2TP/IPsecのVPN機能が使えるらしいが、PR-S300SEが元気なので変更してもらえそうに無い。。。
DS-216J NAS(ファイルサーバー)を導入した。このDS-216Jには、VPNサービスが提供されている(PPTP, OpenVPN, L2TP/IPsec)。L2TP/IPsecによるVPNを稼働してみることにした。
DS-216JへのL2TP/IPsec VPNサーバー導入方法に詳しく書かれている。

稼働後のCPU負荷状況もそれほど高く無いようだ。VPN接続後、接続端末に付与されるIPは、「10.2.0.1 - 10.2.0.254」の内の一つとなり、DS-216Jでルーティングされることになる。DS-216JのVPN設定は、解説通りの設定で動作確認できた(ホームネットワークのにWiFi接続し、IP指定でiPhoneのL2TP接続で確認)。
ネットワーク構成とL2TP/IPsecパケット通信の流れを図示する。

インターネト上のiPhoneからL2TPでVPN接続を行うと、ヤマハ提供のネットボランチDDNSで名前解決し、ぷらら(ISP)の接続IP(グローバルIP)へ接続する。ぷららへの接続は、ヤマハNVR-500からPPPoEで接続されている。フレッツひかりルータPR-S300SEは、NTT東地域IP網へ接続されおり、ひかり電話とフレッツTVサービスを受けている。ホームネットワーク内の機器やDS-216JのVPNへは、NVR-500でFirewall遮断されている。
iPhoneからDS-216Jまでどのようなパケットが通過するか確認すると

NVR-500上では、ぷららからPPPoE接続で、pp(ポイント・ツー・ポイント インターフェース)にIPsecパケットが渡されることになり、そのまま、DS-216Jへ転送すれば良いことになる。ppとLAN間には、「NAT Descriptor」「In/Out Filter」が存在し、「1:N」(NAPT接続 - ヤマハでは、masquerade)で接続転送する必要がある。L2TP/IPsecのVPNであるが、NVR-500上では、IPsec通信として設定する。
(1)NAT Descriptor(NAPT)設定
NVR-500の標準設定状態では、pp1(ぷららPPPoE接続)は、「masquerade」が設定されている。
IPSec鍵交換のために、IKE(500/udp)をDS-216Jへstatic natする。
IPsec NAT Traversal が必要な接続のために、 IKE NAT-T(4500/udp)をDS-216Jへstatic natする。
ESP(Encapsulated Security Payload)プロトコルをDS-216Jへstatic natする。

(2)セキュリティ・フィルタの設定
pp1のIN方向フィルタに、
IKE(500/udp)を全てのアドレスからDS-216Jへ許可する。
IKE NAT-T(4500/udp)を全てのアドレスからDS-216Jへ許可する。
ESP(プロトコル 50)を全てのアドレスからDS-216Jへ許可する。

NVR-500のconfigファイルは、

iPhone6S iOS11 L2TP/IPsecで接続(VPNをONにする)

L2TP/IPsec接続される(端末IPは、10.2.0.1が付与される)

構成プロファイルで「On Demand」接続を試みる予定