ISP-Hookup-HOWTO Egil Kvaleberg, egil@kvaleberg.no v1.24, 14 February 1997 佐藤亮一 (rsato@ipf.de) 1997.11.26 この文書は Linux を使ってインターネットサービスプロバイダ(以下、訳文中 ではプロバイダと略記)とダイアルアップ接続するにはどうすれば良いかを取 り扱うものです。ダイアルアップの基本的方法、IP の確立法、電子メール・ ニュースの取り扱いについても解説しています。 ______________________________________________________________________ 目次 1. はじめに 1.1 本文書の最新版の所在 1.2 御意見、御感想は 1.3 免責条項 1.4 著作権情報 2. 外の世界と繋がるにはどうすれば良いか。 2.1 基本設定 3. ネットワークサーフィンを楽しむには。 4. 電子メイルのやり取りをするには 5. ニュース 5.1 オンライン(接続時)用ニュース閲覧ソフトの設定法 5.2 オフライン(非接続時)用ニュース閲覧ソフトの設定法 5.3 C News の設定法 5.4 Leafnode の設定法 6. 接続手続きを自動化する方法 7. 最後に 7.1 ほかに知っておくべきこと 8. 各プロバイダ固有の問題 8.1 もっと詳しく知りたい方へ 8.2 謝辞 ______________________________________________________________________ 1. はじめに この文書はプロバイダとダイアルアップ接続をする際の設定、Linux の使い方 に関する質問に答えるためのものです。 Linux を搭載したコンピュータで初めてプロバイダと接続してみようという方 々のお役に立つために、極力広範な問題を取り上げるように努めました。他の HOWTO 文書や LDP 書籍類とかなり重複する部分があるのは、この文書の性格 上やむを得ません。理解を深めたりより詳細なことを知るためには、これら関 連文書に目を通すことが必要です。 既存の文書にはある程度の経験がある人を読者として想定したものが多いよう です。初心者にとって情報の整理に困難を覚えることがしばしばであるのも、 ここに原因があるのです。 説明を分かりやすくするために、以下のような例を設定することにしましょ う。 User name: dirk Password: PrettySecret Internet service provider: acme.net Email server: mail.acme.net News server: news.acme.net Name server: 193.212.1.0 Phone number: 12345678 ここに登場する dirk 氏は自分のコンピュータを roderick と呼んでいるもの としましょう。 申すまでもないことですが、この設定例は読者各位が御利用になっているプロ バイザに対応するものに変更しなければなりません。御利用のプロバイダに よっては、若干の修正が必要となることもあります。何らかの問題がございま した際には、是非とも著者まで御一報下さい。 1.1. 本文書の最新版の所在 この文書の改訂版を定期的に comp.os.linux.answers に送付しています。ま たそこの情報を集めている匿名 FTP にも改訂版があるはずです。このような 匿名 FTP の例を以下に掲げます。 ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO さらに、以下のLinux Documentation project ホームページでもこの文書は見 つかるはずです。 http://sunsite.unc.edu/LDP/ それから、この文書のできたてのホヤホヤの最新版は各種の形式で以下の場所 に置いておきます。 ftp://ftp.sn.no/user/egilk/ISP-Hookup-HOWTO.txt ftp://ftp.sn.no/user/egilk/ISP-Hookup-HOWTO.ps.gz ftp://ftp.sn.no/user/egilk/ISP-Hookup-HOWTO.tar.gz http://home.sn.no/home/egilk/ISP-Hookup-HOWTO.html 1.2. 御意見、御感想は 御意見、間違いの指摘、追加情報その他の御批判は直接下記にまで御送付下さ い。 egil@kvaleberg.no http://home.sn.no/home/egilk/ 1.3. 免責条項 本文書の内容についての責任は、これを否認します。御自身の責任で本文書の コンセプト、例、内容を御利用下さい。また、これは初期の版ですので不正確 な点や錯誤が随所にある可能性があることを御承知おき下さい。 ここで御紹介するのは、あまたの設定法の内のひとつに過ぎません。あること を成し遂げるための道は幾つもあるというのが Linux の世界の常なのです。 別の方法を紹介している段落には、「代替案」という表題を掲げました。プロ グラムの新版については FTP アドレスが多少変更になっていることが少なく ないので御注意下さい。 ここで紹介したプログラムは著者の知る限り、個人向けに特定の条件のもとで 使用・試用が許諾されているものばかりです。大部分のプログラムは GNU に 準拠した条件でソースを含むすべてが公開されているものです。 1.4. 著作権情報 この文書は Egil Kvalberg の著作物 (c) 1996 であり、以下の条件で配布さ れています。(この部分は原文のままとします) Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; how- ever, the author would like to be notified of any such dis- tributions. All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below. If you have questions, please contact Greg Hankins, the Linux HOWTO coordinator, at gregh@sunsite.unc.edu Finger for phone number and snail mail address. 2. 外の世界と繋がるにはどうすれば良いか。 基本的なネットワークソフトはすでに組み込み済みであることを前提としてい ます (たとえば、 Slackware の N シリーズの主要部分)。さら に、/dev/modem 用のシリアルポートの設定も終わっているものとします。 初期設定では「/dev/modem に直接アクセスできるのはルートユーザーだけ」 となっているのがふつうです。 プロバイダのシェルアカウントと直接接続して、接続時に必要な手続きを試し てみるには、minicom というプログラムが利用できます。これはなかなか使え るプログラムです。 2.1. 基本設定 ネットワーク上で利用できるようにコンピューターを設定するにはルートユー ザーとして作業することが必要です。作業をするめる前に、/etc/hosts.deny というファイルに以下の行があることを確認してください。 ______________________________________________________________________ ALL: ALL ______________________________________________________________________ ふつうは自分自身に許可を与えたいでしょうから、以下の行を付け加えます。 ______________________________________________________________________ ALL: LOCAL ______________________________________________________________________ あるいはこだわって、以下のようにすることも可能です。 ______________________________________________________________________ ALL: 127.0.0.1 ______________________________________________________________________ これ以降の説明は、PPP 経由で動的 IP アドレスを取得して接続することを仮 定したものです。専用線接続を利用できる恵まれた方の場合は、若干設定が異 なります。 幸いにもコンピュータに接続する際に用いている名前を動的 IP アドレスの指 定をうける時にも自由に使えるようになっているときには、/etc/HOSTNAME に その名前を付け加えます。 ______________________________________________________________________ roderick ______________________________________________________________________ 次は、/etc/resolv.conf にネームサーバーを以下のように指定します。 ______________________________________________________________________ search . nameserver 193.212.1.0 ______________________________________________________________________ ネームサーバーの指定には必ず数字表記の IP アドレスを使用しなければなり ません。この数字はプロバイダ毎に異なります。必要であれば、最大三個まで のネームサーバーを指定することも可能です。その際にはそれぞれのネーム サーバーをそれぞれ別の行に記載してください。ネームサーバーは上に記載さ れたものから順に利用されます。 somemaschine.acme.net を somemachine と略記したいようなときは、一行目 を以下の要領で書き直してください。 search acme.net /etc/hosts の最小限の設定を以下に掲げます。たいていの人はこれで間に合 うでしょう。 ______________________________________________________________________ 127.0.0.1 localhost 0.0.0.0 roderick ______________________________________________________________________ 決まった IP アドレスをもらっている人は、0.0.0.0 という部分をその指定さ れたアドレスに書き直してください。 同様に、最小限の /etc/nwtworks は以下のようになります。 ______________________________________________________________________ loopback 127.0.0.0 localnet 0.0.0.0 ______________________________________________________________________ さらに、外部のメイルドメインを/etc/mailname に以下のように記載します。 ______________________________________________________________________ acme.net ______________________________________________________________________ プロバイダに接続する際に利用するユーザー名とパスワードを /etc/ppp/chap-secrets に以下のように書き込みます。 ______________________________________________________________________ dirk * PrettySecret ______________________________________________________________________ PAP 認証のプロバイダの場合は/etc/ppp/pap-secrets になります。 接続するために重要な手続き自体を/etc/ppp/chatscript に以下のように指定 します。これは PPP に先駆けて起動されるものです。 ______________________________________________________________________ TIMEOUT 5 "" ATZ OK ATDT12345678 ABORT "NO CARRIER" ABORT BUSY ABORT "NO DIALTONE" ABORT WAITING TIMEOUT 45 CONNECT "" TIMEOUT 5 "name:" ppp ______________________________________________________________________ 細かな部分は訂正の要があります。三行目の電話番号を書き直さなければなら ないのはいわずもがなのことでしょう。御使用中のモデムによってはの初期化 命令である ATZ を変更する必要があるかもしれません。最終行はプロンプト 行と、このプロンプトに対して ppp と入力することを想定したものです。ロ グイン手続きはシステムによって異なることでしょう、 電話が本当に繋がると、以下の命令で PPP プロトコルを起動します。 ______________________________________________________________________ exec pppd connect \ 'chat -v -f /etc/ppp/chatscript' \ -detach crtscts modem defaultroute \ user dirk \ /dev/modem 38400 ______________________________________________________________________ これで完全に接続は出来上がっています。Ctrl-C を入力してプログラムを kill するまでは接続が維持されることになります。接続に関わる一切のメッ セージはシステムログに記録されます。以下の命令で、これを閲覧してみま しょう。 ______________________________________________________________________ tail /var/adm/messages ______________________________________________________________________ PPP 接続が成立している限り、インターネットに直接アクセスしたり、 ftp, ncftp, rlogin, telnet, finger 等々のプログラムを利用することが可能で す。上記のプログラムはいずれも(各配布の)ネットワークパッケージに含まれ ています。 PPP 接続の詳細については、以下を参照してください。 /usr/lib/ppp/README.linux /usr/lib/ppp/README.linux-chat 最後に、「安全」の問題について申し添えておきましょう。 /etc/inetd.conf というファイルには、御使いのコンピュータが外部に提供しているサービスの 一覧が記載されています。先に作成した /etc/hosts.deny というファイル は、外部からのアクセスをすべて拒絶する内容となっています。必要な方は /etc/hosts.allow に許可するアクセスを明示的に記載してください。ローカ ルトラフィックを許可する場合には以下のように記載します。 ______________________________________________________________________ ALL: LOCAL ______________________________________________________________________ hosts_access(5) のマニュアル頁をも併せ御読み下さい。 最後に一言: POP プロトコルの呼称については混乱があるようで す。/etc/service に記載されている定義は、以下のようにまさに何にでも当 てはまるようなものになっています。 ______________________________________________________________________ pop2 109/tcp pop-2 # PostOffice V.2 pop3 110/tcp pop-3 pop # PostOffice V.3 ______________________________________________________________________ 代替案: chatscript の代わりに、ずっと柔軟な dip を利用することも可能で す。ただし、 diald とはいっしょに使えません。 代替案: イーサネット等を経由して TCP/IP を繋ぎっ放しにできる恵まれた境 遇にある方は、PPP のことをいっさい忘れてくださっても結構です。このよう な方は、むしろネットワークカードの設定に専心なさった方がいいでしょう。 代替案: PPP は使えないけれど SLIP なら利用できるという方のために は、PPP とほぼ同じようなサービスがあります。今一つの方法は UUCP です。 ニュースや電子メールを交換する別の手段である SOUP を使わざるを得ない方 もいらっしゃるでしょう。このような方向けの情報は以下のところにありま す。 ftp://ftp.sn.no/user/bjorn/Linux-offline.tgz TERM というのも一つの選択でしょう。これについては Term-HOWTO を参照し てください。 3. ネットワークサーフィンを楽しむには。 「大切なのは文章だ」と御考えの方には、Lynx という Web 閲覧ソフトがいい でしょう。入手先は以下の通りです。 ftp://sunsite.unc.edu/pub/Linux/system/Network/info- sys- tems/lynx-2.3.bin2.tar.gz X-windows を使っていらっしゃるなら、以下に掲げるグラフィック閲覧ソフト が使えます。 Chimera の入手先は以下の通り。 ftp://sunsite.unc.edu/pub/Linux/system/Network/info- sys- tems/chimera-1.65.bin.ELF.tar.gz http://www.unlv.edu/chimera/ Mosaic は、 ftp://sunsite.unc.edu/pub/Linux/system/Network/info- sys- tems/Mosaic-2.7b1-aout.tgz ftp://ftp.NCSA.uiuc.edu/Web/Mosaic/Unix/binaries/2.6 Mozilla (Netscape) なら、 ftp://sunsite.unc.edu/pub/Linux/system/Network/info-sys- tems/netscape- v11b3.tar.gz ftp://ftp.cs.uit.no/pub/www/netscape 上記のプログラムは常時、最新の様々な意味でワクワクするようなバージョン が入手可能となっています。 評価のために試用できる期間には制限があります。これを尊重するようにしま しょう。 4. 電子メイルのやり取りをするには とにかくまず最初に、 sendmail がインストールしてあることを確認しましょ う。 sendmail は内部宛てのメールと外部行きのメールを振り分けて、送付が 可能になるまで外部行きメールをバッファにため込みます。 sendmail の設定ファイルは /etc/sendmail.cf です。御利用のプロバイダに 適した設定例は以下の場所に納められています。 ftp://ftp.sn.no/user/egilk/sendmail.cf この例は procmail を配送エージェントに用いたものです。しかし deliver を使うように変更するのは簡単です。 外部行きメール用に公式のドメイン名が必要な場合には、/etc/sendmail.cf に経路を指定してください。 ______________________________________________________________________ # who I masquerade as (null for no masquerading) DMacme.net ______________________________________________________________________ これは、ローカルのユーザー名とプロバイダで使っているユーザー名が一致し ていることを前提としたものです。sendmail がメールを直接受取人に送達す るような設定になっています。接続時間が長くなったり、最終受取者との接続 が遅いとか不規則だという理由から接続が繰り返されたりするのを避けるため にプロバイザをバッファとして利用するのは、だれにとっても良い方法です。 このためには、DS を以下のように設定します。 # "Smart" relay host (may be null) DSmail.acme.net sendmail は sendmail.cf 中のタブ文字の取り扱いに敏感であることに留意し てください。タブ文字が元のままになっているかどうかを確かめるには、vi のようなエディタを使う方が良いかもしれません。 電子メールの受信には POP3 というプロトコルを利用することが多いようで す。これをプロバイダと接続する度に起動します。試してみるための書式を以 下に掲げます。 ______________________________________________________________________ sendmail -q popclient -3 -v mail.acme.net -u dirk -p "PrettySecret" \ -k -o /usr/spool/mail/dirk ______________________________________________________________________ この書式は PPP 接続が確立してから後に用いるものです。この書式はあくま で試験用だということを忘れないでください。ローカルのメイルボックスはこ の書式を実行しても手付かずのままなのです。 -k オプションは「メイルはプ ロバイザのメイルボックスに留まったままにする。受け取るのはメイルの複写 だけだ」という意味です。ちゃんと設定できていることが確認できたら、この オプションを外してください。 この方法では、パスワードがコマンドラインに表示されてしまうことに注意し てください。 安全かつより優れた書式は、以下のところに納められています。 ftp://ftp.sn.no/user/egilk/pop-script.tar.gz この書式を利用するには、procmail をインストールしておく必要がありま す。しかしこれをインストールして後悔することはないでしょう。 ftp://sunsite.unc.edu/pub/Linux/system/Mail/mailhan- dlers/procmail-3.10-2.tar .gz procmail は様々な基準で受信したメイルをより分けるための軽くて多彩に利 用できる道具です。休暇を告知するなどの仕事を自動的にこなす機能も付属し ています。 ここでの場合のように procmail を直接を使用するときには procmail の付属 文書の説明とは多少話が違うことに留意してください。 .forward は必要あり ません。同様に .procmailrc も不要です。後者が入用となるのは、メイルを 整除するときだけです。 電子メイルを送受する際のユーザインタフェースには Pine や Elm のような プログラムも利用できます。 代替案: popclient の代役候補として最近もっとも人気なのは、fetchmail で す。最新版は以下のところに納められています。 ftp://ftp.ccil.org/pub/esr/fetchmail/fetchmail-3.3.tar.gz (訳注:1997.10.20現在の最新版は fetchmail-4.3.1.tar.gz です) 代替案: 普通のダイアルアップを使用している人は、 sendmail デーモンを起 動するには及ばないでしょう。資源節減のためには、sendmail を起動する部 分(通常は /etc/rc.d/rc.M にあります)を注釈文にしてしまえばいいでしょ う。 代替案: sendmail に代えて、より簡単な smail を使うという方法もありま す。 Linux Network Administrator's Guide (Linux ネットワーク管理者ガイ ド)には、このプログラムの詳細な解説があります。 代替案: sendmail.cf をつくるためのパッケージには m4 macro があります。 単純なインストールを行う場合には、既製品の設定にちょっとした変更を加え るだけで済みます。 代替案:柔軟さには欠けるもののもっと簡単な方法もあります。設定が正しけ れば、 pine は独立のプログラムとしても利用可能です。また web 閲覧ソフ トの新しいものの中にも、メイルプログラムとして利用できるものがありま す。 代替案: emacs 環境で利用する gnus を電子メール・ニュース処理用に愛用し ている人も大勢います。詳しくは、以下を御覧下さい。 http://www.ifi.uio.no/ larsi/ 代替案: popclient の代替候補の一つは pop-perl5 です。所在は以下の通り です。 ftp://sunsite.unc.edu/pub/Linux/System/Mail/pop- perl5-1.1.tar.gz 5. ニュース 5.1. オンライン(接続時)用ニュース閲覧ソフトの設定法 PPP が生きている限り、オンラインでニュースを読むことができます。これ用 に使えるプログラムは星の数ほどあります。簡便な代替策としては、 rtin や trn があります。 ニュースを読むために設定しなければならないのは、大抵の場合( .profile で一度指定しておしまいというのが普通の方法です)以下のことだけです。 ______________________________________________________________________ export NNTPSERVER=news.acme.net ______________________________________________________________________ 送信時の From アドレスを正しく設定するためには、以下の指定が必要なプロ グラムもあります。 ______________________________________________________________________ export NNTP_INEWS_DOMAIN=acme.net ______________________________________________________________________ 5.2. オフライン(非接続時)用ニュース閲覧ソフトの設定法 非接続時にニュースを読めるようにして、電話代を節約すると同時にニュース と柔軟に付き合えるようにするためには、何らかのローカルニューススプール をつくる必要があります。それには若干の設定をしなければなりません。ま た、ある程度の大きさのディスクの空きも不可欠です。ひとたびスプールを 作ってしまえば、後はだいたいのことが自動で実行できます。時々気を配って やらなければならない項目はありますが、大したものではありません。 二種類の方法を以下に御紹介しましょう。 5.3. C News の設定法 ここで御紹介する方法は、C News というニュースサーバと NNTP というプロ トコルを利用するものです。C News はもともと我々の用途とは異なる使用局 面を想定したものですが、本書の目的にとっても有用なものです。もっと新し いパッケージである INN というニュースサーバーを使ってみたいという方も いらっしゃると思いますが、これは C News 以上に資源を蕩尽します。いずれ にせよ、この両方を組み込むことのないように注意してください。両雄並び立 たずなのです。 ニュースの維持作業はすべて news というユーザー名でログインしている間に 済ませるというのが鉄則です。また設定ファイルはどれもを /usr/lib/news に置く必要もあります。このためには root でひとまずログインした上で、改 めて su news; cd を実行するのが良いかもしれません。 設定ファイルの中では以下のものがもっとも大切です。 active は購読中のニュースグループの概観を与えるものです。これを更新す るには addgroup という命令を使用します。用例: addgroup comp.os.linux.networking y organization にはヘッタのorganization という項目に記入したい名称を記入 します。本文書の場合なら、 Dirk Gently's Holistic Detective Agency となります。 mailname には本文書の例なら、 acme.net と記入します。 mailname whoami にはあなたのサイト名を Path: 以下に指定します。ここでの設定では NewsX を使っているので、 sys sys はニュースの取得、再配布を司るものです。以下の例は acme.net をパス に追加するプロバイダを想定したもので、このプロバイダが唯一のニュース取 得源となっています。この例は、受信したニュースをすべて受け入れる・未読 のニュースだけをacme.net に投稿する・投稿するニュースはあらかじめ手元 のサイトに送付されているということを示しています。この例は簡素なもの で、すべてのニュースグループを一つのところから取得する用になっていま す。/allという指定は配布を指定するもので必ず必要です。F は、投稿する記 事が一つのファイルに集められているということを示しています。 ______________________________________________________________________ ME:all/all:: acme/acme.net:all,!junk/all:FL: ______________________________________________________________________ 送り出すニュース用のサブディレクトリを作成します。私共は以下のようにし ました。 ______________________________________________________________________ mkdir /var/spool/news/out.going/acme ______________________________________________________________________ mailpaths mailpaths は moderate された グループ宛ての投稿を管理するものです。し かし、これは普通プロバイダに委ねる仕事です。 C News には毎日必要な管理作業があります。しかし一度指定してしまえば、 この仕事は news というユーザで crontab -e 命令を実行するという方法で 済ませてしまうことが可能です。以下の推奨例を御覧下さい。必要なものは押 さえてあります。 ______________________________________________________________________ # maintain incoming and outgoing batches 10,40 * * * * /usr/lib/newsbin/input/newsrun # expire C News, once a day 30 0 * * * /usr/lib/newsbin/expire/doexpire # monitor and report if needed 00 2 * * sat /usr/lib/newsbin/maint/addmissing 40 3 * * * /usr/lib/newsbin/maint/newswatch 50 3 * * * /usr/lib/newsbin/maint/newsdaily ______________________________________________________________________ newsrun は記事の授受を司り(一時間に二回起動)、doexpire は古くなった記 事を削除する(毎日00:30に起動)ものです。その後の三つの命令は様々な監視 業務、エラー訂正作業を行うためのものです。 上記の諸作業がきれいに処理されていることをコンピュータ起動時に確認する 必要があります。ルートになって、以下の一行を /etc/rc.d/rc.local に付 け加えてください。 ______________________________________________________________________ su news -c /usr/lib/newsbin/maint/newsboot ______________________________________________________________________ ニュースは NewsX というプログラムを用いて NNTP サーバーから購読するこ ともできます。このプログラムの所在は以下の通りです。 ftp://sunsite.unc.edu/pub/Linux/system/news/trans- port/newsx-0.9.tar.gz ftp://ftp.sn.no/user/egilk/newsx-0.9.tar.gz NewsX の組み込みは至って簡単です。以下のような古典的な方法で行えます。 ______________________________________________________________________ make su make install exit ______________________________________________________________________ ここで概要を紹介した方法で組み込みを行った場合、このほかに必要なのは addgroup を使って購読したいグループを作成することだけです。 記事を取り寄せるには、news というユーザーとして以下の命令を実行しま す。(PPP あるいは同様の方法を用いるものとします)。 ______________________________________________________________________ newsrun newsx acme news.acme.net newsrun ______________________________________________________________________ -d というオプションを付けると、画面上に記事がずっと表示され続きます。 詳細については、NewsX の付属文書を参照してください。 NeewsX はニュース記事の投稿をも司ります。 古くなった記事を処理するためには、explist というファイルが必要です。以 下の例に付した解説は、ニュースの管理にはどのような作業が必要かを説明す るためのものです。 ______________________________________________________________________ # hold onto history lines 14 days, nobody gets >120 days /expired/ x 14 - /bounds/ x 0-1-120 - # 以下のグループの記事は二ヶ月保存 comp.sources,comp.os.linux.all x 60 - # ごみは捨てる junk,control x 2 - # その他は二週間保存。書庫化は行わない。 all x 14 - ______________________________________________________________________ 代替案:小規模のニューススプールなら、 control というニュースグループを 作る必要がないことも少なくありません。利用する量に比べて情報流通量が大 きすぎるからです。重要な点は、記事は削除されるのにグループは自動的に作 成されてしまうということにあります。newgroup を含む制御メッセージが話 をめちゃくちゃにしないように気をつけてください。newgroupperm という ファイルを使って、何を許容するかを指定します。 ______________________________________________________________________ comp.os.linux tale@uunet.com yv all any nq ______________________________________________________________________ この例は、comp.os.linux 以下のすべてのグループを作り(y)、ユーザー ニュースを通知する(v)場合のものです。これ以外のものは全部、表示せず(q) 無視されます (n)。手作業ですべてのグループを作るのであれば、二行目だけ で十分です。 代替案: NewsX の代わりになるものとしては suck、 slurp (postit と組み合 わせて使用する)があります。Slurp は NNTP NEWNEWS を使用します。NNTP NEWNEWS は処理量の多いニュースサーバーで活躍しているものです。 5.4. Leafnode の設定法 今一つの別解は統合パッケージである leafnode を組み込むという方法で す。これは、個人がニューススプールを利用する際に必要となる作業をすべて 処理するものです。設定も容易です。入手先は以下の通りです。 http://www.troll.no/freebies/leafnode.html C News と同様に、ニュース管理の作業は news というユーザーで行う必要が あります。 leafnone のホームディレクトリは /usr/lib/leafnode です。組み込むため には、以下の作業を行います。 ______________________________________________________________________ cd /usr/lib/leafnode tar -xzvf leafnode-0.8.tgz cd leafnode-0.8 make su make install ______________________________________________________________________ ルートとしてログインしている間に、 /etc/inetd.conf の中の NNTP を制御 している部分を変更します。 ______________________________________________________________________ nntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnod e ______________________________________________________________________ 次のようにして再起動します。 ______________________________________________________________________ killall -HUP inetd ______________________________________________________________________ exit を実行して、news というユーザーに戻りま す。/usr/lib/leafnode/conf の NNTP サーバーに関する部分を変更します。 ここでの例なら以下のようにします。 ______________________________________________________________________ server = news.acme.net ______________________________________________________________________ crontab -e を用いて news というユーザとして 以下の命令を実行するよう にすれば、あとは leafnode がすべてを引き受けてくれます。 ______________________________________________________________________ # expire Leafnode, once a day 0 4 * * * /usr/local/sbin/texpire ______________________________________________________________________ news というユーザーとしてニュースを送受するには、以下の命令を用いま す。 (PPP が立ち上がっていることを前提としたものです) ______________________________________________________________________ /usr/local/sbin/fetch ______________________________________________________________________ ニュースを読もうとするユーザーは "オンライン(接続時)用ニュース閲覧ソフ トの設定法" の項で説明した方法を用いてください。ただし、ローカルマシン に関する以下に示す設定は例外です。 ______________________________________________________________________ export NNTPSERVER=localhost ______________________________________________________________________ 必要な作業はこれですべてです。最初に fetch を実行したときに、購読でき るニュースグループの一覧が取得できます。 次いで leafnode は利用者がど のグループを購読しようとしているかを調べ、次回起動時用にはこれを利用し ます。 代替案: leafnode の代りに nntpcache を使うこともできます。これは以下 の場所にあります。 ftp://ftp.suburbia.net/pub/nntpcache/nntpcache.tgz 6. 接続手続きを自動化する方法 ニュースや電子メールの取り扱いを自動化するのも、Linux でなら簡単です。 最初のそしてもっとも大切な手続きは、プロバイダとの接続を確立するための 書式である/usr/lib/ppp/ppp-on を作成することです。この書式には、次の一 文しか記入されていないこともしばしばです。 ______________________________________________________________________ /usr/sbin/pppd ______________________________________________________________________ さらに詳細な設定は /etc/ppp/options で行います。 ______________________________________________________________________ connect "/usr/lib/ppp/chat -v -f /etc/ppp/chatscript" crtscts modem defaultroute asyncmap 00000000 user dirk /dev/modem 38400 ______________________________________________________________________ 接続を終えるには、/usr/lib/ppp/ppp-off を用います。 上記二つの書式がきちんと機能することを確かめたら、今度は様々な処理を受 け持つ書式を作成することになります。電子メールを受信するための書式はす でに紹介しました。この書式が /home/dirk/pop にちゃんとあるかどうかを確 かめてください。 電子メールを交換するための書式は /root/mail に置きます。 ______________________________________________________________________ #! /bin/sh # # 電子メイルの送受 # 10 分間で時間切れ TIMEOUT=600 DT=10 # 電子メールを送信: sendmail -q & # 電子メールを受信: su dirk -c /home/dirk/pop # sendmail が終了するのを待つ: t=0 while ! mailq | grep -q "Mail queue is empty"; do t=$[$t+$DT] if [ $t -gt $TIMEOUT ] ; then echo "sendmail -q timeout ($TIMEOUT).." exit 1 fi sleep $DT done exit 0 ______________________________________________________________________ ニュースを送受するための書式の置場所は /usr/lib/news/news です。 ______________________________________________________________________ #!/bin/sh # # exchange news # must be run as news: cd /usr/lib/news #送付用バッチを更新 (C News): /usr/lib/newsbin/input/newsrun < /dev/null #ニュースの授受: /usr/lib/newsbin/newsx acme news.acme.net #受信バッチを更新: /usr/lib/newsbin/input/newsrun < /dev/null ______________________________________________________________________ いくつかの部分をつなぎあわせた書式を /root/news+mail に置くこともでき ます。 ______________________________________________________________________ #!/bin/sh # # exchange news and email # must be run as root # if ! /usr/lib/ppp/ppp-on; then exit 1 fi trap "/usr/lib/ppp/ppp-off" 1 2 3 15 #exchange news+mail: /root/mail & su news -c ~news/news wait #disconnect.. /usr/lib/ppp/ppp-off #update the incoming batch (C News): su news -c /usr/lib/newsbin/input/newsrun < /dev/null & exit 0 ______________________________________________________________________ 上の例は単に接続を確立するだけのものですが、これを拡張してニュースや電 子メイルがあった場合にこれの授受を行うようにするのは簡単で す。/root/news+mail.cond を呼び出すようにするだけなのです。その際、送 信するニュース用のスプールを最新化することを忘れないように。 ______________________________________________________________________ #!/bin/sh # # exchange news and email, only if outgoing news or mail # (C News spool) if [ -s /var/spool/news/out.going/acme/togo ] || ! ( mailq | grep -q "Mail queue is empty"); then /root/news+mail fi ______________________________________________________________________ 後は上述の作業をいつ実施するのかを指定するだけです。これには crontab -e という命令をルートとして実行します。以下の例は、ニュースと電子メイ ルの授受を毎日朝七時に、その後四時間ごとに送信のみを行う場合の指定で す。 ______________________________________________________________________ 00 7 * * * /root/news+mail 00 11,15,19,23 * * * /root/news+mail.cond ______________________________________________________________________ 上述の各部品を組み合わせる前に、それぞれをしっかりと検査しておくべきで す。別のタスクを付け加える必要が生じるかもしれません。(時刻を一致させ る ntpdate、手元で管理している WWW 、 FTP を使ってプロバイダ側のそれを 自動的に更新する make と ftp など) 代替案:効率によっては、プロセスを川下向きに変更することも可能です。PPP リンクを確立する度に、/etc/ppp/ip-up を起動すればいいのです。電子メイ ルやニュースの授受を開始するには何らかの magic を付け加える必要がある こともあるでしょう。 代替案:ネットワークトラフィックが成立している間ならいつでも PPP 接続を 自動的に確立することができます。これは様々な意味で優れた手法です。しか しながら、頻繁に接続が起こらないように(費用が高くならないように)するに は的確な設定が必要です。詳細な情報は下記のところで入手できます。 http://www.dna.lth.se/ erics/diald.html diald というユーティリティは以下のところから入手できます: ftp://sunsite.unc.edu/pub/Linux/system/net- work/serial/diald-0.16.tar.gz この場所には、PPP 接続に関する他の情報も集められています。 7. 最後に 7.1. ほかに知っておくべきこと システムのエラーメッセージは通常、内部メイルとして送達されます。この種 のメイルが実際に読めるかどうかを確認してください。/etc/aliases を作成 する必要があります。aliases を更新するごとに newaliases という命令を実 行することを忘れないようにしてください。大抵の場合に通用する例を以下に 掲げます。 PostMaster: root ftp: root news: root usenet: root FaxMaster: root fax: root WebMaster: root MAILER.DAEMON: root Linux 用のプログラムの多くは Sunsite から入手できますが、ここはいつも 込み合っています。ミラーサイトは至るところにあります。 ftp://sunsite.unc.edu/pub/Linux 以下の内容が常にミラーされていますの で、御近くのサイトを利用するようにしてください。 ftp://ftp.nvg.unit.no/pub/linux/sunsite/... はその一例です。 yarn から移行してきた方も、yarn2mf を使えば標準のフォルダーに書き直す ことができるでしょう。yarn2mf は以下のところから入手できます。 ftp://ftp.sn.no/user/egilk/yarn2mf.zip 8. 各プロバイダ固有の問題 各プロバイダに固有の問題については以下の情報源を参照してください。 Demon Internet (demon.co.uk) ftp://ftp.demon.co.uk/pub/unix/linux/Demon/slack3.0.help.tgz Easynet TBA Netcom http://www.netcom.com/bin/webtech/NetCruiser/Operating_Systems/Linux/linux.c fg.html PowerTech, Schibstednett, Telenor Online http://home.sn.no/home/egilk/no-isp.html Primenet TBA Stanford http://www-leland.stanford.edu/~wkn/Linux/network/network.html ここに掲載されていないプロバイダに固有の問題を御存じの方は、御一報下さ い。 (訳者からの御願い: 日本国内のプロバイダに関して同様の情報源を御存じで したら、是非御知らせ下さい) 8.1. もっと詳しく知りたい方へ Linux Documentation Project の一つである Linux Network Administrator's Guide (Olaf Kirch 著: Linux ネットワーク管理者ガイド)という題名の書物 は、TCP/IP やインターネットを含むネットワークの設定・維持を志す人の必 携書です。以下の場所に納められています。 ftp://sunsite.unc.edu/pub/Linux/docs/linux-doc-project/net- work- guide/nag-1.0.ascii.tar.gz 各ソフトウェアパッケージの付属文書には、必要な詳しい情報がすべて集まっ ているのがふつうです。常にこれで概観が得られるとは限りませんが。最初に 参考にするべきなのはマニュアル頁です。たとえば、次のようにして起動しま す。 man pppd また各プログラムの付帯文書は /usr/doc 以下にもあります。常にきちんと整 除されているわけではありませんが。 特に関連の深い HOWTO には以下のものがあります。 Installation-HOWTO 基本的知識を満載 NET-2-HOWTO NET コードを組み込み、設定する際の問題を網羅的に扱った文書。ここ で取り扱われていることの大部分は、標準的な Linux 配布( Slacmware, Red Hte, Debian) を組み込めばあらかじめ処理済みであ る。しかし、設定や困ったとき対策の章はたいへん有益。 Mail-HOWTO 各種トゥールの設定法。ここに紹介されていることの大部分は標準的な Linux 配布を組み込めばあらかじめ設定されています。 News-HOWTO 昔ながらにニューススプールを設定する方法 Tiny-News ニュースを購読するいまひとつの方法を紹介する文書 PPP-HOWTO PPP を設定する際にしばしば遭遇する問題に関する優れた文書 Serial-HOWTO シリアルポートを設定する際のあらゆる問題を取り扱った文書 Mail-Queue sendmail は常に遠隔メイルを、deliver は手元メイルを処理するよう にする方法 Red Hat には PPP 関連のメイルリストがあります。参加なさりたい方は redhat-ppp-list-request 宛てに ''subscribe'' という subject の電子メイ ルを送付してください。 8.2. 謝辞 本文書中の内容は各種の情報源から取得したものです。直接、間接に御世話に なった以下の各氏に感謝の意を表させて頂きます。 Adam Holt Arne Coucheron Arne Riiber Arnt Gulbrandsen Bjorn Steensrud Gisle Hannemyr Hans Amund Rosbach Hans Peter Verne Harald T Alvestrand Harald Terkelsen Haavard Engum James Youngman Johan S. Seland John Phillips Jorn Lokoy Kenneth Tjostheim Kjell M. Myksvoll Kjetil T. Homme Michael Meissner N J Bailey Nicolai Langfeldt Ove Ruben R Olsen R. Bardarson Steinar Fremme Sverre H. Huseby Trond Eivind Glomsrod Tommy Larsen