Next Previous Contents

8. 拨接连线的自动设定

这一节解释我如何设定以便让每个过程自动化  我的方法可能一点都不适合你,但是你可能从我所作的一些事情里得到一些点子  同时,我使用 PPP 拨接,然而有许多人使用 slip 或是 cslip 连线方式, 所以你的设定里几乎每个地方都可能跟我的不同  但是 slip 使用的 dip 程序应该能够完成我所作的许多事情 

一般来说,当我没有连上网路时我的 resolv.conf 文档单纯地包含这一行

domain uio.no

这确保我不必等待主机名称解析函式库去尝试联系某台不可能帮助我的名称伺服器  但是当我连上线的时候我想要起始我的 named 并且拥有一个看起来像前面所描述的 resolv.conf 文档  我藉由保持两份 resolv.conf 的?样板'文档,resolv.conf.local 以及 resolv.conf.connected 来解决问题  后面这一个看起来像前面所描述过的 resolv.conf 文档 

要自动化连线到网路的过程我执行一个称为 `ppp-on' 的指令稿:


#!/bin/sh
echo calling...
pppd

pppd 有个称为 options 的文档,它告诉 pppd 如何取得连线的一些特殊事项  一旦我的 ppp 连线完成后 pppd 起始一个称为 ip-up 的指令(这在 pppd 的线上使用手册里有描述)  这里是该指令稿里面的一部份:


#!/bin/sh
interface="$1"
device="$2"
speed="$3"
myip="$4"
upip="$5"
 ...
cp -v /etc/resolv.conf.connected /etc/resolv.conf
 ...
/usr/sbin/named

换句话说,我在这里起始我的 named 程序 当 ppp 离线时 pppd 执行一个称为 ip-down 的指令稿:


#!/bin/sh
cp /etc/resolv.conf.local /etc/resolv.conf
read namedpid < /var/run/named.pid
kill $namedpid

所以这在连线时配置并设定相关事宜并且在离线时解除该配置并结束相关程序 

某些程序,例如我想起 irc 与 talk,做了过多的假定,为了让其工作正常你必须修改你的 hosts 文档  我在 ip-up 上加入


cp /etc/hosts.ppp /etc/hosts
echo $myip      roke >>/etc/hosts

hosts.ppp 是简单地包含了


127.0.0.1       localhost

echo 指令插入了我收到的 IP 号码做为我机器的名称(roke)  你应该改用你自己机器的名称,可以用 hostname 指令查出 

当你没有连线到网路上时执行 named 可能并不聪明, 这是因为 named 将会尝试送出查询到网路上而且其终止时限(timeout)很长, 而每次有某些个程序尝试解析一个名称的时候你就得等待到这个终止时限  如果你使用拨接的话你应该在连上网时起始 named 并且在离线时杀掉它  不过请参考 FAQ 一节的提示 

某些人喜欢在慢速的连线上使用 forwarders 指令  如果你的网际网路提供者在 1.2.3.4 以及 1.2.3.5 设有 DNS 伺服器那么你可以插入这么一行


forwarders 1.2.3.4 1.2.3.5

named.boot 文档里去  这将会减低源自你主机的 IP 流量,可能稍微提升速度 如果你是依线路的资料量付费的话这点特别重要  这还有个附加价值,让你脱离作为一个暂存的 named 维护者所应负起的责任: 你不需要去更新一个空的 root.cache 文档 


Next Previous Contents