DLNA with VPN

よく話題が動く人ですが、今回はDLNAをVPN経由で構築するときのことを書きたいと思います。

DLNAサーバーがどこでも閲覧できるならメディアデータを持ち歩く必要はない

メディアデータがネットワーク経由で取得できるのであればものすごく簡単になるのはわかると思います。

が、携帯端末でそれができる方法というのがあまり多くないので最も代表的にネットワーク上からデータを取得できるプロトコルとしてDLNAを使用する、という考えになりました。

そして、それを安全に(暗号化して)通信する、となるとさらにVPNが必要になるのも自明なわけですね。

ちなみに構築できても結局ネットワーク経由で再生するので、無線LANではなく携帯側の回線を使うとパケ死どころではすみません。かなりの確率で帯域制限となるでしょうね・・・。

DLNA ServerはMediatomb、VPNはxl2tpd+openswanで

まあ、Linux経由なのでその方法についてはあまり考えるまでもないことですが、こうなりました。

そもそもDLNAのサーバーについては前に構築しているのでそれを流用するだけですが、VPNの構築についてはどの方法を選択するか?で考えることになりました。

選択肢にしていたのは次の3つです。

  1. OpenVPN
  2. PPTP
  3. L2TP with IPsec

といっても、そもそも私の狙いが「AndroidおよびiPhone(iPod touch)から直接VPNを接続できる」なので、OpenVPNは一度構築経験がありますが除外されました。

で、残りの2つはどちらも対応しているのですが、Xperia acroの「PPTPは3G(W-CDMA)経由では使用できない」の制約からあっさりと除外されて・・・。

結局対象となったのはL2TP with IPsecということでした。

そうなると、LinuxでL2TP with IPsecを構築できるソフトを探してみるととりあえずxl2tpd+openswanということになり、構築作業に移ったわけです。

インストールと構築自体はそれほど難しくはない

Fedora15なので、パッケージをインストールすれば依存も自動的に解消されますので楽ちんです。

構築についても適当に検索を行って出てきたページに従って適当に設定すれば終わります。

気をつける点としては、開放するポートはUDPの500および4500ということです。

実際にはそれ以外のポートを使う「こともある」かもしれませんが、それだけで十分です。実際に私はこの2つ以外ポート解放を行っていません。

IPsecのパススルーが簡易設定できるルーターであればそちらを使った方がより安全です。

iPhone系では二度目以降の接続がうまくいかない

Android(この場合はXperia acro)ではこの制約はないのですが、iPhone系でははじめの接続は正常にできるのですが、二度目以降の接続がうまくいきません。

これに関してはあまり情報がないので何とも言えないのですが、設定からどうにかして解除できる方法があるのかもしれません。

私の場合は今の段階ではテストなので接続不可とみるとIPsecのサービスを即座に再起動するというひどい方法に出ています。

なんかうまい解消法とかないんですかね・・・?

そしてDLNAのクライアントに注意

さらに注意点なのが、AndroidやiPhoneのアプリで公開されているほとんどのDLNAクライアントはVPN経由では使用できません。

これは、DLNAのサーバー検索に標準でUPnPを使っているからです。これがVPN経由だと基本的にはじかれてVPN先のサーバーまで検索できないからです。

これを解除するには直接メディアデータがあるXMLファイルを指定できるDLNAのクライアントが必要になります。

今のところ私の場合はiOS系では(有料ですが)PlugPlayerを使っています。これは正式にVPN対応を発表しているようにメディアデータのXMLファイルのURLを直接指定した検索ができるので

この機能を使ってVPNを超えてDLNAの機能を使うことができます。(PlugPlayer+MediatombならDevice=>デバイスを手動で追加=>デバイスURLに「http://[(VPN先での)Mediatombが動作中のサーバーIP]:50500/description.xml」を指定する)

無料のクライアントのいくつかで試しましたが見事に全滅でした。無料でアドレス指定ができれば言うことがないのですが・・・。

WinXP以前でL2TPを使うときはNAT traverseに注意

Wikipediaの項目にもこれが書いてあるのでそちらを参照してください。

簡単に言うと「VPNでNAT越えをするとき、WinXPでSP2以降の時はレジストリにとある値を書き込まないとはじかれるよ」というやつです。

書き込んだ後で再起動を行うことで初めて有効になります。セキュリティ的には仕方のないことらしいのですが面倒な設定ですね。

まあ、構築できてもしばらくは使わないのでしょうが

このシステム自体はせいぜい「出張」しているときくらいしか使わないものです。

有効に使えるとするならば「ビデオをDLNAで認識できればどこでも再生できるのでその点だけ便利」と言うだけでしょうか・・・。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この記事のトラックバック用URL