在 Oracle® Solaris 11.2 中管理使用 UUCP 和 PPP 的串行网络

退出打印视图

更新时间: 2014 年 7 月
 
 

PPPoE 访问服务器命令和文件

为客户提供 DSL 服务或支持的服务提供商可以使用正在运行 PPPoE 的访问服务器。PPPoE 访问服务器和客户机采用传统客户机/服务器关系进行工作。此关系与拨号链路上拨出计算机和拨入服务器的关系类似。一个 PPPoE 系统启动通信,一个 PPPoE 系统应答。与此相反,PPP 协议没有客户机/服务器关系的概念。PPP 将两个系统视为相等的对等点。

/usr/lib/inet/pppoed 守护进程

pppoed 守护进程接受来自预期的 PPPoE 客户机的服务广播。此外,pppoed 将协商 PPPoE 隧道的服务器端,然后基于该隧道运行 pppd(PPP 守护进程)。

可以在 /etc/ppp/pppoe/etc/ppp/pppoe.device 文件中配置 pppoed 服务。引导系统时,如果 /etc/ppp/pppoe 存在,将自动运行 pppoed。也可以通过键入 /usr/lib/inet/pppoed,在命令行上显式运行 pppoed 守护进程。

/etc/ppp/pppoe 文件

/etc/ppp/pppoe 文件说明访问服务器提供的服务,以及定义 PPP 如何通过 PPPoE 隧道运行的选项。可以为单个接口定义服务,也可以全局定义服务(即为访问服务器上的所有接口定义服务)。访问服务器发送 /etc/ppp/pppoe 文件中的信息以响应来自可能的 PPPoE 客户机的广播。

以下是 /etc/ppp/pppoe 的基本语法:

global-options
service service-name
    service-specific-options
    device interface-name
  

这些参数具有以下含义:

global-options

设置 /etc/ppp/pppoe 文件的缺省选项。这些选项可以是通过 pppoedpppd 使用的任何选项。有关选项的完整列表,请参见 pppoed(1M)pppd(1M) 手册页。

例如,必须在 global options 中列出 PPPoE 隧道可以使用的以太网接口。如果未在 /etc/ppp/pppoe 中定义设备,则不会在任何接口上提供服务。

要将 devices 定义为全局选项,请使用以下格式:

device interface <,interface>

interface 指定服务将侦听可能的 PPPoE 客户机的接口。如果多个接口与服务关联,请使用逗号分隔每个名称。

service service-name

启动对服务 service-name 的定义。service-name 是一个字符串,它可以是适用于所提供服务的任何短语。

service-specific-options

列出特定于此服务的 PPPoE 和 PPP 选项。

device interface-name

指定以使用前面列出的服务的接口。

有关 /etc/ppp/pppoe 的其他选项,请参阅 pppoed(1M)pppd(1M) 手册页。

典型的 /etc/ppp/pppoe 文件可能类似如下内容:

示例 8-2  基本 /etc/ppp/pppoe 文件
device hme1,hme2,hme3
service internet
   pppd "name internet-server"
service intranet
   pppd "192.168.1.1:"
service debug
   device hme1
   pppd "debug name internet-server"

在此文件中,以下值适用:

hme1,hme2,hme3

访问服务器上将要用于 PPPoE 隧道的三个接口。

service internet

向预期的客户机通告名为 internet 的服务。提供该服务的提供商还会决定 internet 的定义方式。例如,提供商可以将 internet 解释为表示各种 IP 服务以及对 Internet 的访问。

pppd

设置呼叫者调用 pppd 时将使用的命令行选项。选项 "name internet-server" 将本地计算机(访问服务器)的名称指定为 internet-server

service intranet

向预期的客户机通知名为 intranet 的另一个服务。

pppd "192.168.1.1:"

设置呼叫者调用 pppd 时将使用的命令行选项。呼叫者调用 pppd 时,将 192.168.1.1 设置为本地计算机(访问服务器)的 IP 地址。

service debug

在为 PPPoE 定义的接口上通告第三种服务(调试)。

device hme1

将对 PPPoE 隧道的调试限制为 hme1

pppd "debug name internet-server"

设置呼叫者调用 pppd 时将使用的命令行选项。在本例中,是对 internet-server (本地计算机)进行的 PPP 调试。

/etc/ppp/pppoe.device 文件

/etc/ppp/pppoe.device 文件描述了在 PPPoE 访问服务器的一个接口上提供的服务。/etc/ppp/pppoe. device 还包括用来定义 PPP 在 PPPoE 隧道上运行方式的选项。/etc/ppp/pppoe.device 是一个可选文件,其运行方式与全局 /etc/ppp/pppoe 的运行方式完全相同。但是,如果为接口定义了 /etc/ppp/pppoe.device,则该接口的参数优先于 /etc/ppp/pppoe 中定义的全局参数。

以下是 /etc/ppp/pppoe.device 的基本语法:

service service-name
     service-specific-options
service another-service-name
      service-specific-options    

此语法与 /etc/ppp/pppoe 的语法的唯一差别是,不能使用/etc/ppp/pppoe 文件中所示的 device 选项。

pppoe.so 插件

pppoe.so 是必须由 PPPoE 访问服务器和客户机调用的 PPPoE 共享目标文件。此文件将 MTU 和 MRU 限制为 1492,过滤驱动程序中的包,并与 pppoed 一起协商 PPPoE 隧道。在访问服务器端,pppoe.sopppd 守护进程自动调用。

使用 PPPoE 和 PPP 文件配置访问服务器

本节包含用于配置访问服务器的所有文件样例。访问服务器为多宿主服务器。该服务器连接到三个子网:greenorangepurplepppoed 在服务器上以 root 身份运行,这是缺省设置。

PPPoE 客户机可以通过接口 hme0hme1 访问 orangepurple 网络。客户机使用标准 UNIX 登录来登录到服务器。服务器使用 PAP 验证客户机。

green 网络没有通告给客户机。客户机可以访问 green 的唯一方法是直接指定 "green-net" 并提供 CHAP 验证凭证。此外,仅允许客户机 joemary 使用静态 IP 地址访问 green 网络。

示例 8-3  访问服务器的 /etc/ppp/pppoe 文件
service orange-net
     device hme0,hme1
     pppd "require-pap login name orange-server orange-server:"
service purple-net
     device hme0,hme1 
     pppd "require-pap login name purple-server purple-server:"
service green-net
     device hme1 
     pppd "require-chap name green-server green-server:"
     nowildcard

此样例说明访问服务器提供的服务。第一个服务部分说明 orange 网络的服务。

service orange-net
     device hme0,hme1
     pppd "require-pap login name orange-server orange-server:"

客户机通过接口 hme0hme1 访问 orange 网络。指定给 pppd 命令的选项将强制服务器要求潜在的客户机提供 PAP 凭证。pppd 选项还将服务器的名称设置为 orange-server,与 pap-secrets 文件中所使用的相同。

purple 网络的服务部分与 orange 网络的服务部分相同,唯一不同的是网络和服务器名称。

接下来的部分说明了 green 网络的服务:

service green-net
     device hme1 
     pppd "require-chap name green-server green-server:"
     nowildcard

此部分限制客户机访问接口 hme1。指定给 pppd 命令的选项将强制服务器要求预期的客户机提供 CHAP 凭证。pppd 选项还将服务器名称设置为 green-server,此名称将在 chap-secrets 文件中使用。nowildcard 选项指定不向客户机通告 green 网络的存在。

对于上面讨论的访问服务器方案,可以设置以下 /etc/ppp/options 文件。

示例 8-4  访问服务器的 /etc/ppp/options 文件
 	auth
 	proxyarp
 	nodefaultroute
 	name no-service	# don't authenticate otherwise

选项 name no-service 会忽略通常在 PAP 和 CHAP 验证期间搜索的服务器名称。服务器的缺省名称是由 /usr/bin/hostname 命令搜索到的名称。上一示例中的 name 选项将服务器的名称更改为 no-service。名称 no-service 可能不会出现在 papchap-secrets 文件中。此操作禁止随机用户运行 pppd 以及忽略在 /etc/ppp/options 中设置的 authname 选项。这样,由于找不到服务器名称为 no-service 的客户机的密钥,pppd 将失败。

访问服务器方案使用以下 /etc/hosts 文件。

示例 8-5  访问服务器的 /etc/hosts 文件
     172.16.0.1	orange-server
     172.17.0.1	purple-server
     172.18.0.1	green-server
     172.18.0.2	joes-pc
     172.18.0.3	marys-pc

以下是用于对尝试访问 orangepurple 网络的客户机进行 PAP 验证的 /etc/ppp/pap-secrets 文件。

示例 8-6  访问服务器的 /etc/ppp/pap-secrets 文件
* orange-server "" 172.16.0.2/16+
* purple-server "" 172.17.0.2/16+

以下是用于 CHAP 验证的 /etc/ppp/chap-secrets 文件。请注意,该文件中只列出了 joemary 客户机。

示例 8-7  访问服务器的 /etc/ppp/chap-secrets 文件
 joe green-server "joe's secret" joes-pc
mary green-server "mary's secret" marys-pc