NVR500でフレッツサービス情報サイトに自動接続させる覚え書き

NVR500でフレッツサービス情報サイト(旧フレッツ・スクエア)に接続する設定自体はすんなりいったものの、ブラウザでwww.fletsやspeed.fletsにアクセスしようとした時に、自動的に接続してくれるようにはなりませんでした。

そこで以下の[詳細設定と情報] > [基本接続の詳細な設定] > [プロバイダの修正(PP[02])]で宛先アドレスと宛先ドメイン名を以下の設定を追加(Bフレッツの場合)。

「宛先アドレス」に追加したIPアドレスへのアクセス要求があった場合、PP2(ウチではフレッツサービス情報サイト)にオンデマンドで接続され、そちらにルーティングされます(同じ設定画面で3分で自動切断されるようにしてます)。

次に「宛先ドメイン名」に「.flets」を指定します。これでワイルドカードが効いて、.fletsドメインに関するDNS問い合わせが、PP2側に行くようになります(そうしないとPP1のプロバイダ側のDNSではIPアドレスが引けなくてエラーになる)。最初「*.flets」としていて思い通りに動かずハマりました。またこれだと「www.flets.com」とかの場合もPP2側のDNSに問い合わせてしまう気がしなくもないですが、いまんとこちゃんと引けてるようなので大丈夫かなと。サービス情報サイト側のDNSに自社の関係サーバーのレコードは一通り入ってるのかも知れません。もしかすると「www.flets.hoge.com」みたいなドメインが引けないかもですが、まぁそんなあやしいドメインはつながらなくてもいいやw。

2013.1.23追記:ドメイン名は後方マッチらしいので直上の不安は払拭されました。

image

なお、ルーティング情報(サービス情報サイトのサーバー群が使うIPアドレス一覧)は変更になる可能性があります。今回はこちらで調べました。ひかり電話ファームアップ用はいらなそげだったので、他の2つだけ登録してあります。上手く行かないようなら最新情報を確認してみるといいかも知れません。またフレッツ光ネクストの場合はこれらの情報も違ってくるので応じたものを使ってください。

YAMAHA NVR500 ~10年ぶりにブロードバンドルーターをリプレイス

思うところがあり自宅のBフレッツをフレッツ光ネクスト・ハイスピードタイプにプラン変更することにしました。それについては実際に変更された時に改めて書きますが、ハイスピードタイプの下りは最大200Mbps。今使っているNTT-MEのMN8300はWAN側LAN側共にGigabit非対応なのでネックになってしまいます。また後述のGapNAT機能が便利で10年もの間(我が家のIT製品としては驚異的な期間)愛用してきましたが、最近たまーに(年2,3回)ハングしてくれやがりまして、しかもそれが帰省中だったりしてただルーターを再起動するだけの為に帰省を切り上げて自宅に戻ったこともなんと複数回。この年明け早々もそれで2,3日早く戻ることになりました。自宅のサーバーにつながらなくなると仕事にも差し支えるので、これを機に買い換えることに。

機種選定の要求仕様としては、

  1. WAN、LAN側ともにGigabit対応
  2. PPPoE時に200Mbps以上の性能が出る
  3. 無線LANは不要
  4. NAPT(IPマスカレード)の設定可能数が多い

辺りに注目しました。今や西日本ではGbpsクラスのブロードバンドサービスも普通にあるので、性能面は数千円クラスの機種でも満たすものがあったんですが、4がなかなかに厳しい。BUFFALOで32件、IO-DATAは20件、Coregaは10件などといったレベル。ウチは色々なサービスを公開しており、LAN側の物理サーバーもバラバラなので、DMZにサーバー機をおいておけばOKという訳にもいかず、かなり細かいポート開放設定が必要になります。MN8300だと64件設定できますが、一時休止してるものも含めると半分以上埋まっており、32件でもちょっと不安を覚えるレベルでした。

そこで2,3万円するSOHOグレード以上の製品に候補を広げ、YAMAHAのNVR500とマイクロリサーチのNetGenesis GigLink1000 (MR-GL1000)で悩んだ結果、NVR500をチョイス。特徴としては、

  1. IPv6対応(GL1000はパススルーのみ)
  2. ひかり電話、VoIP対応(アナログポートx2)
  3. アナログ/ISDN/3G対応
  4. PPTPサーバー
  5. microSDスロットによるファイル共有、VPN拠点間の同期機能有り

とYAMAHAらしく電話系の機能が充実しています。アナログ/ISDN回線はないのでハードが無駄な気もしますが、まぁそれでもMR-GL1000と変わらない価格帯なので良しとします。唯一NATテーブルが4096件とクラスの割に少なめ(MN8300と同じ)なのが気になりましたが、VoIP面が楽しげだったのもあり。MN8300が時々ハングするのはこのNATテーブルを使い切ったせいじゃなかろうかという疑いをもっていて、ここに余裕があるMR-GL1000に決めかけたんですが、まぁさしたる根拠もないし、ってことで。

またUSB端子に3Gデータ端末をつないでWAN回線に使えるということで、遅くてもいいので安いデータ回線を調達して組み合わせれば、帰省中につながらなくなった時のバックアップ回線にもなるかなとか(まぁルーター自体がハングアップしてたらどうしようもないんですが)。4,5はウチではあんまり恩恵ないかな。

■GapNATを代替する

GapNATは在りし日のNTT-ME製ルーターの特徴的な機能で、ファイアウォールの内側にいるサーバーが、WAN側のIPアドレスのまま使えるというものです。サーバーからするとNATの下にいるように見えないので設定が色々楽だったり、LAN内の他のマシンからグローバルIPアドレスで普通にアクセスできる面が便利だったりします。特にサーバー立ててると後者がとても大事。これをGapNAT抜きで実現するには、

  1. ヘアピンNATという特殊な実装がなされた機種を選ぶ
  2. 各PCのhostsファイルにdo-gugan.com->192.168.x.xを書いてしまう
  3. LAN内マシン用のDNSを用意する

といったことが必要になります。1.だと今の環境にほぼ手を付けずに移行できますが、世の中的に重要視されていないのか、そもそも対応機種が少ない上にカタログとかに書いてないことが多く、見つけるのが困難です。あるメーカーの機種が対応してるからと油断すると同じメーカーなのに非対応だったりとかザラです。

2.もお手軽ですが、ノートPC等外でも使うマシンの場合は不都合がおきます。またiPhoneなどではそもそも設定しようがありません。

3.の場合、例えばdo-gugan.comをひいたら192.168.x.xが返ってくる設定のDNSを立て、LAN内のPCからはそれを使う、という方法です。常時稼働マシンがあればそう難しいことでもないですが、メンテするサービスが増えるのは面倒っちゃ面倒です。

MR-GL1000なら1.でいけそうなのでそれもまた悩んだ理由でした。しかし、嬉しいことに、NVR500では3.を簡単に実現することができました。さすがにWeb UIには設定項目がありませんが、telnet/sshでログインして、管理者権限で

# dns static a do-gugan.com 192.168.x.x
# save

などとするだけでOKでした。外向けDNSはOSX Serverが担っているので、こちらはLAN内端末専用に使われます。同じくOSXサーバー上のDHCPサーバーにDNSアドレスとしてNVR500のIPアドレスを割り振ってやるように書き換えて完了です。

ちなみに、NVR500上でDNSレコードがキャッシュされてると上記設定をしても即時に反映されず少しハマりました。明示的にキャッシュをフラッシュするコマンドは見付かりませんでしたが、

dns cache use off
dns cache use on

としてやれば同じ結果が得られました。

■スループットを比べる

まだ200Mbps化した訳ではないのであまり意味ないですが、一応ベンチ。

フレッツのサービス情報サイト(旧フレッツスクエア、インターネットを通さないフレッツ網内での速度)の測定結果は94.20Mbps->94.25Mbpsと誤差レベル。というか何年かぶりに測りましたが理論値に近づいてて驚き。確か契約した頃は70Mbpsとかだったような。

BNRスピードテストでは

下り:51.57Mbps
上り:57.14Mbps

が、

下り66.87Mbps (ただし遅い時は20Mbps台のことも)

上り:66.66Mbps(ただし遅い時は40Mbps台のことも)

に。MN8300で1度しか測らなかったんのでなんともですが、ちょっとバラつき多くてあんまりアテにならないですね。

■VoIPアダプタを統合する

NVR500は直接ひかり電話クライアントになれるはずですが、スペック的には「フレッツ光ネクストのひかり電話」となっているので、Bフレッツの場合はどうなのかわからずまだ試してません。が、それとは別にアナログ端子につないだ電話機をSIPクライアントとしてSIPサーバーにレジストするゲートウェイ機能があります。現在NTTのVoIPアダプタ(レンタル代300円/月)と同等のことができるはず、ということで試したところあっさりAsteriskにレジストできました。最近、VoIPアダプタが不調で気付くと接続が切れており、玄関のインターホンのケータイ転送が効かない状態だったんですが、こちらを使ってそれが解消されればさらに買った甲斐が増すというものです。

 

ということで、本領を発揮するのはフレッツ光ネクストのハイスピードタイプになってからですが、とりあえずリプレイスのメモ。

Windows8でLinkStation/TeraStationにアクセスできない時の覚書き

Windows8にしたらLinkStation(WVL)にアクセスできなくなりました。認証画面にいくらパスワードを入れても通りません。Window7出たてのころにも話題になった、中身がLinux + SambaでありがちなLAN Manager認証方式の問題が上書きインストールで再発したのかなぁと思ったんですが、どうも今回はちょっと話が違いました。

BUFFALOのWindows8互換情報ページを見ると、

*3 @を含むユーザー名はLink/TeraStationのユーザーとして登録することは出来ません。(そのため@が含まれるWindows Live IDもユーザーとして登録することは出来ません。)共有フォルダのアクセス制限設定を使用する際は、Windows8のローカルアカウントを使用して下さい。

とあります。ひでぇ…Windows8ではMicrosoftアカウント(旧Liveアカウント)でログインするのが標準になったわけですが、それだと使えないので、共有の認証をオフにするか、従来形式のローカルアカウントで使ってね(てへぺろ、って言ってる訳です。ローカルアカウントだとWindowsストアにもアクセスできないし、マシン間の設定同期なども効かないのでWindows8の魅力半減って感じです。これでよく「Windows8対応」のロゴつけてるな、と。

がしかし、幸い簡単に回避できました。コントロールパネルから「資格情報マネージャー」を開き(右上の検索欄を使うと素早くたどり着けます)、「Windows資格情報」を選択、「Windows資格情報の追加」を選び、サーバー名、ID、パスワードを登録してやればOKでした。

image

TeraStation ProのHDDを総取っ替えした時の覚え書き

実家で使っていたTeraStation Pro (TS-HTGL/R5シリーズ)のHDD3が故障し、ついでに買い換えることになったのでヤフオクで処分する為に預かって来て復旧作業。

500GBx4=2.0TBモデルだったで、ちょうど以前使っていたTeraStation Livingから抜いて放置してあった500GBドライブを使って換装。前者はWD、後者はHitachiだけど、まぁ同じ筐体のモデルで採用されてた同士だから平気でしょと。

まずは保管してあったLivingのHDDのうち1台を、Proの故障したHDD3と交換。これがマズかった。HDD内にLivingのファームと設定が残っていたのが正常なHDD1,2,4にコピーされてしまったorz。ホスト名やIPアドレスどころか型番までLivingのものに。HDD3を抜いて元のHDD1,2,4だけにしても変わらず。3対1という以前に元からあったファームが、別モデルのそれで上書きされるとかチェック甘いなぁ…。モデル名とかチェックせずに単に一番新しいファームを選んで他のHDDにミラーするような仕組みなんですかねぇ。まぁ、こんな変則的な交換する人もそうそういないだろうけど…

仕方ないので、どうせデータは必要ないしということで4台全部Living由来のHitachiに総取っ替えしてゼロから環境構築することに。ランニングタイム的にもずっと眠ってたHitachiの方が状態良いでしょう(1台逝ったPro内の他の3台も遠からず逝く可能性大)。各HDDをWindows機にマウントし、全てのパーティションを削除しHDDトレイをつけかえます。この際、ケーブルの脱落防止のプラスチック部品が経年劣化で脆くなっているので折らないように注意。σ(^^)は1本完全に折り、もう1本ヒビを入れてしまいましたorz。

真っ新なHDD4台を入れて電源投入。しかしここでまたハマる。当初、ファームの入っていないHDDで起動した場合、EMモード(Emergencyモード)で起動し、PCから最新版のファームウェアアップデーターを使ってファームウェアを流し込んでやればいいと思ってたんですが、実際にはEMモードすら起動せずTFTPモードというのになりました。これは本体内に最低限のソフトしかなく、文字通りTFTPでファームイメージをダウンロードしてブートするモード。基本的にはメーカーサポートで対処する用のモードで公式サイトには手順が明かされていませんが、ググると出てきます。公式から落としたアップデータをググると出てくるパスワードで解凍し、2つのファイル、initrd.buffaloとUimage.buffaloを用意(詳細はググって下さい)。それをWidnows用のTFTPサーバーに置いてTFTPモードのTeraStationに落とさせる、という形になります。この際、TFTPサーバーは決め打ちの192.168.11.1なのが地味に面倒で、一時的にネットワーク環境を変更しなければなりません。今回はルーターを介さずにTeraStationとWindows機を直結して、Windows機のIPアドレスを192.168.11.1に手動で固定することで足りました。

TFTPサーバーとしてはこの手法の定番であるTFTPDを使用。Vectorで探すと同名の別ものが出てくるので注意。ここでハマったのは設定画面の自動的に起動以外チェックボックスをONにしておくこと(こちらの記事に助けられました)。これをしないと、Uimage.buffaloの転送成功がログに残るものの実際には転送されず無限ループします。実際に転送が始まると10分程度はゆうにかかり、タスクトレイのアイコンがオレンジからブルーに変わります。オレンジのままの時はログにどう出てようと実際には転送できてないと考えて下さい。Uimage.buffaloが終わると続いてinitrd.buffaloも転送され、合計20分程度で音がして再起動し、無事EMモードに入ります。この状態でPC側でファームウェアーアップデーターを起動すればTeraStationが見えるはずです。ちなみに見えるだけならネットワークセグメントが違っていても見えますが、実際にアップデートしようとするとコケます。σ(^^)はEMモードで起動した時点で安心してネットワーク設定を元にもどしたところ、EMモードも192.168.11.xxxのままでアップデートに失敗しました。TFTPDで通信できてた状態でそのまま続けてアップデーターまでかけてしまうのが吉です。

なおファームウェアインストールが完了すると同時にアレイ1がスパニングで構築されます。念のためディスク消去を入念にかけた後、RAID5にでもして出品しようと思います。

Darwin Streaming Serverを試す

先日の「Macで手持ち動画ファイルをソーシャルビューイングする」というエントリで書いたHangoutを使う方法は、やはりフレームレートの低さに我慢がならず他の方法を模索しました。そういえば、OSX ServerもSnow LeopardまではQuicktime Streaming Serverを搭載してたのにLionでなくなったんだよなぁ、と思って代替ソリューションをググったところ、元々オープンソースで公開されていたので、野良ビルドというかポートされたものがあるのを発見。Darwin Streaming Serverという名前で、OSX以外にもLinuxやWindowsでも動かせるみたい。OSX用のパッケージはここで拾えます。いくつかつまづいたので導入メモなど。執筆時点のバージョンは6.0.3。もうApple的にはメンテが終息してるっぽいのであまり進化はしないかも知れないですね。

■導入メモ

・OSX Serverにインストールできるようにする

なぜかインストーラー.pkgがServer OSを弾く設定になっています。もともとServer OSには入ってたものなのでその名残?こちらに回避策がありました。まず.dmgファイルを開いて仮想ドライブとしてマウントし、中の.pkgファイルをローカルドライブにコピーします(そうしないと編集できないから)。.pkgファイルは実はフォルダなので、ターミナルでcdしていけば中に入れるんですが、DarwinStreamingServer.pkg/Contents/Resources/VolumeCheck というファイルをエディタで開いて、サーバーOSかどうか調べて弾く部分を丸々コメントアウトします。具体的には29行目以降に赤字の#を挿入します。

#  don’t install on OS X Server                                                                   
#if ( -e $INSTALLED_SERVER_OS_VERS )                                                              
#{                                                                                                
#    if ( -e $ERROR_STRINGS )                                                                     
#    {   #there are localized error strings so use them                                           
#        $RESULT = 114;                                                                           
#    }                  

これでインストーラーを起動すれば普通にインストールできます。管理者パスワードや動画の保存場所などを指定すると、インストーラーが最後にブラウザで設定ページを開いてくれるので、そこをブックマークするなりしておけば、以後全ての設定はそちらで行えるようになります。

 

・動画ファイルにヒントトラックを付加する

H.264+AACなMP4ファイルが利用できるはずですが、そのまま登録しても非対応と言われてしまいます。動画にヒントトラックというインデックス情報のようなものが含まれている必要があるみたいです。QuickTime Proやmp4boxというフリーのコマンドラインツールで付加できるようです。mp4boxはエンコ作業で普段から使ってるので、以下はWindows機で作業。

mp4box.exe –hint (元ファイル名).mp4 –out (新ファイル名).mp4

などとすればヒントトラック入りの別ファイルが作成されます。再エンコードするワケではないのでファイルコピー程度の時間で終わります。

ただ手持ちのmp4box 0.4.6-DEV (internal rev. 5)では「Invalid IsoMedia File」というエラーが出てハマりました。最新版とされている0.4.6-rev2735をゲットしてみたらOKでした。バージョンは、

mp4box.exe –version

で調べられます。

最近のMediaCoderならエンコード時に自動で付加することもできるっぽいですが、ファイルサイズで比べると1,2割は大きくなるようなので、全部のファイルに予め付与しておくのは無駄かなという印象。

 

・動画ファイルへのアクセス権を付与する

これはOSX Serverだけの現象かも知れませんが、プレイリストに動画を登録して再生スタートすると、

– PlaylistBroadcaster: Permission to access the SDP reference movie was denied.
   Read access required.
   (path: /Library/QuickTimeStreaming/Movies/hoge.mp4, errno: 13).

のようなエラーが出ます。他のサンプルファイルをみるとオーナーが_qtssとなっているので、それに揃えてやります。

sudo chown _qtss hoge.mp4

 

・80番ポートを使わない場合のポート番号

インストーラーまたはポート設定画面に「80番ポートを使う」という項目がありますが、通常80番はWebサーバーが使うので重複の心配があります。そこでオフにしてみたんですが、じゃぁ代わりに何番になるかというのがどこにも表示されていません。

わかった範囲では、

1022番:管理ページ

8000: http://プロトコロルによる動画配信(iOS向け?)

554番:rtsp//プロトコルによる動画配信

等。ただし8000番を使ったhttp配信はまだ成功していません。エラーメッセージ的にはつながってるっぽいってだけ。

 

・プレイリストを作って疑似ライブストリーミングをする

PC/Macでの視聴にはrtspプロトコルに対応した動画プレーヤーを使います。具体的にはQuickTime PlayerかVLC辺りがお手頃でしょう。ファイルメニューから「URLを開く」とか「場所を開く」「ネットワークを開く」といった文言の項目を選び、アドレスを入力するだけです。

サーバーの設定画面で指定したフォルダに、hoge.mp4というファイルを置いた場合、

rtsp://(IPアドレスまたはホスト名)/hoge.mp4

というアドレスを入れれば視聴できます(ルーター越えさせる場合は554ポートを開放しておく必要があります)。ただしこれだと個々にオンデマンドで再生されるので、単純にファイル共有して視聴するのとあまり代わりありません。せっかくストリーミングサーバーを介すのだから同期視聴してこそです。それにはプレイリストを作成します。管理ページ上で「Playlists」を選ぶとプレイリスト一覧画面になるので、「New Media Playlist」を選択し新規作成します。仮にNameをhoge、Mount Pointをhoge.sdpなどとしておきます。そしてファイル一覧に動画フォルダのファイル一覧が見えてるのでドラッグして右側のリストに追加し、「Save Changes」で保存して一覧画面に戻ります。一覧画面のプレイリストに再生ボタンがついているのでクリック。Statusが「Playing」になれば成功です。エラーが出た場合はアイコンをクリックすると詳細が確認できます。またServer自体が起動しているか左上の表示で確認しましょう。

「Playing」になっていると、誰かが見て様が見てまいがサーバー上では再生が進んでいる状態です。そこで、クライアントのプレーヤーソフトから、

rtsp://(IPアドレスまたはホスト名)/hoge.sdp

のようにMount Pointを指定してやると、視聴できると思います。

■使用感

・画質

画質に関してはHangoutやSkype、iChatの画面共有に比べてはっきりと優位を感じます。というか回線速度が追いついている限り、ローカルで再生しているのと同等だと思います。

 

・使い勝手

ここはやはりHangout等に比べると若干落ちます。まずホスト側ですらあまり自由に再生を制御できません。プレイリストの再生と停止しかできないので、ちょっと面子がトイレいくから一時停止ね、とかもできない。止めたらまたプレイリストの最初からになります。クライアント側でポーズはできますが、それは当人のところで止まるだけ。Hangout等であれば画面共有しているホスト役の人が一時亭ししたりオープニングをスキップしたりも自在なので、ここは惜しいところです。

また、サーバー側でプレイリストをPlayingにしてないとクライアントからつなぐこともできないので、全員接続してから再生スタート、ということもできず、サーバーでスタートさせてからチャットなどで「よしお前らつなげ!」などと号令をかけるしかない。それでも頭の数秒は見損ねてしまうでしょう。プレイリストの先頭にダミーの動画を10秒程度入れておくと良いかも知れません。

そしてもちろんチャット周りについては何も機能がないので、SkypeなりLive Messengerなりを別途使うしかありません。まぁここはお互いがIDをもってて使いやすいものを選べるというメリットでもありますが。

クライアント側に再生ソフトをインストールしなければならない点も負担な人には負担ですが、まぁ今時QuickTime PlayerはiTunes入れてればほぼ強制的に入るし、VLCもフリーだし許容範囲ですかね。今回ネットカフェから参加した人もいましたが、VLCは再起動しなくて使えるので好都合でした(ネットカフェのPCはセキュリティの為、再起動すると全ての変更が巻戻る)。

惜しいのは動画にヒントトラックをつけないと使えない点ですね。我が家にある膨大なライブラリから「よし今日はアレ観ようぜ」とかいって即座に始められません。さりとて現状の利用頻度では全てのファイルにあらかじめヒントトラックを埋め込んで置くのはちょっと手間的にも容量的にも非効率。mp4bpxでの付加自体にはそう時間はかからないので、なにかバッチファイルなり簡単に一括付加できるフロントエンドツールなどを作っておくといいんでしょう。

 

・安定性

やはり途中何度か映像が乱れたり音声が途切れたりということがありました。もともとストリーミングを意識してエンコした動画ファイルではないので、仕方ないかも知れません。感覚的にはやはり動きが激しくビットレートが高くなるところが不安定になってた気がします。たぶん可変ではなく固定ビットレートにすると良い気がしますが、普段使いの画質を優先するかトレードオフですね。1~2Mbps程度の動画で光同士ならほぼ無問題、WiMAXでたまに不調、一番ヒドいのは某ネットカフェから参加した人、って感じでした。一度乱れだしたら、軽く(数秒?)ポーズして先読みを進めてやると良いとか、それでもダメなら再接続が確実っぽかったです。

またどうしても接続後数秒(最初のIフレームまで?)は乱れまくります。

あと、プレイリスト上の動画ファイルをまたぐ時に、次のファイルが正常に再生されないという現象が何度か出ました。出る時は全員なのでサーバー側、それも個別のファイルの問題な気がします。ちょっとまで原因がつかめてないですが、こうなったら再生を止めてプレイリストを編集して前のファイルを消し、そのファイルを先頭にして再スタートさせるしかないみたい。

サーバー自体はエンコードなど負荷の高い処理をするわけではないので、余裕っぽいです。特にファンがうなりをあげるようなことはなかったです。>Mac mini Server 2011(Core i7)

 

とまぁ、こんな状況でアポイントの数時間前から突貫で準備を始め、なんとか4人で6時間に及ぶ動画視聴マラソンを楽しく実施することができました。