网络管理员指南 -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 模式并且为你设置接口和路线表。