设置您的 SLIP 客户端是困难的部分。配置您的主机作为 SLIP 服务器要容易得多。
配置 SLIP 服务器有两种方法。这两种方法都需要您为每个 SLIP 客户端设置一个登录账户。假设您为 dent.beta.com 的 Arthur Dent 提供 SLIP 服务。您可以创建一个名为 dent 的账户,方法是将以下行添加到您的passwd文件
dent:*:501:60:Arthur Dent's SLIP account:/tmp:/usr/sbin/diplogin |
之后,您可以使用 passwd 实用程序设置 dent 的密码。
可以通过将 dip 命令作为 diplogin 调用,在服务器模式下使用它。通常 diplogin 是指向 dip 的链接。diplogin 的主要配置文件是/etc/diphosts,您可以在其中指定当 SLIP 用户拨入时将分配给他的 IP 地址。或者,您也可以使用 sliplogin 命令,这是一个源自 BSD 的工具,具有更灵活的配置方案,允许您在主机连接和断开连接时执行 shell 脚本。
当我们的 SLIP 用户 dent 登录时,dip 作为服务器启动。为了 выяснить 他是否 действительно 被允许使用 SLIP,它会在/etc/diphosts中查找用户名。此文件详细说明了每个 SLIP 用户的访问权限和连接参数。一个/etc/diphosts条目的通用格式如下所示
# /etc/diphosts user:password:rem-addr:loc-addr:netmask:comments:protocol,MTU # |
表 7-2. /etc/diphosts 字段描述
字段 | 描述 |
---|---|
user | 调用 dip 的用户的用户名,此条目将应用于该用户。 |
password | 的第 2 个字段/etc/diphosts文件用于在连接上添加额外的基于密码的安全层。您可以在此处以加密形式放置密码(就像在/etc/passwd中一样),diplogin 将提示用户输入密码,然后才允许 SLIP 访问。请注意,此密码是在用户将输入的正常 login 密码之外使用的。 |
rem-addr | 将分配给远程计算机的地址。此地址可以指定为主机名(将被解析)或点分十进制表示法的 IP 地址。 |
loc-addr | 将用于 SLIP 链路此端的 IP 地址。这也可以指定为可解析的主机名或点分十进制格式。 |
netmask | 将用于路由目的的子网掩码。许多人对此条目感到困惑。子网掩码不适用于 SLIP 链路本身,而是与rem-addr字段结合使用以生成到远程站点的路由。子网掩码应为远程主机网络支持的网络所使用的子网掩码。 |
comments | 此字段是自由格式文本,您可以用来帮助记录/etc/diphosts文件。它没有其他用途。 |
protocol | 在此字段中,您可以指定要应用于此连接的协议或线路规程。此处有效条目与 slattach 命令的–p参数的有效条目相同。 |
MTU | 此链路将承载的最大传输单元。此字段描述了将跨链路传输的最大数据报。路由到 SLIP 设备的任何大于 MTU 的数据报都将被分片为不大于此值的数据报。通常,MTU 在链路的两端配置相同。 |
一个针对 dent 的示例条目可能如下所示
dent::dent.beta.com:vbrew.com:255.255.255.0:Arthur Dent:CSLIP,296 |
我们的示例为用户 dent 提供了对 SLIP 的访问权限,无需额外的密码。将为他分配与 dent.beta.com 关联的 IP 地址,子网掩码为255.255.255.0。他的默认路由应定向到 vbrew.com 的 IP 地址,他将使用 CSLIP 协议,MTU 为 296 字节。
当 dent 登录时,diplogin 从diphosts文件中提取关于他的信息。如果第二个字段包含值,diplogin 将提示输入“外部安全密码”。用户输入的字符串将被加密,并与来自diphosts的密码进行比较。如果它们不匹配,则登录尝试将被拒绝。如果密码字段包含字符串 s/key,并且 dip 是使用 S/Key 支持编译的,则将进行 S/Key 身份验证。S/Key 身份验证在 dip 源代码包中提供的文档中进行了描述。
成功登录后,diplogin 继续将串行线路切换到 CSLIP 或 SLIP 模式,并设置接口和路由。此连接将保持建立状态,直到用户断开连接并且调制解调器掉线。diplogin 然后将线路恢复为正常线路规程并退出。
diplogin 需要超级用户权限。如果您没有将 dip 设置为 setuid root 运行,则应将 diplogin 作为 dip 的单独副本,而不是简单的链接。diplogin 然后可以安全地设置为 setuid,而不会影响 dip 本身的状态。