Skylink HDのお話の続き。
と言うよりも、どちらかと言うとLinux絡み。
17163-630-291539
前回のエントリーで、
箱から出して、ブラウザ画面に、Skylink HDのGUIを表示させるまでは、確かに簡単です。
前提として、ネットワーク上でDHCPが動いていることがありますが、フツーにブロードバンドルータ経由でインターネット接続しているのなら、問題はないはずです。
[From Skylink HD が届いたよ #minpos | MonoFellows - Soukaku's HENA-CHOKO Blog]
とは書いていたのだけど、ウチの環境ではグローバル側とプライベート側を分けているLinuxサーバをUPnP対応にしないといけなかったというオチがあったので、その辺りのお話。
UPnP対応じゃないと、どうなるのか
前回のエントリーを書いた段階では、Macからのアクセスは問題なかったので、コレで大丈夫と思っていたのだけど、iPhoneのiShareing経由でアクセスしても、iPhoneからのデータアップロードが上手く出来なかったり、Skylink HDにおいた画像やムービーが見れないという状況だったのです。
なぜかなぁ〜、と思っていたところに「ルータがUPnP対応じゃないとダメなのかな?」ということに気がついた。
ウチでは、iPhoneもWi-Fi経由でのアクセスにはプロキシーを通しているので、UPnPが聞いていない状況で、写真のアップロードをしても、ありえないURLに対してフアイルアップロードを使用をしているログが残ってるし、
1355319183.754 0 172.16.0.252 TCP_MISS/503 4320 POST http://(null)/dav/home/Photos/Strike%20Eagle-0016.jpg? - DIRECT/(null) text/html
1355319183.999 0 172.16.0.252 TCP_MISS/503 4325 POST http://(null)/dav/home/Photos/Strike%20Eagle-0016.jpg? - DIRECT/(null) text/html
1355319184.046 0 172.16.0.252 TCP_MISS/503 4326 POST http://(null)/dav/home/Photos/Strike%20Eagle-0016.jpg? - DIRECT/(null) text/html
1355319184.095 0 172.16.0.252 TCP_MISS/503 4326 POST http://(null)/dav/home/Photos/Strike%20Eagle-0016.jpg? - DIRECT/(null) text/html
1355319184.138 0 172.16.0.252 TCP_MISS/503 4326 POST http://(null)/dav/home/Photos/Strike%20Eagle-0016.jpg? - DIRECT/(null) text/html
1355319184.180 0 172.16.0.252 TCP_MISS/503 4326 POST http://(null)/dav/home/Photos/Strike%20Eagle-0016.jpg? - DIRECT/(null) text/html
1355319184.221 0 172.16.0.252 TCP_MISS/503 4326 POST http://(null)/dav/home/Photos/Strike%20Eagle-0016.jpg? - DIRECT/(null) text/html
1355319184.268 0 172.16.0.252 TCP_MISS/503 4326 POST http://(null)/dav/home/Photos/Strike%20Eagle-0016.jpg? - DIRECT/(null) text/html

iSharingのマイサーバ画面に何も表示されない状態。
UPnPをLinuxで有効にする場合は、linux-igdというパッケージを入れれば良いということなので、それをインストールしてみた。
Debianなので、aptitudeで依存パッケージのインストールまで、らくらく完了。
nexus01:~# aptitude install linux-igd
以下の新規パッケージがインストールされます:
libupnp4{a} linux-igd
更新: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
アーカイブ 207 k バイト中 0 バイトを取得する必要があります。展開後に 655 k バイトのディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] y
バグレポートを取得しています... 完了
Found/Fixed 情報を解析しています... 完了
以前に未選択のパッケージ libupnp4 を選択しています。
(データベースを読み込んでいます ... 現在 129853 個のファイルとディレクトリがインストールされています。)
(.../libupnp4_1.8.0~svn20100507-1.1_amd64.deb から) libupnp4 を展開しています...
以前に未選択のパッケージ linux-igd を選択しています。
(.../linux-igd_1.0+cvs20070630-4_amd64.deb から) linux-igd を展開しています...
man-db のトリガを処理しています ...
libupnp4 (1.8.0~svn20100507-1.1) を設定しています ...
linux-igd (1.0+cvs20070630-4) を設定しています ...
Starting Linux IGD Daemon: Unknown config line: upnp_log_filename = "";
linux-igd.
あとは、/etc/default/linux-igd
で、インターネット側と内部ネットワーク側、それぞれのネットワークインターフェースを指定して、
EXTIFACE=eth2
linux-igdの再起動をして、下のようにupnpdが起動していることを確認。
nexus01:~# ps axf | grep upnp
30588 pts/1 S+ 0:00 \_ grep upnp
17974 ? Sl 0:00 /usr/sbin/upnpd eth2 eth0
iptablesでマルチキャストを通すように設定したら、準備OK。
nexus01:~# iptables-save | grep 224.0.0.0
-A INPUT -d 224.0.0.0/4 -j ACCEPT
-A INPUT -s 224.0.0.0/4 -j ACCEPT
これで、iPhoneからもSkylink HDに写真をアップロードしたり、Skylink HD上のファイルにアクセスすることが出来るようになります。
おそらく、一般的なブロードバンドルータ使っていたら、こんな苦労しなくていいんだろうな〜、とは思いますが。
#きっと、チェックボックス1個、オンにするぐらいで、終わりなんじゃ無いかと…。
17163-630-291539
コメントする