当您想要通过 PPP 链接连接到互联网时,您必须设置基本的网络功能,例如环回设备和解析器。这两者都在第 5 章和第 6 章中进行了介绍。您可以简单地在/etc/resolv.conf文件中配置您的互联网服务提供商的名称服务器,但这将意味着每个 DNS 请求都会通过您的串行链路发送。这种情况并非最佳;您离您的名称服务器(网络方面)越近,名称查找速度就越快。另一种解决方案是在您网络上的主机上配置仅缓存名称服务器。这意味着您第一次对特定主机进行 DNS 查询时,您的请求将通过您的串行链路发送,但随后的每个请求都将直接由您的本地名称服务器回答,并且速度会快得多。第 6 章的6.3.4 节中描述了此配置。”
作为如何使用 pppd 建立 PPP 连接的入门示例,假设您再次位于 vlager。首先,拨号连接到 PPP 服务器 c3po 并登录到 ppp 帐户。c3po 将执行其 PPP 驱动程序。退出您用于拨号的通信程序后,执行以下命令,将您使用的串行设备名称替换为ttyS3此处显示的
# pppd /dev/ttyS3 38400 crtscts defaultroute |
此命令将串行线路切换ttyS3到 PPP 线路规程,并与 c3po 协商 IP 链接。串行端口上使用的传输速度为 38,400 bps。crtscts 选项打开端口上的硬件握手,这对于 9,600 bps 以上的速度是绝对必要的。
pppd 启动后做的第一件事是使用 LCP 与远程端协商多个链路特性。通常,pppd 尝试协商的默认选项集将起作用,因此我们在此处不深入探讨。预计可以说,此协商的一部分涉及请求或分配链路每一端的 IP 地址。
目前,我们还假设 c3po 不需要我们进行任何身份验证,因此配置阶段已成功完成。
pppd 然后将使用 IPCP(IP 控制协议)与其对等方协商 IP 参数。由于我们之前没有为 pppd 指定任何特定的 IP 地址,它将尝试使用通过让解析器查找本地主机名获得的地址。然后,两者都将相互通告其地址。
通常,这些默认值没有问题。即使您的机器位于以太网上,您也可以为以太网和 PPP 接口使用相同的 IP 地址。尽管如此,pppd 允许您使用不同的地址,甚至要求您的对等方使用某些特定地址。这些选项将在8.5 节” 部分的后面讨论。
在完成 IPCP 设置阶段后,pppd 将准备您的主机的网络层以使用 PPP 链接。它首先将 PPP 网络接口配置为点对点链接,使用ppp0作为第一个活动的 PPP 链接,ppp1 作为第二个,依此类推。接下来,它设置路由表条目,该条目指向链接另一端的主机。在前面的示例中,pppd 使默认网络路由指向 c3po,因为我们为其提供了 defaultroute 选项。[1] 默认路由通过使任何 направленный 到非本地主机的 IP 数据报发送到 c3po 来简化您的路由;这是有道理的,因为这是可以到达它们的唯一方法。pppd 支持许多不同的路由方案,我们将在本章后面详细介绍。
[1] | 仅当不存在默认网络路由时才安装。 |