网络管理员指南 -7.并联线IP -3>使用dip -1)一个例子
/ns/wz/net/data/20020808024941.htm
网络管理员指南 -7.并联线IP -3>使用dip -1)一个例子
本文出自:http://www.linpus.com.tw 作者: Andrew Anderson
使用dip
现在,那是相当简单的。但是,你可能想要自动化上面的步骤,以便你仅必须调用执行被显示在上面的所
有步骤中的一个简单的命令。这是dip的作用。这种写法的当前的版本是3.3.7 。它被很多人大量地修正了,
这样你再也不能说出dip程序了。发展的这些不同的张力希望在一个未来版本中被融合。
dip为能为你处理调制解调器的一种简单的脚本语言提供一个翻译,变换线到 SLIP 模式,并且设置接口。
这是非常原始和限制的,但是对大多数情况来讲已足够。dip的一个新版本有一天将可以展示一种更万用
的语言。
能设置 SLIP 接口,dip要求根特权。它现在很诱人,使dipsetuid到根,以便所有的用户能不必给他们根存
取就在一些 SLIP 服务器上面拨号。这是很危险的,因为建立假接口和用dip默认线路可以极大地破坏你网
络上的路线。更坏的是,这将给你的用户有力量和任何 SLIP 服务器联接,并且对你的网络运行危险的攻
击。因此,如果你想要允许你的用户在一个 SLIP 连接上面开火,为每个预期的 SLIP 服务器写小包纸程
序,并且让这些包纸调用建立连接的特定手迹的dip。然后,这些程序能安全地成为 setuid 根。
--------------------------------------------------------------------------------
一个例子
# Sample dip script for dialing up cowslip
# Set local and remote name and address
get $local vlager
get $remote cowslip
port cua3 # choose a serial port
speed 38400 # set speed to max
modem HAYES # set modem type
reset # reset modem and tty
flush # flush out modem response
# Prepare for dialing.
send ATQ0V1E1X1\r
wait OK 2
if $errlvl != 0 goto error
dial 0123456789
if $errlvl != 0 goto error
wait CONNECT 60
if $errlvl != 0 goto error
# Okay, we're connected now
sleep 3
send \r\n\r\n
wait ogin: 10
if $errlvl != 0 goto error
send Cvlager\r
wait ssword: 5
if $errlvl != 0 goto error
#better not leave your password in ascii (thanx noud)
password
wait running 30
if $errlvl != 0 goto error
#to set up your remote and local IP
get $remote remote
print remote = $remote
if $errlvl != 0 goto error
wait to 3
get $local remote
print local = $local
if $errlvl != 0 goto error
# We have logged in, and the remote side is firing up CSLIP.
print Connected to $remote with address $rmtip
default # Make this link our default route
mode CSLIP # We go to CSLIP mode, too
# fall through in case of error
error:
print CSLIP to $remote failed.
一个样品手迹产生于图形-gif。它能被用来连接cowslip,通过调用有手迹名字的蘸作为参数:
# dip cowslip.dip
DIP: Dialup IP Protocol Driver version 3.3.7 (12/13/93)
Written by Fred N. van Kempen, MicroWalt Corporation.
connected to cowslip.moo.com with addr 193.174.7.129
#
在连接cowslip并且启用 CSLIP 以后,蘸将从终端分离并进入背景。然后你能开始在 CSLIP 连接上使用
正常联网的服务。要终止连接,用-k选择简单地调用蘸即可。这样发送给蘸进程一个挂断信号,在
/etc/dip.pid 中使用进程标识符蘸记录:
在蘸的脚本语言中,有一个美元标志前缀的关键词表示可变的名字。蘸有一个变量的预先规定的集合,它
将被列在下面。例如, $remote 和 $local ,包含本地主机名和在SLIP连接中被包含了的远程主机。
在样品手迹中最初的两个陈述是得到命令,它是蘸设置一个变量的方法。这里,本地主机和远程主机名被分
别地设置到 vlager 和 cowslip上。
下面五个陈述建立终端线和调制解调器。重新设置发送一个重新放置字符串到调制解调器;给Hayes兼容的
调制解调器,这是 ATZ 命令。下一个陈述冲洗调制解调器的反应,以便在下面很少几根线上的登录聊天室
能正常地工作。这个聊天室直接向前:它简单地拨 41988,cowslip 的电话号码,并且使用口令 hey-jude
登录帐号 Svlager。等待命令使蘸等待作为它的第一个参数被给出的字符串;作为 第二个参数被给的数字
使等待超时,如果没有如此该字符串被收到,在那许多秒以后超时。散布在登录过程中的如果命令,在执
行命令时,它检查没有错误发生。
在登录以后执行的最后的命令是默认的,它使 SLIP 连接成为到所有主机的默认线路,而且模式,它在线上
启用 SLIP 模式并且为你设置接口和路线表。