gnloops は gnspool で取寄せた記事を他のニュースサーバに転送するツール です。 なお、転送先のサーバにポストされた記事の出口は別途用意しておく必要があ ります。gnloops は、転送先のサーバにポストされた記事の出口に関して、一 切関知しません。双方向で gnloops を使うという手はありますが、、、 (多分)こんな使い方ができます。 # suck と rpost の組合せでも同じようなことが可能ですが、 # libretto + Windows95 で使いたかったので、作ってしまいました。 (1)ネットワークでつながっていないニュースサーバへ記事を配送 勤務先で gnspool を使ってノートPCやFD/MOなどに記事を取 得し、自宅のニュースサーバに転送するといった場合 kaisya-server -----> gnspool | V NOTE-PC,FD/MO | V gnloops ----> jitaku-server 勤務先のニュースサーバと、自宅のニュースサーバは当然記事番号が 異なります。newsrc の共用はできません。 勤務先で通常使用している newsrc を基に記事を取得すると、自分が 未読の記事しか転送されません。自分以外が自宅のニュースサーバを アクセスする場合、転送用の newsrc を別途用意する必要があるでしょ う。たとえば、以下のようなスクリプトを作って記事を取得します。 #!/bin/sh setenv HOME $HOME/kaisya-server gnspool -egC -h kaisya-server 自分以外が自宅のニュースサーバをアクセスしたり、自宅のニュース サーバからさらに別のサーバに記事を転送する場合、そういうことを してもいいのか、勤務先のニュースサーバの管理者に確認が必要でしょ う。後述の gnspool が取得する記事のニュースグループや配布範囲 には十分注意することはもちろんのことです。 自宅のニュースサーバにポストされた記事を外部に転送する方法は別 途考えなければなりません。 (2)別々のサーバで運用されている別々のニュースグループを1台に集約 サーバAには fj,comp が存在し サーバBには tnn,japan が存在し サーバCには alt,omronsoft が存在し : といった場合に、複数のニュースサーバから記事を取得し、1台のサー バですべてのニュースグループを参照できるようにするといった場合 server-A server-B server-C | | | fj,comp tnn,japan alt,omronsoft | | | V V V gnspool gnspool gnspool | | | V V V disk disk disk | | | V V V gnloops gnloops gnloops | | | | V | +--------> my-server <--------+ dnas でも同様のことができますが、以下のような違いがあります。 ・別のサーバにある同一名のニュースグループに対する処理が異なる dnas: 別々のニュースグループとして管理 ポストされた記事もそれぞれのサーバへ転送 gnloops: 同じニュースグループとして管理 ポストされた記事はどのサーバへ転送して良いかわ からない X-< どのサーバに転送しても良い場合もあるが、同一名 でサーバそれぞれ別々に運用されている場合、転送 には十分注意が必要 例: server-A でも server-B でも local.test というテスト用ニュースグループが設けら れている。 server-A からも server-B からも local.test を my-server に転送した。 転送されてきた記事に対するフォローを my-server 上でおこなった場合、 その記事は server-A に転送? それとも server-B に転送? ・転送元サーバと切れていても良い dnas: オンライン 基本的に server-A,server-B,server-C とはオンラ イン状態でないといけない gnloops: オフライン 基本的に server-A,server-B,server-C とはオフラ インで良い my-server にポストされた記事を外部に転送する方法は別途考えなけ ればなりません。上記の通り、複数のサーバで同一名のニュースグルー プが運用されている場合には特に注意が必要です。 (3)複数のサーバから記事を取得し、信頼性の向上を図る 複数の経路がある場合、別経路のニュースサーバから記事を取得し、 本経路で配送されなかった記事を補完するといった場合 ISP-A <---> server-A ----> gnspool | V disk | V ISP-B <---> server-B <----- gnloops 通常、記事の補完をする場合は、相互に記事をフィードしたり、 ihave/sendme をするものですが、server-A の手を借りられなかった り、server-A の管理者がやってくれなかった場合には、このような 運用もあるでしょう。 当然 server-A の管理者にはこのような運用をする旨承諾を得ておく 必要があるでしょう。 後述の gnspool が取得する記事のニュースグループや配布範囲には 十分注意することはもちろんのことです。 単純にすべての記事を取得、転送する場合、server-A の方が expire 期間が長いと expire された記事が再び転送されることになります。 gnspool/gnloops による転送する前に server-A に到着した記事はあ きらめ、newsrc-server-A は、全部既読状態から始める事をおすすめ します。 つまり、初回は (1) gn -h server-A (2) ニュースグループモードで c 0-1000000(全部の記事を catchup) (3) q コマンドで gn 終了。newsrc-server-A は全部既読状態。 (4) 多少の時間をおく (5) gnspool -h server-A (6) gnloops -h server-A -d server-B のような手順を踏むことになります。 両方のニュースサーバとオンラインの場合、disk を使わなくとも (1) server-A から新着記事の Messege-ID を得る (2) server-B にその記事を持っているか訪ねる (3) 欲しいといわれれば server-A から取寄せ、server-B に転送 といったこともできますが、gnloops はこのような転送をサポートし ていません。このような転送には gntunnel を使います。 注:gntunnel は、まだ(?)実在しません。 (4)ニュース配送 多数のサーバに記事を配送するような場合、my-server 上で動作する nntpsend や nntplink の代わりに、別の(複数の)マシンで gnloops 使えば、負荷分散、トラフィック分散になるかな? my-server | V gnspool | V +---------- disk -------------+ | | | V V V gnloops gnloops gnloops | | | V V V server-A server-B server-C **************重要******************* gnspool が取得する記事のニュースグループや配布範囲には十分注意のこと (1)ローカルニュースグループの意図しなかった範囲へ記事の流出 記事を取得するニュースサーバ(以下元サーバ)上にローカルなニュー スグループがある場合、そのニュースサーバから記事を取寄せ、別の サーバに転送すると、元サーバでは意図していなかった範囲からロー カルニュースグループが読めてしまいます。 例: 元サーバに omronsoft.confidential というニュースグルー プが存在しており、omronsoft.co.jp 内からのアクセスだけ が許可されていたとする。 omronsoft.co.jp 内のマシンで gnspool を使用し、このニュー スグループを取寄せ、別のサーバに転送した。この転送した サーバはアクセス制限をしていなかったため、Internet 上 のすべてのマシンから omronsoft.confidential というニュー スグループを参照できてしまった。 (2)ローカルディストリビューションの意図しなかった範囲への記事の流出 元サーバ上にローカルなディストリビューションがある場合、そのサー バから記事を取寄せ、別のサーバに転送すると、元サーバでは意図し ていなかった範囲から記事が読めてしまいます。 例: 元サーバの fj.test に Distribution: local で記事がポス トされた。この記事を取寄せ、別のサーバに転送した。 転送先のサーバは Distribution: を考慮せずにまた別のサー バに記事を転送した。 結果、Distribution: local な記事が外部に流出した。 (3)転送先に存在しないニュースグループ 元サーバ上には存在するが、転送先のサーバに存在しないニュースグ ループがある場合、その記事は junk に落ちてしまう。 例: 元サーバには omronsoft.* というニュースグループがある。 ところが転送先サーバには omronsoft.* というニュースグ ループは存在しない。 元サーバから omronsoft.* の記事を取寄せ、転送先のサー バに転送したところ、記事はすべて junk に落ちた。 Copyright (C) yamasita@omronsoft.co.jp Sep.19,1997 著作権は放棄しません。ただし、営利目的以外の使用/配布に制限は設けません。
オムロン ソフトウェア 技術開発部
山下 康成
yamasita@omronsoft.co.jp