7.3K Views
June 12, 23
スライド概要
ひかりTVをYAMAHA RTX1200を使って遠隔地で見れるようにしたお話。
ひかりTVを遠隔地で見れるようにしてみた ~YAMAHA RTX1200によるL2TPv3トンネル~
自己紹介 ⚫ 名古屋でフリーランスなITエンジニアをやってます。 ⚫ 守備範囲はサーバファームのネットワーク~DBを除くミドルウェア(L4)までのインフラ。 「DBを除く」というのは、DBはL7レイヤー勢(アプリ勢)が設計しないと良いものはつくれないと考えてるため、手を出してません。 ・・・という建前ですが、単につくれたところで自分のタスクが増えるだけで、(現立場上)賃金反映されにくいんですよね・・・ ⚫ ネットワークまわりを担当することが多く、ネットワークが繋がることに喜びをを感じるタイプw ⚫ 物理機器が好きで、自宅鯖勢。(高校生時代から運用中) ⚫ サーバOSレイヤーは、実はあまり面白みを感じてない。 (現立場上)ミドルウェア要件でパラメータチューニングするだけなので・・・ 実家のスイッチまわり(とても汚い・・・・) 2
何をした? ⚫ NGN折返し通信でL2TPv3なVPN網を構築。 ⚫ 結果、実家のひかりTV STBに接続しているUSB-HDDに録画した番組を、同市内の自宅で閲覧可能な状態になった。 ⚫ リモートから継続して機器メンテナンスできるようDDNS+L2TP over IPSecなログイン口を合わせて構築。 ⚫ 物理図はこんな感じ。 3
プロトコルフローてきな ⚫ L2TPv3は横に図が出ていますが、実際はRTX1200のLAN2同士で張っています。 ⚫ IPv4/v6アドレスは、実家側SoftBankBBルータが払い出してます。 ひかりTV通信(IPv6マルチキャスト) ひかりTV STBとペアリングした機器へのDNLA(DTCP-IP)通信 4
構築中に起こった問題点① ⚫ RTX1200はL2TPv3を実装するためトンネルインターフェースとLAN1のブリッジが必須となる仕様。 ⚫ しかし、ブリッジインターフェースはIPv6 RAに対応しない。すなわち対向拠点でIPv6アドレスを取得できない。 ⚫ SoftBankBBルータがDHCPv6で再配布してくれる仕様だったため、RTX1200のLAN8と接続して解決。 通常IPv6アドレスはLAN2からLAN1へRAで広報されますが、それらの設定を消してます。 LAN2で取得したIPv6アドレスはL2TPv3トンネルを張ることのみに利用。 ココで取得したIPv6アドレスを L2TPv3トンネルを通して、 自宅側のLAN1(FireTV Stick)で 取得することができない! ココを接続し、 SoftBankBBルータから DHCPv6にてIPv6アドレスを 払い出すことができた! 5
構築中に起こった問題点② ⚫ ひかりTV STBと接続機器(FireTV Stick)のペアリングにはDLNA(DTCP-IP)を利用していることが判明。 ⚫ DTCP-IPはLAN内で利用されることを目的とした規格のため、 TTL3以下、RTT7msという厳しい制限がある。 ⚫ 当初、L2TPv3 over IPSecとしていたトンネルのIPSec暗号化を解除することにより、なんとかRTT7msを達成。 調達のスライドにも記載しているが、上記以外にも、構築中はひかりTV STBがレンタル品の下位モデルST-3200だったこと、 SoftBank BBルータがたまにハングアップする半分壊れかけなE-WMTA2.2だったことも要因だったと思われる。 ⚫ セキュリティ面では、トンネル自体がIP指定なこと、HGWで自宅側IPv6プレフィックスでフィルタしているため、問題なし。 ココをover IPSecとしていたが、 解除することにした。 トンネル自体は両対向で アドレスを指定しているため、 盗聴は不可能。 そもそもHGWで、自宅側の IPv6プレフィックスでフィルタを 入れていたため、他アドレスは LAN側へ通信不可能。 6
構築中に起こった問題点③ ⚫ リモートVPN(L2TP over IPSec)経由で機器にログインするにはLAN1アドレスが必要だった。(あたり前田のクラッカー) ⚫ LAN1はブリッジインターフェースメンバーなため、LAN1実インターフェースにはアドレス付与がされない。 ⚫ 付与自体はコマンドにて可能なため、ブリッジインターフェースとは異なるアドレスを設定してみた。 ⚫ YAMAHA公式ではブリッジ後は動作しないとされているが、今回は問題なく動作することが確認できた。 トンネル+LAN1=Bridge1 となっている場合、LAN1には アドレス付与厳禁!らしいが、 問題なく動作してしまった。。。 7
制限事項 ⚫ リモートVPN(L2TP over IPSec)経由でRTX1200以外の機器メンテナンスは基本的に不可能。 踏み台にできるようなタコ足いっぱいPCを両家に準備する必要あり。 ⚫ 実家のHGWはどうやってもリモートメンテナンス不可能なため、オンサイトが必要。 利用している機能はIPv6フィルタくらいで、IPv6プレフィックスが変化するのは稀なため、許容することにした。 RTX1200と論理的に繋がっていな い無線LANルータ、スイッチは リモートからメンテ不可能。 リモートからできずとも、 自宅でPC繋げれば解決。 コイツだけはどうやっても リモートからメンテ不可なので、 オンサイトする。 同様の理由でこちらもリモートか らはメンテ不可能だが、 自宅側のRTX1200に繋げば 同IPがDHCPで取得できる。 8
そもそも何でやろうと思った? ⚫ 実家で契約しているひかりTVを、同市内の自宅テレビでも見たいな、と思ったのがきっかけ。 ⚫ ひかりTVチューナはフレッツ回線に紐づくため、自宅側にひいたフレッツ回線ではチューナ設置が不可能。 ⚫ 実家+自宅という二重課金は何としても避けたい。(月額もそこそこいい値段する) ⚫ ということで初期投資のみで解決できるようパワー(技術)で解決を試みた。 ⚫ 技術的、仕様(縛り)的にもそこそこ難易度が高いので腕試しにはちょうど良いと思った。 ちなみに・・・ ⚫ スマホならUSB-HDDに録り溜めた番組を持ち出しすることが可能なようです。 https://help.hikaritv.net/as/scope3/tvfaq/web/Detail.aspx?id=e4e2f6b496f3235787a41624a4f526c5a556f4b4271616c586d785a7936536733316268317a4b44747a6b553d&kindId=7&category=64&categoryNot=0&word=&listNo=7&cntPerPage=10&page=1&totalCount=26&type=0&search=7&sort=0&order=2&attributeSearch=&contentsId=225 ⚫ それをスマホのキャスト機能を使ってテレビに映せばいいじゃん!と思ったアナタ。君のような勘のいいガキは嫌いだよw ⚫ 上位URLを見ればわかるように、いちいちスマホにダウンロードのような作業を毎回やりますか?って話なんです。 ⚫ そもそも今回の趣旨からも外れてしますので、公式機能を使うっていのはボツですw 9
仕様調査~機器選定 ⚫ ひかりTVはNGN網からのIPv6マルチキャストにて配信されている。 完全な技術仕様が公開されていないのですが、ググるとあちこちで言及されています。 ⚫ ということは、自宅でも実家側のIPv6アドレスを取得できる必要がある。 ⚫ 同じアドレスを取得/利用するためには、いわゆるL2延伸技術であるL2TPv3しかないと思った。 ⚫ L2TPv3をおしゃべりできる機器(今回は物理NW機器に限定)を探したところ、YAMAHA RTXシリーズがヒットした。 仮想ルータもありますが、仮想ホストを両家に用意するのはさすがにムダが多く、電気料金的に大赤字になることまちがいなしw ⚫ 中でもRTX1200はWANポート(LAN2)が2ポートあり、L2TPv3用とPPPoE用を完全分離できることが分かった。 ⚫ YAMAHAルータはDDNSも無料で利用できることから、リモートVPNにも向いている。 ⚫ オークションで5000円程度で入手でき、最新ファームウェアも一般公開されていることからこれしかないと思った。 一般的に業務用機器は保守契約がないとファームウェア入手不可、というものが多いため、この点はありがたい。 10 ヤマハHP(https://network.yamaha.com/products/routers/rtx1200/)より借用
その他調達品 自宅側 ⚫ IPoE完全対応な無線ルータを新調。 ⚫ 無線ルータとRTX1200を分岐する必要があるため、スイッチングハブを調達。 ひかり電話は必要ないため、ONUのみ払い出される契約としているため。 ⚫ ひかりTVを閲覧できるデバイスとして、FireTV Stickとイーサネットアダプタを調達。 ⚫ 雷サージ対応OAタップを調達。 実家側 ⚫ VDSLのモジュラーケーブルを極力短くするため、RJ45-RJ11変換コネクタを用意。 ⚫ モジュラージャックからルータを設置しているリビングまでをLANケーブルで20m張りなおす。 実家で利用頻度が低いので、ノイズが乗りやすいモジュラーケーブルでダラダラにしてあった・・・orz ⚫ ひかりTVチューナが旧機器レンタルのままだったので、4K対応チューナを調達。 ⚫ 雷サージ対応OAタップを調達。 ⚫ (調達ではないが)作業中にSoftBankBBルータがハングするような挙動があったため、最新のE-WMTA2.4に交換。 恐らく、スペックアップにより今回の重要成功要因のひとつかと思われる。 11
調達費用 ⚫ 半導体不足真っ只中だったこともあり、なぜかマネージドスイッチのが安かった。 ⚫ LANケーブルはCAT6をロールで持っているので、必要な長さを切り出して自作した。 品目 型番 アンマネージ プロ スイッチ TP-Link TL-SG105E 1 ¥4,050 無線LANルータ TP-Link AX73/AX5400 1 ¥14,500 VPNルータ Yamaha RTX1200 2 ¥11,000 ヤフオクで調達 Fire TV Stick イーサネットアダプタ ← 1 ¥1,780 Fire TV Stick(第3世代) ← 1 ¥4,980 雷サージOAタップ 6個口 5m エレコム T-KM01-2650BK 2 ¥3,964 LANケーブル - 8 ¥5,000 Cat6以上で自作 RJ45-RJ11変換コネクタ エレコム LD-RJ4511THEN 2 ¥500 ひかりTVチューナ ST-3400 1 ¥14,850 数量 費用 備考 ¥60,624 12
参考文献① 皆様ありがとうございます!(順不同、敬称略) ⚫ DTCP-IPをVPNで - Speaker Deck (@pana_pana_kuma) https://speakerdeck.com/panakuma/dtcp-ipwovpnde ⚫ ひかりTVへの接続 – YAMAHA https://network.yamaha.com/setting/router_firewall/flets/flets_other_service/television ⚫ L2TPv3を用いたL2VPN – YAMAHA http://www.rtpro.yamaha.co.jp/RT/docs/l2tpv3/index.html#setting7 ⚫ L2TP-IPsec – YAMAHA http://www.rtpro.yamaha.co.jp/RT/docs/l2tp_ipsec/#setting3 ⚫ コマンドリファレンス – YAMAHA http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ ⚫ ブリッジインタフェース(ブリッジ機能) – YAMAHA http://www.rtpro.yamaha.co.jp/RT/docs/bridge/index.html ⚫ Amazon Fire TV視聴マニュアル - さまざまな視聴方法 - ひかりTV https://www.hikaritv.net/user/various/firetv/ 13
参考文献② ⚫ IPv6 IPoEの仕組み - Geekなぺーじ https://www.geekpage.jp/blog/?id=2013/1/11/1 ⚫ [RTX] netvolante-dns の削除と追加(ルーター交換時) https://www.tksoft.work/archives/217 ⚫ [SoftBank 光]ひかりTVの設定方法を教えてください。 - よくあるご質問(FAQ) - サポート - ソフトバンク https://www.softbank.jp/support/faq/view/25667 ⚫ 「ひかりTV」で使用するお客さまIDの確認方法を教えてください。 - よくあるご質問(FAQ) - サポート - ソフトバンク https://www.softbank.jp/support/faq/view/19798 ⚫ RTX1200 で L2TP-IPsec の VPN を構築する – Qiita https://qiita.com/mizutoki79/items/daad6aa30e6f1cce7ac9 ⚫ YAMAHAルーター「RTX1200」を使って「IPv6折り返し通信」L2TPv3の設定方法(ソフトイーサーOPEN DDNS利用) - J's memory https://bacque.biz/archives/7088 ⚫ マルチキャスト - IGMPスヌーピングとは https://www.infraexpert.com/study/multicastz12.html 14
まとめ ⚫ かなり強引な力技によってだが、目的および技術的好奇心を満たすことは達成した。 ⚫ かなり仕様がシビアなため、POI内でネットヘビーユーザがいると多分アウト。 ⚫ 調達費用が結構かかってしまったが、月額費用は約20か月で回収できる見込み。 おしまい 15