先週の話になりますが、RTX830を購入しました。
sylve.hatenablog.jp
ヤマハ ギガアクセスVPNルーターRTX830 1台 ds-2141528
- メディア: Personal Computers
私にしては大変珍しく現行最新モデルを新品購入したルーターなので、今をときめく様々な技術に対応したギークな人としては楽しめる超お高級価格*1なルーターです。
そして設定(config)の互換性が高いので今の今まで利用してきたルーターのconfigをそのまま移し替えることが可能なので、RTX1100から継ぎ足し継ぎ足しの秘伝のタレと化したconfigをそのまま打ち込むことが可能です。
sylve.hatenablog.jp
sylve.hatenablog.jp
ただし、今回RTX830を購入した最大の動機はMAP-E方式でIPv4の通信を利用することです。このMAP-E方式と言うものは比較的最近の接続方式のため、手持ちのRTX1200では利用出来ない(+ファームウェア更新でも対応しない)ので従来のconfigを単純に引き継ぐだけでは駄目です。・・・なので今回心機一転でconfigを作ることとします。
・・・いや、まぁ、configをわざわざ書かなくとも今はWebコンソール経由でチョチョっと設定するだけで良いので完全にやらなくてもいい苦労を率先してやってるのですが・・・。*2
今回のルーター設定方針について
先にヅラヅラと綴っていますが、今回のルーターの設定方針を箇条書きでザクッと綴っておくこととします。
- 接続設定は基本的にIPoEで設定する。
- このままではIPv4のWebサイトを利用出来ないため、IPv4 over IPv6のトンネル技術を利用する必要があり、その中の一つであるMAP-E方式を利用する。
- スマートフォンやタブレットからVPN接続させるためのVPN設定(L2TP/IPsec)は引き続き含める。
PPPoEの完全廃絶は行なえませんでした。スマホやタブレット(+帰省などのタイミングで持ち出すMacBookPro 13-inch)から利用するVPN接続をやめればPPPoEの排除はできるのですが、なにかあった時に便利と言う呪縛に囚われて排除出来ませんでした。
そんなこんなで今回のイメージ略図(ショボショボAA)*5はこんな感じです。
[Internet] | | (MAP-E) (PPPoE) | | +-------+ | [VDSL] |(WAN) +--------+ | RTX830 | +--------+ |(LAN) 各種機器
RTX830なのでWAN側は1系統しかないのでスッキリ。しかし論理的には2セッション張ることになるので、ショボショボAA風イメージ図だとこんな感じになります。
configについて
基本的には既存のconfigのキメラです。
www.rtpro.yamaha.co.jp
network.yamaha.com
network.yamaha.com
YAMAHA公式のナレッジ・設定例に加えて、VPN周りの通信をPPPoEに流す設定・・・の情報である以下の記事のconfigも拝借します。
ぶっちゃけ、便利な記事の丸パクで良いんじゃね?となりますが、該当の記事では基本的にWebコンソールで設定の上、差分で投入が必要なconfigのみ掲載されているので丸パクリと言う訳には行きません。
そんなこんなでいつも通り公式のconfigを組み合わせてのキメラconfigもとい自分の思ったとおりのconfigとして作り込むことにします。*6
個人的なconfig晒し
そんなこんなで自分で作り込んだconfigを晒して行こうと思います。
LAN周り
とりあえずは内部LAN向けの設定をゴニョゴニョ。
VPNでゴニョゴニョするので代理ARPの設定を入れていますが、基本的にはローカル側のLAN設定とDHCP有効化だけです。
# Local LAN conf. ip lan1 address 192.168.xxx.1/24(ルーターIPアドレス) ip lan1 proxyarp on # DHCP conf.(Local LAN) dhcp service server dhcp server rfc2131 compliant except remain-silent dhcp scope 1 192.168.xxx.xxx-192.168.xxx.xxx/24(DHCPの範囲とするIPアドレス)
MAP-E/IPoE周り
MAP-E方式と言うか、IPoE周りの設定を入れていきます。
最初にIPoEの接続設定、その後MAP-Eの設定を入れていきます。フィルタ(ファイヤーウォール)周りは後に細かい定義を記載しますが、この段階で設定してしまいます。
なお、私の環境下はひかり電話契約が無い場合の設定になります。ひかり電話がある場合はYAMAHA公式の情報を元にひかり電話ありの設定を入れ込んで下さい。
# IPv6(IPoE) conf.
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 200030 200031 200038 200039
ipv6 lan2 secure filter out 200099 dynamic 200080 200081 200082 200083 200084 200098 200099
ipv6 lan2 dhcp service client ir=on
# IPv6(MAP-E) conf.
tunnel select 1
tunnel encapsulation map-e
tunnel map-e type ocn
ip tunnel mtu 1460
ip tunnel nat descriptor 1000
tunnel enable 1
MAP-Eの設定について、プロバイダがOCNの場合のパラメータになっています。もしOCN以外の場合は「tunnel map-e type v6plus」と設定して下さい。*7
PPPoE周り
VPN専用として残すPPPoE設定。極めて普通で平凡な設定で、公式情報の設定通りです。
異色点としてはNetVolante(YAMAHA提供のVPN向けDDNS)の設定を入れてることくらいでしょうか。
# IPv4(PPPoE) conf. pp select 1 pp always-on on pppoe use lan2 pp auth accept pap chap pp auth myname xxxxxxxx(認証ID) xxxxxxxx(認証パスワード) ppp lcp mru on 1454 ppp ipcp ipaddress on ppp ipcp msext on ip pp mtu 1454 ip pp secure filter in 200020 200030 200050 200051 200052 200053 200039 ip pp secure filter out 200010 200011 200012 200013 200014 200015 200040 dynamic 200080 200081 200082 200083 200084 200085 200098 200099 ip pp nat descriptor 2000 netvolante-dns hostname host pp server=1 xxxxxxxx(NetVolanteで取得するホスト名) pp enable 1
NetVolanteで割り当てられるホスト名を指定すると、「xxxxxxxx.aax.netvolante.jp」の形式でnetvolanteドメインが発行され、スマートフォンやタブレットでVPN設定する際に設定・指定することが可能です。
DNS周り
DNS周りの設定ですが、私の環境下ではPi-holeを利用しているので明示的にPi-holeのアドレスを指定しています。人によってはGoogle DNSで「8.8.8.8」とか「8.8.4.4」辺りを指定したりするかと思います。
# DNS conf. dns server 192.168.xxx.xxx(Pi-holeのアドレス) dns server dhcp lan2 dns private address spoof on
デフォルトゲートウェイ周り
デフォルトゲートウェイ周りのゴニョゴニョ、これは参考情報を元に設定しています。
フィルタ周りは後に記載しますが、VPN関連の通信のみPPPoEを経由するような設定となっています。
# Gateway conf. ip route default gateway tunnel 1 gateway pp 1 filter 100001 100002 100003 100004
NAT周り
これは設定例通り。まぁMAP-EとPPPoEで2つあるのでそこんとこだけ注意。
nat descriptor type 1000 masquerade nat descriptor address outer 1000 map-e nat descriptor type 2000 masquerade nat descriptor masquerade static 2000 1 192.168.xxx.1(ルーターIPアドレス) udp 500 nat descriptor masquerade static 2000 2 192.168.xxx.1(ルーターIPアドレス) udp 4500 nat descriptor masquerade static 2000 3 192.168.xxx.1(ルーターIPアドレス) esp
VPN周り(ユーザ設定周り)
VPN設定のうちのユーザ認証周り。必要なユーザー数だけ作成しますが、RTX830の製品位置付け的には後述のトンネル設定数が限定されるので注意されたし。
# VPN conf. ## user setting. pp select anonymous pp bind tunnel2(tunnel1はMAP-Eで指定しているので2以降の値) pp auth request mschap-v2 pp auth username xxxxxxxx(VPN接続時のユーザID) xxxxxxxx(VPN接続時のパスワード) ppp ipcp ipaddress on ppp ipcp msext on ip pp remote address pool 192.168.xxx.xxx(VPN接続時に割り当てるIPアドレス) ip pp mtu 1258 pp enable anonymous
上記の記載例ではVPN接続ユーザは1つにしているが、2ユーザ以上の場合は「pp bind tunnel2-tunnel5」のように複数のトンネルを指定しておくこと。合わせてユーザ・VPN接続時の割当IPアドレスも必要数だけ設定・準備すること。
なお認証タイプはmschap-v2を指定していますが、設定例に倣っているだけなのでお好きなものをどうぞ。
VPN周り(Tunnel設定)
認証周りの次はTunnel設定。必要なTunnel数だけ作成します。ただしRTX830は最大で20個までしか作成されず、更にMAP-Eで1個使用しているため今回の場合は最大19個までとなります。*8
# VPN conf. ## Tunnel setting. tunnel select 2 tunnel encapsulation l2tp ipsec tunnel 102 ipsec sa policy 102 2 esp aes-cbc sha-hmac ipsec ike keepalive use 2 off ipsec ike local address 2 192.168.xxx.1(ルーターIPアドレス) ipsec ike nat-traversal 2 on ipsec ike pre-shared-key 2 text xxxxxxxx(事前共有キー/ご自由に) ipsec ike remote address 2 any l2tp tunnel disconnect time off l2tp keepalive use on 10 3 l2tp keepalive log on l2tp syslog on ip tunnel tcp mss limit auto tunnel enable 2
認証のアルゴリズム・暗号化アルゴリズムは設定例に倣っているのでお好きなものをどうぞ。ただし、スマホの機種や搭載バージョンによって対応が対応可否が変わるので、関連ドキュメントの確認と実際に設定したいスマートフォンと実証実験が必要になるかと思います。*9
VPN周り(その他)
その他VPN周りで必要となる設定をまとめて記載。
IPsecのゴニョゴニョとL2TPサービスの有効化ですね。
# VPN conf. ## IPsec transport setting ipsec auto refresh on ipsec transport 2 102 udp 1701 ## enable L2TP service. l2tp service on
IPsecのトランスポートは必要なトンネル数だけ作成する必要があります。(ipsec tunnelで指定した番号に合わせる必要があるので注意。)
最後にL2TPのサービスを有効化しておかないと意味がないので、サービス有効化を入れておきます。
フィルタ周り(IPv4)
先程から数字だけで記載されていたフィルタ(ある意味ファイヤーウォール)周りの設定。IPv4とIPv6は別々の設定となるので、最初はIPv4から晒していきます。
# IPv4 filter conf. ip filter 100001 pass * * udp 500 * ip filter 100002 pass * * udp 4500 * ip filter 100003 pass * * udp 1701 * ip filter 100004 pass * * esp ip filter 200010 reject * * udp,tcp 135 * ip filter 200011 reject * * udp,tcp * 135 ip filter 200012 reject * * udp,tcp netbios_ns-netbios_ssn * ip filter 200013 reject * * udp,tcp * netbios_ns-netbios_ssn ip filter 200014 reject * * udp,tcp 445 * ip filter 200015 reject * * udp,tcp * 445 ip filter 200020 reject 192.168.xxx.0/24 * ip filter 200030 pass * 192.168.xxx.0/24 icmp * * ip filter 200039 reject * * ip filter 200040 pass * * ip filter 200050 pass * 192.168.xxx.1(ルーターIPアドレス) esp ip filter 200051 pass * 192.168.xxx.1(ルーターIPアドレス) udp * 500 ip filter 200052 pass * 192.168.xxx.1(ルーターIPアドレス) udp * 4500 ip filter 200053 pass * 192.168.xxx.1(ルーターIPアドレス) udp * 1701 ip filter 200097 pass * * icmp * * ip filter 200098 pass * * tcp * * ip filter 200099 pass * * udp * * ip filter dynamic 200080 * * ftp ip filter dynamic 200081 * * domain ip filter dynamic 200082 * * www ip filter dynamic 200083 * * smtp ip filter dynamic 200084 * * pop3 ip filter dynamic 200085 * * submission ip filter dynamic 200098 * * tcp ip filter dynamic 200099 * * udp
100000番台がゲートウェイ向けに利用する定義、200000番台がリファレンスに記載されているフィルタ定義です。・・・厳密には200050番台がVPN周りで追加した定義ですが、こまけぇこたーいいんだよ!(良くないです)
100000番台と200050番台の定義内容が非常に類似していますが、片方はゲートウェイの通過用・もう片方がPPPoE経由で侵入を許可する定義です。似たような定義だから流用して大丈夫やろwwと堕落から手を抜くとVPN経由で繋がらずに泣きを見ます。(1敗)
フィルタ周り(IPv6)
IPoEを利用するので当然こちらもフィルタ定義が必要です。・・・ただしこちらは完全に設定例そのままなので特記すべき部分は何一つありません。
# IPv6 filter conf. ipv6 filter 200030 pass * * icmp6 * * ipv6 filter 200031 pass * * 4 ipv6 filter 200038 pass * * udp * 546 ipv6 filter 200039 reject * * ipv6 filter 200099 pass * * * * * ipv6 filter dynamic 200080 * * ftp ipv6 filter dynamic 200081 * * domain ipv6 filter dynamic 200082 * * www ipv6 filter dynamic 200083 * * smtp ipv6 filter dynamic 200084 * * pop3 ipv6 filter dynamic 200098 * * tcp ipv6 filter dynamic 200099 * * udp
フィルタ周り(その他)
セキュリティ対策などの理由で2つの設定を入れ込みます。
www.rtpro.yamaha.co.jp
www.rtpro.yamaha.co.jp
# Other filter conf. ip filter source-route on ip filter directed-broadcast on
今のところは問題なく利用出来ている
導入して1週間近く経ちましたが、今のところは問題なく動作しています。
自宅内からのインターネット接続はMAP-E(IPoE)経由で接続が行えており、バックグラウンドで余計なダウンロードが走らなければVDSL上限値に近い90Mbpsで常時安定して通信出来ています。通信が安定したお陰か、YouTubeやAmazonビデオで冒頭の超低画質映像の時間が短くなりました。*10
外部からのVPNも問題なく行え、打ち合わせなどで已む無く出社した場合のお戯れでも、休日に通院などで外出したついでに繋いだ際も問題なく利用出来ています。
そのため、私のRTX830に対するconfigは一旦これで完成・・・ですが、少し悪い癖が出てきてだいぶ前に手放したUSB LTEトングルをくっつけてバックアップ回線云々とかもやってみたいような気がしなくは無いですね・・・。
とは言え、一旦完成したconfigに手を加えると別のところに問題が出てしまうかと出てしまうと思うと言うか、過去に中途半端に設定が残ってたパラメータが問題になってしまった苦い記憶があるので、とりあえずはこの状態で利用していこうかと思います。
*1:市販のWi-Fiルーターがモデル次第ですが店頭価格で2万前後なのに対しRTX830は店頭セールで約5万、通販で最安値付近の価格を見ても約4.5万くらいなのでスゴクタカイ!・・・いや本来は業務用機材なんですけど・・・。
*2:見る限りMAP-EもWebコンソールで設定出来そう・・・。さすが現行最新モデルです。
*3:それだけで戯言日記を書けるくらいになります・・・。
*4:具体的には自宅サーバにWordPressあたりをぶち込んで公開するようなシチュエーション。この辺のパターンはほぼ完全にクラウド・VPSに移った感がありますね。
*5:以前から出してますが、この略図ってはてなブログのAA記法と言う(世間的には顔文字など向けの)アスキーアート表現用のタグ使ってるんだぜ・・・。
*6:基本的に公式のconfigそのままでは使わず、適宜カスタマイズは加えるものなので、別に「キメラ」でも何でもないんですけど・・・。
*7:OCNだけ変に特殊なことをやっているのか、パラメータに「OCN」と付いちゃってるが、何やってんでしょうかねぇ?いや「何やってんだろうねぇ?」じゃ無くてテメェで調べろと・・・。
*8:今まで利用してきたRTX1200だと最大100個までトンネルを作成出来るので、この部分ではグレードダウンしてます。
*9:ドキュメントは充実していますが、必ずしも最新バージョンまで追えているとは限らないので、最終的には自分自身での確認が必要です。
*10:PPPoE接続の頃はバッファーが十二分に貯まるまでは超低画質で再生されていましたし、YouTubeに至っては糞回線認定で手動で設定を買えないと360p程度の糞画質で再生となっていましたorz