网络管理员指南 -8.点到点协议-9>PPP的授权 -2)CHAP密码文件

/ns/wz/net/data/20020808033055.htm

网络管理员指南 -8.点到点协议-9>PPP的授权 -2)CHAP密码文件

本文出自:http://www.linpus.com.tw 作者: Andrew Anderson


当需要使用CHAP来鉴别一些服务器自身的时候,PPPD在一个在客户区域含有与本地主机名等同,
并且服务器区域与在CHAP挑战中发送的远程主机名相等同的登录中查找pap-秘密文件。当要求同
级进行自我鉴别的时候,它的功能就简单的颠倒了:于是PPPD将寻找在客户区域与远程主机等同
的一个登录(在客户的CHAP Response中发送),并且服务器区域与本地主机相等同。

下面是一个为vlager提供的chap-secrets文件例子:

# CHAP secrets for vlager.vbrew.com
#
# client server secret addrs
#-------------------------------------------------------------------
vlager.vbrew.com c3po.lucas.com "Use The Source Luke" vlager.vbr
c3po.lucas.com vlager.vbrew.com "riverrun, pasteve" c3po.lucas
* vlager.vbrew.com "VeryStupidPassword" pub.vbrew.

在PPP与c3po建立一个连接的时候,c3po要求vlager使用CHAP发送一个CHAP挑战的方法来对它自己
进行鉴别。然后PPPD在chap-secrets中查找在客户区域与vlager.vbrew.com、在服务器区域与
c3po.lucas.com相等同的一个登录,并且查找上面所显示内容的第一行。然后会从挑战串和秘密中
(使用Source Luke)产生CHAP的反应,并将它发送到c3po.
同时,PPPD为c3po设置一个CHAP挑战,包括一个唯一的挑战串,和它的完全合格的主机名
vlager.vbrew.com。c3po由一个我们刚刚提到的管理者的一个CHAP应答组成,并且将它返回到vlager。
现在,PPPD将客户主机名(c3po.vbrew.com)从应答中摘录出来
并且在chap-secrets文件中查找一个符合把c3po作为一个客户,而vlager作为服务器的行。第二行就
是做这个工作,因此PPPD结合CHAP的挑战和秘密riverrun,pasteve,对他们加密并将结果与c3po的
CHAP的反映相对比。

可选择的第四个区域列出在第一个区域中可以接受的客户命名。地址可能会以dotted quad符号给出或
者作为使用解决者所寻找的主机名。例如,如果c3po要求在IPCP谈判中使用一个IP地址,并且它不在
这个列表之中的话,该要求回被拒绝,并且IPCP将会被关闭。在上面显示的样本文件中,c3po就被限
制使用它自己的IP地址。如果地址区域是空的,任何地址都将会被接受;-的一个值防止与客户同时
使用IP。

样本chap-secrets文件的第三行允许任何用户使用vlager建立一个PPP连接,因为一个客户或者服务
器区域适合所有的主机名。唯一的要求上一它知道秘密,并且使用pub.vbrew.com的地址。统配符主机
名的登录可能在秘密文件中的许多地方出现,因为PPPD将总是使用应用在一个服务器/客户组合中指定
最明确的登录。

关于在秘密文件的主机名中PPPD所寻找到的路径上有一些词需要说。按照以前所提到的,远程主机名总
是由同级在CHAO挑战或者反应包中提供。本地名将通过默认的呼叫gethostname(2)方式来演化。如果你
已经设置系统名到你的没有限制的主机名,你需要为PPPD提供连同使用域名选择的域名。

# pppd ...domain vbrew.com

这将会为所有的与证明有关的行为添加 Brewery的域名到vlager。其它本地主机名的progpppd想法的修
改是usehostname和name。当你使用``local:varremote''在命令行给出本地IP地址,并且本地是一个名
字而不是一个dotted quad的时候,PPPD将使用它作为本地的主机名。详细内容,请查阅pppd(8)手册页。