Napster Ver.2.0Beta9を利用するための設定
一応残しておきますが、とうとう死亡してしまいましたね....
|
Napsterとは
|
|
Napsterとは、米Napster社が開発した、"ファイルの交換を行うためには必ずサーバーが必要である"という従来の概念を打ち破った革新的なソフトウェアです。 ある2台の(サーバーではない)コンピューターの間でファイルをInternetを利用して交換するには、必ずサーバーが介在する必要がありました。"サーバー"に対して"クライアント"が接続し、ファイルをダウンロードするという作業が必ず必要だったのです。閉じたネットワークではWindowsファイル共有サービスのような仕組みもありますが、Internet上でそのような仕組みを実現したソフトウェアは、Internetの誕生以来存在していなかったのです。 この概念を打ち破ったのがNapsterでした。Napsterはサーバーを必要としません。厳密に言えばNapster.comが運用するサーバーを利用しますが、Napster.comのサーバーは、Napsterを実行しているコンピューター上に存在するファイルの一覧を保持しているだけで、実際のファイルは全てNapsterが実行されているクライアントにあるのです。つまり、Napsterは Internetを利用して普通のパソコン同士がファイルを自由に交換すること をはじめて実現したソフトウェアなのです。もっともNapsterの場合は交換できるファイル形式は音楽関係のファイル形式に限られています。その中でもっとも著名な方式がMP3(MPEG Layer3)です。 容易に想像がつくと思いますが、このNapsterは著作権を考えると大きな問題があります。そもそもNapsterで交換できるMP3というファイル形式が持つ以下のような特徴自体が著作権的に問題視されていました。 ・ほとんどCDの音質を劣化させることなく楽曲をパソコンに保存できる形式に変換してしまう この特徴があるがために、いわゆるMP3プレイヤーの代名詞といっても過言ではないDiamond Multimedia社の"Rio"が初めて米国で発売された際に、法廷で大論争があった事をご存知の方もいらっしゃるかもしれません。 そしてNapster社も今苦境に立たされています。Napsterを利用すると、本来著作権がある楽曲を自由にInternetを利用して違法に交換することが可能になります。従来はサーバーにアップロードしなければ基本的に交換は出来なかったので、サーバーに目を光らせていれば大丈夫だったのですが、Napsterの登場により事実上個人間でのファイルの交換が可能になり、目の光らせようがなくなってしまったわけです。このため、著作権を持つ音楽協会などがその仕組みを作ったNapster社を攻撃し始めたわけです。 このような法律的な問題をここで議論しようと考えてはいませんが、Napsterがこのような性質を持ったソフトウェアであるということを認識した上で利用する必要はあると思います。 |
|
Napsterを利用するには
|
|
ここではNapsterを例にとり、利用するポート番号などが一切わからない、ネットワークを利用するアプリケーションを利用できるようにする際の"私なりの"手順を紹介しながら書いてみます。 Ultima Onlineなどについてもそうですが、まずはアプリケーションの本家本元のFAQやTechnical Supportのページを見るのが常道です。その常道に従って、まずはNapster社のページを見てみます。 ざっと見たところ、公式な情報では有用な情報はありません。しかし、ユーザーが自由に議論をすることが出来るForumが設置されているので、そこでいろいろ情報を探してみます。するとこんな議論がありました。 http://forum.napster.com/comments.pl?sid=01/02/09/1925253&pid=12#31 要するに、自分がFirewallの管理者であるのならば、TCPポート6688と6699を通せばいいというアドバイスが書かれています。なるほど、と思いながら、とりあえずNapsterをインストールして立ち上げてみます。すると、Napsterは起動中のサーバー検索画面で固まり、Syslogにルーターからこんなログが記録されました。 Feb 25 16:59:17 192.168.0.1 IP#2: fnum=64 rx filtered TCP from 64.124.41.16/8875 to 192.168.0.2/3981 このログは、"ルーターのフィルタ番号64番に合致したので、64.124.41.16のポート番号8875から、192.168.0.2のポート番号3981に向けて送られたパケットがフィルタされました"という報告です。 61.124.41.16をnslookupすると、c1.napster.comという返事が返ってくることからNapsterのサーバーであるということがわかるので、まずこのパケットが通るようにします。(192.168.0.2はNapsterを実行している端末) このパケットを通そうと考える際に、考え方はいくつかあります。大きく分けてまずIPで許可する方法とポート番号で許可する方法の2つがありますが、特別な理由がない限りは基本的にポート番号で制御します。これはHTTPを考えればわかるのですが、不特定多数の相手を対象にサービスを利用する場合、IPで制限するのは事実上不可能だからです。Napsterも実際にファイルを交換する際に接続する相手は不特定多数になりますし、Napsterのサーバー自体もc1という名前から想像するに複数存在する可能性が高いので、ポート番号で許可する方針で考えます。 ポート番号で考える際にも更に2種類の考え方があります。それは、"Destination Port(宛先ポート)"と"Source Port(発信ポート)"のどちらで制限をするかということです。今回の場合、何度か試した上でポート番号8875が固定のようだという結果を得たので、Source Port 8875のパケットを通す設定をすることにしました。具体的には以下のフィルタになります。 ip filter 35 pass in * * tcp 8875 * remote * nolog このフィルタを追加して再びNapsterを立ち上げると、サーバー検索画面は通過し、普通に立ち上がるようになります。しかし、いざファイルをダウンロードしようとすると、今度は以下のような別のログが登場し、ファイルのダウンロードに失敗してしまいます。 Feb 25 17:03:41 192.168.0.1 IP#0: NAT rx filtered TCP from xxx.xxx.xxx.xxx/3534 t o 210.149.234.70/6699 このログは、"ルーターのNATの設定で、xxx.xxx.xxx.xxxのポート番号3534から210.149.234.70のポート番号6699に向けて送られたパケットがフィルタされました"という報告です。21.0149.234.70というのはその時点でのルータが持っているプロバイダから割り当てられたグローバルアドレスです。 ここで思い出して頂きたいのが、私の家庭内LANはNATを利用しているということと、NAT利用の環境下でInternetから家庭内LANの特定マシンの特定ポートに接続をする場合には、ルーターに特別な設定を行う必要があるということです。具体的には、"ルーターが持っているグローバルアドレスのポート番号6699に対する接続要求があった場合、192.168.0.2の端末に要求を転送する"という設定を行う必要があります。具体的には以下の設定を追加します。 ip nat 6 192.168.0.2/tcp/6699 ipcp remote * そしてこの設定を追加してNapsterを実行すると、今度は以下のログが登場します。 Feb 25 17:08:28 192.168.0.1 IP#2: fnum=64 rx filtered TCP from 159.121.191.38/3537 to 192.168.0.2/6699 NATの設定はうまくいったようですが、今度は6699番当てのパケットの通過がIP Filterの方で許可されていないためフィルタされてしまったようです。 今回の場合、6699番が固定になるので、Destination Portが6699のパケットを通過する以下のフィルタを追加します。通常、相手->自分宛てのパケットについてDestinatino Portで制限することはないのですが、 Napsterは擬似的なサーバーソフトでもありますので、例外と考えてください。 ip filter 36 pass in * * tcp * 6699 remote * nolog これでファイルのダウンロードまで成功するようになります。まとめると、 ip filter 35 pass in * * tcp 8875 * remote
* nolog この3つのフィルタを追加すれば、Napsterを利用できるようになります。 ただし、Napsterは設定で任意のポート番号で接続を受け付けることが出来ますので、この設定ではダウンロード出来ない場合もあります。つまり、ポート番号6699以外の番号で接続を受け付ける設定にしている場合は、そのポート番号に応じて設定を変更する必要があります。ここら辺はSyslogを見ながら柔軟に設定を変更するしかありません。 |