peerc****@lists*****
peerc****@lists*****
2003年 8月 5日 (火) 09:27:20 JST
-------- MODE = Modify REMOTE_ADDR = 219.160.35.238 REMOTE_HOST = -------- LocalHost -------- 127.0.0.1のこと。 自分のマシンを指すIPアドレス。 *LocalHost対策 [[Webインタフェース WebIFIndex]]とか使ってる人なら、 ''''Play''''や''''Relay''''のリンク先が、 普通127.0.0.1になっているはずです。 自分のマシンに入っているPeerCastというWebサーバ経由で殆どの操作が行われるので、 PeerCastではなじみ深い文字列だと思います。 http://localhost:7144/とかhttp://127.0.0.1:7144/でアクセスした場合ですけどね。 外部というか、別のアドレス(例えばLAN内でhttp://192.168.*.*:[Port]/とか)で アクセスした場合、それらのリンクも変わります。 ---- PeerCast、通常は起動したら 真っ先にconnect1.peercast.orgの7144ポートへ接続しにいきます。 Settings-LookUpHostでそう設定していた場合ですけどね (ポート番号を省略するとPeerCastデフォルトの7144ポートを用います… つまり、別サーバの別ポートを用いることもできるわけです)。 この時、自分のマシンのグローバルIPアドレスの確認もしています。 PeerCastは、お互いにIPアドレスを公開して 情報やストリームを交換するP2Pネットワークで成り立っています。 だから、それぞれのグローバルIPアドレスというのは、非常に重要です。 しかし、connect1.peercast.orgがメンテナンスなどで落ちていた場合、 自身のグローバルIPアドレスが確認できません… 仕方なく(?)PeerCastは自分が127.0.0.1〜localhostであると認識して動作します。 さて、情報の受信は、localhostでもいいんですね。自分から外への接続ですから。 問題は、外から自分への接続です。 PeerCastは、内部にある程度、他のマシンの情報を蓄えています。HostCacheとかですね。 ですから、自分がlocalhostと思いこんで動いていても、 誰かがアクセスしてくる場合があります。この時に問題が。 外から自分へ接続がきたときに、 相手へ自分のIPアドレスをlocalhostとして返してしまうんですね。 そうなると、その相手は''他人のマシンの情報''なのに、 ''自分のマシンの情報''と勘違いしてしまうわけです。 これが一人や二人なら大したことがないのですが… 残念ながら(?)、PeerCastネットワークというのはそこそこに広いです。 その間違った情報は、どんどん伝わっていきます。 また、その相手も自身がlocalhostだと思いこんでいるかもしれません。 もうこうなると、どうしようもありません。 例えば、あるチャンネルを受信しようとすると、 近くのリレーしているノードの代わりに自分に繋げようとしたりするわけです。 集中型のネットワークではないPeerCastですが、 このグローバルIPアドレスの認識の仕組みのために、 どうしても一つのサーバに頼らなければならないというのが残念ながら現状です。 ---- この時、少しだけ自衛策があります。 '''Settings-Filterで127.0.0.1をbanしてしまう'''という強硬手段です。 その代わり、'''localhostではないアドレスに対してprivate等を許可する'''んです。 プライベートIPアドレスがお手軽ですね。 つまり、「''''外部''''からWebインタフェースに接続して操作」ということです。 ネットワークに詳しくない方、またはWin32GUIで普段操作されている方には 全くお勧めできないのですが、普段Webインタフェースから操作されている方なら、 アクセスするアドレスをほんの少し変えるだけで殆ど普段通りに操作できます。 localhostをbanすることによって支障が出るのは確かですが、 その代わりに不要な情報の廃棄などができます。 また、通常は他の方が自身の環境で192.168.*.*にアクセスしたところで PeerCastが動作している確率が非常に低いために、 localhostと誤認している時ほど他人へ悪影響はありません。 ---- これはあくまで無理矢理な自衛策であり、あまりお勧めできる事ではありません。 なお、正しい対処方法は、一時的にforceIPする事ですが、意外に手間がかかりますし、 頻繁にIPアドレスが変わってしまう方にはあまりお勧めできません。 DDNSを使える方なら、ホスト名をforceIPに指定してしまい、 こまめにIPアドレスを更新するのも一つの方法でしょう。 しかしこれは「他人に迷惑をかけない」努力でしかなく、 他人の間違った情報を排除できる物ではありません。 PeerCastに代替LookUpHostの指定ができるよう要望するしかないでしょう。 もっとも、その代替LookUpHostになってくれるようなサーバを提供してくれる方が (現状で)居るとは思えないのですが…。 ---- [[#rcomment]] --------