YAMAHA のルータ RTX830 で,IPv4 over IPv6 (MAP-E) での高速通信の恩恵を受けながら,スマホ等からの VPN 接続(L2TP/IPsec)も行えるようにする方法を紹介します.
背景
スマホで VPN を利用する場合,普通は L2TP/IPsec を利用することになりますが,このプロトコルは 1701 ポートで待ち受けを行う必要があります.一方,一般的なネット接続環境で IPv4 over IPv6 (MAP-E) を使う場合,外に見える IPv4 アドレスは他の人と共用になり,使えるポートが制限されてします.
そのため,ネット接続環境を IPv4 over IPv6 に移行した場合,そのままだとスマホからの VPN を利用できません.
解決策
この制約は,VPN 関係の通信を IPv4 ネイティブにすることで回避することができます.
IPv4 over IPv6 が利用できる環境の場合,IPoE による IPv6 接続と同時に PPPoE による IPv4 接続も提供してくれています.VPN 関係の通信を PPPoE 側にルーティングすることで IPv4 over IPv6 の制約から逃れられます.
設定方法
YAMAHA の RTX830 を使った場合の具体的な設定方法を紹介します.前提として,GUI 等を使って VPN 接続ができることろまで設定できているものとします.
設定する内容は大きく次の3点になります.
- トンネル用の NAT を作成
- IPv4 over IPv6 用のトンネルを作成
- VPN 関係の通信のルーティングを設定
順に説明していきます.
トンネル用の NAT を作成
まず,トンネル用の NAT を作成します.
1 2 |
nat descriptor type 2000 masquerade nat descriptor address outer 2000 map-e |
既に GUI で PPPoE の設定をした際にディスクリプタ番号 1000 で NAT が作成されていると思いますが,これと共存させたいのでここでは 2000 で作成します.
IPv4 over IPv6 用のトンネルを作成
続いて,IPv4 over IPv6 用のトンネルを作成します.
1 2 3 4 5 6 |
tunnel select 2 tunnel encapsulation map-e tunnel map-e type ocn ip tunnel mtu 1460 ip tunnel nat descriptor 2000 tunnel enable 2 |
既に GUI で VPN の設定した際に tunnel 1 は作られていると思いますので,ここでは tunnel 2 を作ります.V6 プラスを使われている方は,「ocn」の部分を「v6plus」に置き換えてください.
NAT は先ほど作成したディスクリプタ番号 2000 を指定します.
VPN 関係の通信のルーティングを設定
最後にルーティングの設定を行います.VPN 関係のパケットを PPPoE に,それ以外を Tunnel 2 に流すようにします.
1 2 3 4 5 |
ip filter 100001 pass * * udp 500 * ip filter 100002 pass * * udp 4500 * ip filter 100003 pass * * udp 1701 * ip filter 100004 pass * * esp * * ip route default gateway tunnel 2 gateway pp 1 filter 100001 100002 100003 100004 |
以上で完了です.
IPv4 over IPv6 (MAP-E) を使いつつ,NAT 接続もできるようになっていると思います.
コメント
.前提として,GUI 等を使って VPN 接続ができることろまで設定できているものとします.->ここまでができないのです。
どのようなConfig設定するとMAP-e+VPNができるのでしょうか?
下記の手順の「L2TP/IPsecの設定」以降をすると VPN の設定が行えます.
https://network.yamaha.com/setting/router_firewall/vpn/vpn_client/vpn-smartphone-setup-rtx1210
NVR510は同じように設定できますか?
[…] https://rabbit-note.com/2020/04/29/rtx830-map-e-vpn/ […]