peerc****@lists*****
peerc****@lists*****
2003年 8月 5日 (火) 23:45:21 JST
-------- MODE = Modify REMOTE_ADDR = 203.165.21.103 REMOTE_HOST = -------- LE-YON -------- 1ユーザーのメモ書き *このページは 練習を兼ねて、Peercastを使っていて気が付いたことを忘れないようにメモしてみようかと、そういうページ ---- *LAN内の他のマシンでPeercastからのストリーム配信を受けるには 本家かどこかに「''''LAN内に一台Peercastを稼動させておけば、他のPCはそこから直接配信を受けられる''''」というような記述があったような気がします。しかし、実際やろうとしてみるとなかなかうまくいきませんでした。また、これに関する解説などもなぜか非常に少ないようです。;; できてしまえば大したことはなかったのですが、同じことで悩んでる人もあろうかと思います。というわけで、;; ;; 追記:http://www.peercast.org/jp/に次のようにありました。 >同じLAN内にいる人たちは自分のマシンにクライアント・ソフトウェアをインストールしなくても、ストリームのチャンネルを聴くことができます。オフィスにはLAN全体にストリームを供給するPeerCastクライアントが1台だけあれば良いのです。 **環境 LAN内のマシンには192.168.0.で始まるプライベートなIPが割り当てられている。;; peercastが動いているPCのIPは192.168.0.2とする。このPCはポート7144を開けておく。;; **Peercastの設定 Peercastの設定画面のまんなか辺に''フィルター''という項目があります。ここに追加します。;; 追加する設定はIP Maskを''192.168.0.255''とし、チェックボックスは左から3つにつけます。(''127.0.0.1と同じ'');; そして、[設定を保存]を押すのを忘れずに;; ;; これであとはプレイヤーに配信元を教えてあげるだけです。 **プレイヤー側 Winampのプレイリストに次のURLを追加すればそのチャンネルが聞けるようになります。;; ''''''http://192.168.0.2:7144/stream/[ChannelID].ogg'''''';; ;; もしくは(面倒ですが)html文書に ''''''http://192.168.0.2:7144/pls/[ChannelID]'''''' へのリンクを書いておき、それをクリックしても同様に聞けるようです。 ---- フィルターの設定についてはよく理解していませんが、とりあえず動いています。;; 詳しい方がいたら適当に書き加えてほしいです。;; 以上;; **8月5日追記 フィルターの設定はどうやら、指定したIPからの接続をタイプ別で許可/拒否するものらしい(参考:PeerCastJpWindows) *127.0.0.1(localhost)について 127.0.0.1はループバックアドレスといって、自分自身を指すアドレスだそうです。 カレントディレクトリとかと同じ考え方だと思います。 **peercastにおけるアドレス取得法 peercastでは自分のグローバルIPの取得に特定のサーバーへの問い合わせを行います。;; もし、このサーバーが落ちていた場合には、自分のIPを127.0.0.1としてしまいます。 これは、いってみれば間違った思い込みのようなものですが、これによりおかしなことが起こります。 ・・・・いろいろあるかもしれませんが、とりあえず実際に遭遇した例で説明しておくと、 **個々のpeercastの具体的な動作 あるPCで動作しているpeercastの状況を考えてみます。;; peercastはネットワークを介して外から送られてきた情報を元に新たな接続を試みるわけですが、 送られてきたアドレスが127.0.0.1であった場合を考えると、 -まず、peercestクライアントは127.0.0.1に、つまりLocalhostへ接続しようとします。 -すると、Locathostにはすでにpeercast(自分自身)がいるので、これとの間で接続が確立します。 -結局、同じPC上のpeercast同士が接続されてしまいます。 この接続は無意味であり、またこの間では新たな情報は一切交換されないはずですが、実際にこの状況になるとその接続を介して大量のデータが流れるらしく、マシンがとんでもなく重くなります。;; そのときにはpeercastのWebインターフェース等で接続状況を確認して、127.0.0.1との接続を切れば元に戻ります。ただし、間違えてWinamp等との接続を切らないように(^^; **解決策 上の例では送られてきた情報が間違っていた、つまり自分以外のどこかのpeercastが 自IPを127.0.0.1として動作していたために、自分のpeercastがおかしな動作をしてしまいました。;; 逆に自分のpeercastがIPを127.0.0.1とした場合には周りに迷惑をかけることになります。;; これを防ぐための方法を挙げると -自分でIPを調べてforceIPしてしまう。しかしIPは頻繁に変わる可能性があるため、あまりいい方法とはいえない。 -下のコメントでanoさんが書かれているようにfilterの設定で127.0.0.1をbanしてしまう。こうすれば、ローカルのpeercastからの接続は拒否されるため、上のようなことは起こらなくなる。 2つ目に挙げた方法は、自IPが127.0.0.1であるという間違った情報が外に流れていくのを防ぐものではなく、自衛策にしかなりません。結局lookuoHostが落ちた場合に間違った情報が流れ出すのを防ぐには現状ではforceIPするしかないような気がします。 どちらにしろ2つ目の設定は行っておいたほうがいいでしょう。 グローバルなアドレスが127.0.0.1というのはあり得ないのだから、peercast内部で対処してほしいものです。;; 以上の内容に関して、LocalHostとかぶる部分が多いので参照してみてください。 ---- [[#rcomment]] - 2003-08-05 (Tue) 08:19:40 ''[[ano]]'' : LocalHost対策は…長いので、私のページにでも書いておきましょうか。仰るとおり、localhostをbanすると、Win32GUI系はまともに動作しなくなるでしょう。 - 2003-08-05 (Tue) 05:47:37 ''[[LE-YON]]'' : しかし、こうするとタスクトレイからの再生が素直に通らないような・・・. - 2003-08-05 (Tue) 05:45:55 ''[[LE-YON]]'' : localhost対策とは?結局は自IPが127.0.0.1にされてもおかしなことが起こらないということでしょうか。 - 2003-07-20 (Sun) 16:51:02 ''[[ano]]'' : 192.168.*.*でPeerCastにアクセスして、127.0.0.1をbanすると、本家が落ちたときのlocalhost対策になります…。 - 2003-07-20 (Sun) 16:49:24 ''[[ano]]'' : いらっしゃいませ。ちなみに、うちの環境ではルータから192.168.''1''.*というIPが割り当てられてます。環境ごとに微妙に違うでしょうね。 --------