前のページ 次のページ 目次

6. Automatic setup for dialup connections.

この章では私がどのようにすべてを自動化したかを述べます。 私のやり方はみなさん全部にあてはまるものではないでしょうが、 なんらかのヒントになる と思います。また私はダイアルアップに ppp を使っていますが、多くの人が slip または cslipを使ってるので、あなたがセットアップする時ほとんどの点で異なるかもしれません。 しかし slip の dig を使えば私の行ったことの多くを行えるはずです。

私は、普段ネットに繋いでいないときは resolv.conf は次のようにしています。


domain uio.no

こうすることによって、まったく意味のないホスト名解決のために nameserver への接続を待ち続けるのを防げます。しかし、ネットに接続するときは named を 起動させ、 resolv.conf は以前に記述した内容にして置きたいです。 私は2つの resolv.conf テンプレートを作り resolv.conf.localresolve.conf.connected という名前にしています。後者はこのドキュメント で記述した resolve.conf です。

ネットに自動的につなぐために、私は次の ppp-on というスクリプトを動かせています。



#!/bin/sh

echo calling...

pppd

上の pppd は、どうやってつなぐかの詳細をoptions というファイルから知ります。一度 ppp 接続が出来ると、 pppd は ip-up (これは pppd の man page に説明されています)といスクリプトを起動します。 以下は、このスクリプトの一部です:



#!/bin/sh

interface="$1"

device="$2"

speed="$3"

myip="$4"

upip="$5"

...

echo 1&2 PPP: IP up

cp -v /etc/resolv.conf.connected /etc/resolv.conf

...

/usr/sbin/named

echo PPP: ip-up finished

つまり、ここで named を起動しています。ppp が切断されるときには pppd は ip-down という以下のスクリプトを動かせます:



#!/bin/sh

echo 1>&2 PPP: IP down

cp /etc/resolv.conf.local /etc/resolv.conf

read namedpid </var/run/named.pid

kill $namedpid

つまり、こいつは接続時にはいろいろ構成を整えてから立ち上がり 切断時には構成をもどして終わるというわけです。

幾つかのプログラムは、irc とか talk を思い浮かべますが、 たくさんの前提を 仮定してるので、and for irc the dcc features and talk to work right you hosts ファイルを直さなくてなりません。私は ip-up スクリプトに hosts を はさみ込みました:



cp /etc/hosts.ppp /etc/hosts

echo $myip      roke >>/etc/hosts

hosts.ppp は単純に以下だけを含んでます



127.0.0.1       localhost

そして echo 文は私のホスト名 (roke) に対する ip# を挿入します。

ネットに接続されていないときに named を走らせるのは多分スマートではないで しょう。named はネットに問い合わせを送ろうとしますが、このタイムアウトの時間は 長くて、なんらかのプログラムがホスト名の解決をしようとするたびに延々と待つこと になるからです。もしダイアルアップ接続をするのであれば、接続するときに named を 起動し、切断するときに kill すべきでしょう。そんなことはないというメールも もらっていますが、延々とタイムアウトを待たずにうまく動かす方法を私は知りません。 あなたにもっと良い情報があるなら詳しいことをすべて メールして ください。


前のページ 次のページ 目次