网络管理员指南 -8.点到点协议-6>IP配置选项

/ns/wz/net/data/20020808032744.htm

网络管理员指南 -8.点到点协议-6>IP配置选项


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


IPCP用来在连接配置时间讨论一系列的IP参数。通常情况下,每一个同级可以发送一个IPCP配置要求包,
包括它想要从默认中更改的值,以及是什么值。在接收上,远程终端按照顺序检查每一个选择,然后接受
或者拒绝它。PPPD给你关于它将要讨论的IPCP选择的许多控制。你可以在我们将要在下面谈到的通过各种
命令行选择来调节。

选择IP地址

在一个PPP连接中的路径




--------------------------------------------------------------------------------

选择IP地址

在上面的例子中,我们已经让PPPD拨叫到c3po并建立了一个IP连接。之前没有在两个连接的终端上选择一
个特殊的IP地址。而是在连接的两个终端上选择vlager地址作为本地的IP地址,并且让c3po自己提供。然而,
有时对连接上一个或者另外一个终端上使用的地址进行控制是有用的。PPPD支持这上面的许多变化。

要得到特殊的地址,你通常要提供给PPPD下面的选项:

local addr:remote addr
在那里local_addr和 remote_addr 可能在dotted quad标注中指定,或者被作为主机。这使得PPPD尝试使用
第一个地址作为它自己的IP地址,第二个作为它的同级的IP地址。如果同级在IPCP讨论中拒绝它们中的任何
一个,就不会建立任何的连接。

如果你只想要设置本地地址,但是接受所有同级使用的地址,你只需要发送部分的remote_addr。例如,为了
使vlager使用IP地址130.83.4.27而不是它自己的,你可以在命令行给它130.83.4.27。同样的如果只设置远程
地址,你需要保留local_addr区域为空白。在默认情况下,PPPD将同你的用户名一起使用地址。一些PPP服务
器动态的处理许多客户位置的指派地址:地址只有在拨入的时候被分配到系统,并且在它们退出之后会被再次
要求当拨叫这样一个服务器的时候,你必须确定PPPD没有从服务器要求任何特定的IP地址。但是最好接受服务
器要求你使用的地址。这意味这你必须指定一个local_addr选择。另外,你必须使用noipdefault选择,它使
PPPD等待同级提供IP地址而不是使用本地的主机地址。




--------------------------------------------------------------------------------



在一个PPP连接上的路径

在设置了网络接口之后,PPPD通常将会只是设置一个主机路径到它的同级。如果远程主机是一在个LAN上的,
你必然想要在你的同级后面连接到你的主机。就是网络路径必须被设置。

上面我们已经看到,PPPD要求使用defaultroute选择来设置默认路径。如果你所拨叫的PPP服务器将作为你的
Internet网关,那么这个选择就会非常重要了。

相反的例子中,你的系统作为一个单独的主机的网关,也是相当容易达到的。例如,在Virtual Brewery使用
一些雇员,它们的本地机器被称为loner。在vlager中,我们现在可给PPPD proxyarp选择,它将会为loner安
装一个代理ARP登录。这将自动使loner从Brewery 和 Winery的所有主机中获得。

然而,事情不是经常象这样简单,例如,当连接两个本地网络的时候。这经常要求添加一个指定的网络路径,
因为这些网络可能有它们自己默认的路径。另外,使两个同级使用PPP连接的默认路径会建立一个循环,在其
中包装到未知的目的地会在同级中发出响声直到它们的存在时间到期。

作为一个例子,假定虚拟Brewery在一些其它城市中打开一个分支机构。子公司使用IP网络数191.72.3.0运行
他们自己的一个Ethernet。这是Brewery分类B网络的子网3。他们想要通过PPP连接到Brewery的主Ethernet来
更新用户数据等等。同样,vlager作为网关;它的同级称为sub-etha并且有一个IP地址191.72.3.1..

当sub-etha连接到vlager,它将使默认路径象平常一样指到vlager。然而在vlager中,我们将需要为运行在
sub-etha上的subnet-3安装一个网络路径。为了达到这个目的,我们使用PPPD的一个特征,而不需要讨论ip-up
命令。这是一个位于/etc/ppp的一个shell script或者程序,它会在PPP接口被设置之后执行。当出现的时候,
有下面的参数:

ip-up iface device speed local addr remote addr
在这里iface命名所使用的网络接口,设备是串口设备文件使用的路径名(/dev/tty if stdin/stdout 被使用),
并且速度就是设备的速度。local_addr和 remote_addr给出在dotted quad注释中连接中两端的IP地址。在我们
的例子中,ip-up手稿可能包含下面的代码部分:

#!/bin/sh
case $5 in
191.72.3.1) # this is sub-etha
route add -net 191.72.3.0 gw 191.72.3.1;;
esac
exit 0
在一个相类似的风格中,/etc/ppp/ip-down被用来在PPP连接被断开之后取消ip-up的所有动作。

然而,路径计划还没有完成。我们在两个PPP主机上设置了路径表登录,然而在两个网络上的主机不知道任何有
关PPP连接的信息。如果所有在附属网络的主机有它们自己默认的路径指到sub-etha,并且所有的Brewery主机
默认到vlager这就不是一个大问题。如果不是这样,通常你的唯一选择就是使用象大门一样的一个路径daemon。
在vlager上创建网络路径之后,路径daemon会通过附属的子网发送新的路径到所有的主机。