ヤマハルータでフレッツ光ネクストや光クロスのIPv6網内折り返し通信で高速VPN
NTTフレッツ光は半固定で割り当てられるIPv6アドレスを使って網内折り返し通信が可能です。ポイントは3つ。
1.FQDNで張ります
フレッツのIPv6アドレスは半固定でたまに変わりますからFQDNで張ります。FQDNにはNTT東西の「v6ネーム」を使うか、ヤマハのダイナミックDNSを使うか、ほかのダイナミックDNSサービスを使うか。です。IPoEプロバイダがないなら「v6ネーム」。IPoEプロバイダがあるならヤマハのダイナミックDNSが使いやすいかと思います。2.2021/5以前に開通した西日本のフレッツ光回線だと注意
西日本では2021年5月11日より前に開通しているネクスト回線は、折り返し通信は「v6オプション」の申し込み必要でしたので古い回線では確認します。東日本では当初からデフォルト有効ですので問題ないです。3.MAP-E系プロバイダはルータにIPv6アドレスを2つ割り当てるので実際に通信するほうを使う
これも上の2でFQDNと関係してきますが、ヤマハのダイナミックDNSを使えば問題ありません。OCNのMAP-Eというのは「OCNバーチャルコネクト」です。ヤマハRTXの設定例
(IPv4は従来通りのPPPoEの例です。今どきはIPoEプロバイダの場合アレンジします。)対向拠点の設定は192.168.1を192.168.0に入れ替えるだけで同じ。ひかり電話なし契約や、ひかり電話があってもホームゲートウェイ配下だとIPv6はRAです。
*IPv4関係
ip route default gateway pp 1
ip lan1 address 192.168.1.1/24
ip route 192.168.0.0/24 gateway tunnel 1
*IPv6関係 LAN2側にフィルタ入れてあります。LAN内にもIPv6を配布してます。
ipv6 prefix 1 ra-prefix@lan2::/64
ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 lan2 secure filter in 1030 1031 1032 1033 1034 1035 1036 2000
ipv6 lan2 secure filter out 3000 dynamic 100 101 102 103 104 105 106
ipv6 lan2 dhcp service client ir=on
*IPv4プロバイダ認証
pp select 1
pp always-on on
pppoe use lan2
pppoe auto disconnect off
pp auth accept pap chap
pp auth myname USER PASSWORD(プロバイダーの認証)
ppp lcp mru on 1454
ppp ipcp ipaddress on
ppp ipcp msext on
ip pp mtu 1454
ip pp secure filter in 1020 1030 1040 1041 1042 1050 2000
ip pp secure filter out 1010 1011 1012 1013 1014 1015 3000 dynamic 100 101 102 103 104 105 106
ip pp nat descriptor 1
pp enable 1
*トンネル1の例。IPv6-ipsecの場合。
tunnel select 1
ipsec tunnel 1
ipsec sa policy 1 1 esp aes-cbc sha-hmac
ipsec ike keepalive log 1 off
ipsec ike keepalive use 1 on
ipsec ike nat-traversal 1 on
ipsec ike pre-shared-key 1 naishonokey
ipsec ike remote address 1 xxx.p-ns.flets-west.jp(対向ルータのFQDN、この例はV6ネーム。)
ip tunnel mtu 1422
ip tunnel tcp mss limit auto
tunnel enable 1
*トンネル1もう一つの例。IPv6-IPIPも使えます。
tunnel select 1
tunnel encapsulation ipip
tunnel endpoint name xxx.p-ns.flets-west.jp fqdn(対向ルータのFQDN、この例はV6ネーム。)
ip tunnel mtu 1460
ip tunnel tcp mss limit auto
tunnel enable 1
*トンネル2はIPv6のトンネルが切れた時の保険でIPV4-ipsecです。
tunnel select 2
ipsec tunnel 2
ipsec sa policy 2 2 esp aes-cbc sha-hmac
ipsec ike keepalive log 2 off
ipsec ike keepalive use 2 on
ipsec ike local address 2 192.168.1.1
ipsec ike pre-shared-key 2 naishonokey
ipsec ike remote address 2 (対向拠点で契約している固定グローバルIPv4アドレスやFQDN)
ip tunnel mtu 1390
ip tunnel tcp mss limit auto
tunnel enable 2
*フィルタ
ip filter 1010 reject * * udp,tcp 135 *
ip filter 1011 reject * * udp,tcp * 135
ip filter 1012 reject * * udp,tcp netbios_ns-netbios_ssn *
ip filter 1013 reject * * udp,tcp * netbios_ns-netbios_ssn
ip filter 1014 reject * * udp,tcp 445 *
ip filter 1015 reject * * udp,tcp * 445
ip filter 1020 reject 192.168.1.0/24 *
ip filter 1030 pass * 192.168.1.0/24 icmp
ip filter 1040 pass * 192.168.1.1 udp * 500
ip filter 1041 pass * 192.168.1.1 esp
ip filter 1042 pass * 192.168.1.0/24 gre
ip filter 1050 pass xxx.xxx.xxx.xxx * tcp * telnet (対向拠点で契約している固定グローバルIPv4アドレス)
ip filter 2000 reject * *
ip filter 3000 pass * *
ip filter dynamic 100 * * ftp
ip filter dynamic 101 * * www
ip filter dynamic 102 * * domain
ip filter dynamic 103 * * smtp
ip filter dynamic 104 * * pop3
ip filter dynamic 105 * * tcp
ip filter dynamic 106 * * udp
*NATの定義
nat descriptor type 1 masquerade
nat descriptor timer 1 300
nat descriptor timer 1 protocol=udp port=domain 30
nat descriptor address inner 1 auto
nat descriptor masquerade incoming 1 reject
nat descriptor masquerade rlogin 1 on
nat descriptor masquerade static 1 1 192.168.1.1 udp 500
nat descriptor masquerade static 1 2 192.168.1.1 esp
nat descriptor masquerade static 1 3 192.168.1.1 telnet
nat descriptor masquerade session limit 1 1 500
*IPv6のフィルタ
ipv6 filter 1010 reject * * udp,tcp 135 *
ipv6 filter 1011 reject * * udp,tcp * 135
ipv6 filter 1012 reject * * udp,tcp netbios_ns-netbios_ssn *
ipv6 filter 1013 reject * * udp,tcp * netbios_ns-netbios_ssn
ipv6 filter 1014 reject * * udp,tcp 445 *
ipv6 filter 1015 reject * * udp,tcp * 445
ipv6 filter 1030 pass * * icmp6 * *
ipv6 filter 1031 pass * * tcp * ident
ipv6 filter 1032 pass * * udp * 546
ipv6 filter 1033 pass * * esp
ipv6 filter 1034 pass * * udp 500
ipv6 filter 1035 pass * * 4
ipv6 filter 1036 pass * * udp * 4500
ipv6 filter 2000 reject * * * * *
ipv6 filter 3000 pass * *
ipv6 filter dynamic 100 * * ftp
ipv6 filter dynamic 101 * * domain
ipv6 filter dynamic 102 * * www
ipv6 filter dynamic 103 * * smtp
ipv6 filter dynamic 104 * * pop3
ipv6 filter dynamic 105 * * tcp
ipv6 filter dynamic 106 * * udp
*ほか
ipsec auto refresh on
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.1.200-192.168.1.240/24
dns private address spoof on
schedule at 1 */* 00:12 * ntpdate ntp.nict.jp
*DNS(IPv4はPPPoEプロバイダ、IPv6はNTT配布のものを使う設定)
dns server select 1 dhcp lan2 aaaa .
dns server select 2 pp 1 any . restrict pp 1
気を付けること
1.NTT東西「v6ネーム」を使うときはDNSサーバ設定には注意します。
たとえば dns server pp 1 とするとv6ネームが引けません。GoogleDNS8.8.8.8もv6ネームが引けません。
xxx.p-ns.flets-west.jp(西日本)なv6ネームをプロバイダーのDNSサーバやGoogleDNSは名前解決できないからです。v6ネームの名前解決ができるのは、NTTフレッツ網が提供しているDNSサーバだけです。
IPoEプロバイダだと dns server dhcp lan2 でNTTのDNSサーバを取得するので問題ありません。
v6オプションだけでIPoEプロバイダと契約していない時、NTT東西のDNSは、NTT網内ホストの名前解決はしますがグルーバルなホスト名は答えません。クライアントのIPv6アドレスを見て応答を変えているようです。
そういうときはIPv6の名前解決はフレッツ網のDNS。IPv4の名前解決はプロバイダーかGoogleなどのDNSサーバを使います。
http://www.rtpro.yamaha.co.jp/RT/FAQ/FLETS-HIKARI-NEXT/hikari_tv.html
例1 上記の設定例。自動取得したIPv6はNTT網のDNSでIPv4はプロバイダのDNS。
dns server select 1 dhcp lan2 aaaa .
dns server select 2 pp 1 any . restrict pp 1
例2 手動でDNS指定するとき。NTT網内ドメインの名前解決NTT-DNS、ほかはGoogle-DNS
dns server select 1 2001:a7ff:5f01::a 2001:a7ff:5f01:1::a any flets-west.jp(NTT西エリア)
dns server select 2 2404:1a8:7f01:a::3 2404:1a8:7f01:b::3 any flets-east.jp(NTT東エリア)
dns server select 100 8.8.8.8 8.8.4.4 any .
2.IPIPのほうがIPsecより速度が出る?
いいえ。別の記事にしていますが、RTX1210/RTX830では、IPsecのほうが速度が速い結果になりました。
3.IPsec/IPIPトンネルの最適なMTUはいくつ?
YAMAHAのトンネルのデフォルトはMTU=1260と小さめです。回線で使える上限まで上げると1割ほど速度が上がる感じです。
今回のIPv6でIPsec-VPNをAESで張る場合は1422を指定しますので、ip tunnel mtu 1422とします。
以下は興味のある人向けの説明です。
IPIPトンネルは引き算だけ
IPv4は-20、IPv6は-40です。
| 条件 | 数値 |
|---|---|
| フレッツのIPv6(MTU=1500)でのIPIP(IPv6)トンネル 1500-40= | 1460 |
| IPoEプロバイダのMTU=1460のIPv4でさらにIPIP(IPv4)トンネル 1460-20= | 1440 |
| フレッツのPPPoE(MTU=1454)でのIPIP(IPv4)トンネル 1454-20= | 1434 |
IPsecは倍数にするとかパディングとか面倒なのでこちらのWeb計算式が便利です。
https://kusoneko.blogspot.com/p/ikev2-ipsec.html(このWeb計算式はIPヘッダサイズが常にIPv4の20で計算されるので、IPv6トンネルの場合はカスタムを選んでWAN回線-20で計算するといい感じです)| 条件 | 数値 |
|---|---|
| フレッツのIPv6(MTU=1500)でのIPsec(IPv6)トンネル(3DES-CBC MD5-HMAC) | 1430 |
| フレッツのIPv6(MTU=1500)でのIPsec(IPv6)トンネル(AES-CBC SHA-HMAC) | 1422 |
| フレッツのIPv4 PPPoE(MTU=1454)での(IPv4)IPsecトンネル(3DES-CBC MD5-HMAC) | 1398 |
| フレッツのIPv4 PPPoE(MTU=1454)での(IPv4)IPsecトンネル(AES-CBC SHA-HMAC) | 1390 |
参考:
https://www.rtpro.yamaha.co.jp/RT/FAQ/IPsec/normal-encryption-algorithm.html(Q)暗号アルゴリズムには何を用いたら良いですか?
(A)基本的には、3DES-CBCの利用をお勧めします。ただし、AESをハードウェアで実装している機種同士で通信する場合には、 AES-CBCをお使いいただくのが良いと考えます。(・・と書いていましたが3DESは非推奨です。)
https://www.rtpro.yamaha.co.jp/RT/FAQ/IPsec/faq_2_l.html
https://www.rtpro.yamaha.co.jp/RT/FAQ/IPsec/faq_2_b.html
https://jpn.nec.com/univerge/ix/faq/ipsec-ike.html(計算式あり)
4.旧機種のRTX1200でIPIPトンネルのfqdn指定はNG、IPsecのfqdnはOK。
IPIPではtunnel endpoint name・・でFQDNを対向先として設定は入るのですがトンネルUPしません。IPIPでは従来からのtunnel endpoint address・・の書式を使ってIPv6アドレスを直接指定します。ipsecではFQDNを対向先に指定しても問題なくトンネルUPしますので、ipsecを使いましょう。5.ipip keeapliveはネクストのIPv6ではだめだった
最近のファームではIPIPにkeepalive機能が付いているのですがネクスト回線ではだめでした。手元でLANポートを直結してテストしたらちゃんと機能したんですけど。ネクストの優先制御の何かにひっかかってるのかな?まとめ
県内だと概ね5ms以下、関西圏だと滋賀、京都、大阪、兵庫の間で10ms以下のVPNが張れます。参考
IPsecを使用したVPN拠点間接続(IPv6 IPoE) : コマンド設定
https://network.yamaha.com/setting/router_firewall/ipv6/ipoe_ipsec
コメント
コメントを投稿