第 30 章。PPP

30.1. 概述

FreeBSD 支持点对点 (PPP) 协议,该协议可用于使用拨号调制解调器建立网络或 Internet 连接。本章介绍如何在 FreeBSD 中配置基于调制解调器的通信服务。

阅读本章后,您将了解

  • 如何配置、使用和排查 PPP 连接。

  • 如何设置以太网上的 PPP (PPPoE)。

  • 如何设置 ATM 上的 PPP (PPPoA)。

阅读本章前,您应该

  • 熟悉基本的网络术语。

  • 了解拨号连接和 PPP 的基础知识和用途。

30.2. 配置 PPP

FreeBSD 提供了内置支持,可以使用 ppp(8) 管理拨号 PPP 连接。默认的 FreeBSD 内核提供对 tun 的支持,该内核用于与调制解调器硬件进行交互。配置是通过编辑至少一个配置文件来执行的,并且提供了包含示例的配置文件。最后,使用 ppp 启动和管理连接。

为了使用 PPP 连接,需要以下项目

  • 一个与 Internet 服务提供商 (ISP) 的拨号帐户。

  • 一个拨号调制解调器。

  • ISP 的拨号号码。

  • ISP 分配的登录名和密码。

  • 一个或多个 DNS 服务器的 IP 地址。通常,ISP 会提供这些地址。如果没有,则可以将 FreeBSD 配置为使用 DNS 协商。

如果缺少任何必需的信息,请联系 ISP。

ISP 可能会提供以下信息,但并非必需

  • 默认网关的 IP 地址。如果不知道此信息,ISP 将在连接设置期间自动提供正确的值。在 FreeBSD 上配置 PPP 时,此地址称为 HISADDR

  • 子网掩码。如果 ISP 没有提供,则将在 ppp(8) 配置文件中使用 255.255.255.255。*

    如果 ISP 已分配静态 IP 地址和主机名,则应将其输入到配置文件中。否则,将在连接设置期间自动提供此信息。

本节的其余部分演示如何为常见的 PPP 连接场景配置 FreeBSD。所需的配置文件是 /etc/ppp/ppp.conf,其他文件和示例可在 /usr/share/examples/ppp/ 中找到。

在本节中,许多文件示例显示行号。添加这些行号是为了更轻松地跟踪讨论,而不是要将其放入实际文件中。

编辑配置文件时,正确的缩进非常重要。以 : 结尾的行应从第一列(行首)开始,而所有其他行应使用空格或制表符缩进,如所示。

30.2.1. 基本配置

为了配置 PPP 连接,首先使用 ISP 的拨入信息编辑 /etc/ppp/ppp.conf。此文件描述如下

1     default:
2       set log Phase Chat LCP IPCP CCP tun command
3       ident user-ppp VERSION
4       set device /dev/cuau0
5       set speed 115200
6       set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
7                 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
8       set timeout 180
9       enable dns
10
11    provider:
12      set phone "(123) 456 7890"
13      set authname foo
14      set authkey bar
15      set timeout 300
16      set ifaddr x.x.x.x/0 y.y.y.y/0 255.255.255.255 0.0.0.0
17      add default HISADDR
第 1 行

标识 default 条目。运行 ppp 时,此条目(第 2 行到第 9 行)中的命令会自动执行。

第 2 行

启用详细的日志记录参数以测试连接。配置正常工作后,应将此行减少为

set log phase tun
第 3 行

ppp(8) 的版本显示给连接另一端的 PPP 软件。

第 4 行

标识调制解调器连接到的设备,其中 COM1/dev/cuau0COM2/dev/cuau1

第 5 行

设置连接速度。如果较旧的调制解调器上 115200 不起作用,请尝试 38400

第 6 行和第 7 行

以预期发送语法编写的拨号字符串。有关更多信息,请参阅 chat(8)

请注意,为了便于阅读,此命令继续到下一行。如果行上的最后一个字符是 \,则 ppp.conf 中的任何命令都可以这样做。

第 8 行

设置链路的空闲超时(以秒为单位)。

第 9 行

指示对等方确认 DNS 设置。如果本地网络正在运行自己的 DNS 服务器,则应注释掉此行(在行首添加 #)或将其删除。

第 10 行

为便于阅读而留空行。 ppp(8) 会忽略空行。

第 11 行

标识名为 provider 的条目。这可以更改为 ISP 的名称,以便可以使用 load ISP 启动连接。

第 12 行

使用 ISP 的电话号码。可以使用冒号 (:) 或管道字符 (|) 作为分隔符指定多个电话号码。要轮换号码,请使用冒号。要始终首先尝试拨打第一个号码,并且仅在第一个号码失败时才使用其他号码,请使用管道字符。始终将整个电话号码集括在引号 (") 中,以防止拨号失败。

第 13 行和第 14 行

使用 ISP 的用户名和密码。

第 15 行

设置连接的默认空闲超时(以秒为单位)。在此示例中,连接将在 300 秒的空闲时间后自动关闭。要防止超时,请将此值设置为零。

第 16 行

设置接口地址。使用的值取决于是从 ISP 获取的静态 IP 地址,还是在连接期间协商动态 IP 地址。

如果 ISP 已分配静态 IP 地址和默认网关,请将 x.x.x.x 替换为静态 IP 地址,并将 y.y.y.y 替换为默认网关的 IP 地址。如果 ISP 仅提供静态 IP 地址而没有网关地址,请将 y.y.y.y 替换为 10.0.0.2/0

如果每次建立连接时 IP 地址都会更改,请将此行更改为以下值。这告诉 ppp(8) 使用 IP 配置协议 (IPCP) 协商动态 IP 地址

set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 0.0.0.0
第 17 行

保持此行不变,因为它会向网关添加默认路由。HISADDR 将自动替换为第 16 行指定的网关地址。此行必须出现在第 16 行之后。

根据 ppp(8) 是手动启动还是自动启动,可能还需要创建 /etc/ppp/ppp.linkup,其中包含以下几行。在 -auto 模式下运行 ppp 时,需要此文件。此文件在建立连接后使用。此时,将分配 IP 地址,现在可以添加路由表条目。创建此文件时,请确保 providerppp.conf 第 11 行中所示的值匹配。

provider:
      add default HISADDR

在静态 IP 地址配置中“猜测”默认网关地址时,也需要此文件。在这种情况下,请从 ppp.conf 中删除第 17 行,并使用上述两行创建 /etc/ppp/ppp.linkup。此文件的更多示例可在 /usr/share/examples/ppp/ 中找到。

默认情况下,必须以 root 身份运行 ppp。要更改此默认设置,请将应运行 ppp 的用户的帐户添加到 /etc/group 中的 network 组。

然后,使用 allow 授予用户对 /etc/ppp/ppp.conf 中的一个或多个条目的访问权限。例如,要授予 fredmary 仅对 provider: 条目的权限,请将以下行添加到 provider: 部分

allow users fred mary

要授予指定用户对所有条目的访问权限,请改为将其放入 default 部分。

30.2.2. 高级配置

可以将 PPP 配置为根据需要提供 DNS 和 NetBIOS 命名服务器地址。

要使用 PPP 1.x 版启用这些扩展,可以将以下几行添加到 /etc/ppp/ppp.conf 的相关部分。

enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5

对于 PPP 2.x 版及更高版本

accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5

这将告诉客户端主命名服务器地址、辅助命名服务器地址和一个 NetBIOS 命名服务器主机。

在 2.x 版及更高版本中,如果省略 set dns 行,则 PPP 将使用 /etc/resolv.conf 中找到的值。

30.2.2.1. PAP 和 CHAP 身份验证

一些 ISP 将其系统设置为使用 PAP 或 CHAP 身份验证机制之一来完成连接的身份验证部分。如果是这种情况,ISP 不会在连接时显示 login: 提示,而是会立即开始使用 PPP。

PAP 的安全性低于 CHAP,但安全性通常不是问题,因为密码虽然使用 PAP 以纯文本形式发送,但仅通过串行线路传输。破解者没有太多机会“窃听”。

必须进行以下更改

13      set authname MyUserName
14      set authkey MyPassword
15      set login
第 13 行

此行指定 PAP/CHAP 用户名。插入 MyUserName 的正确值。

第 14 行

此行指定 PAP/CHAP 密码。插入 MyPassword 的正确值。您可能希望添加另一行,例如

16      accept PAP

16      accept CHAP

以表明这是意图,但默认情况下 PAP 和 CHAP 都被接受。

第 15 行

使用 PAP 或 CHAP 时,ISP 通常不需要登录服务器。因此,请禁用“set login”字符串。

30.2.2.2. 使用 PPP 网络地址转换功能

PPP 能够在没有内核转移功能的情况下使用内部 NAT。可以通过 /etc/ppp/ppp.conf 中的以下行启用此功能

nat enable yes

或者,可以通过命令行选项 -nat 启用 NAT。还有一个名为 ppp_nat/etc/rc.conf 旋钮,默认情况下已启用。

使用此功能时,可能需要包含以下 /etc/ppp/ppp.conf 选项以启用传入连接转发

nat port tcp 10.0.0.2:ftp ftp
nat port tcp 10.0.0.2:http http

或根本不信任外部

nat deny_incoming yes

30.2.3. 最终系统配置

虽然 ppp 现在已配置,但仍需要对 /etc/rc.conf 进行一些编辑。

从此文件自上而下工作,确保已设置 hostname=

hostname="foo.example.com"

如果 ISP 已提供静态 IP 地址和名称,请使用此名称作为主机名。

查找 network_interfaces 变量。要将系统配置为按需拨打 ISP,请确保 tun0 设备已添加到列表中,否则将其删除。

network_interfaces="lo0 tun0"
ifconfig_tun0=

ifconfig_tun0 变量应为空,并且应创建一个名为 /etc/start_if.tun0 的文件。此文件应包含以下行

ppp -auto mysystem

此脚本在网络配置时执行,以自动模式启动 ppp 守护程序。如果此机器充当网关,请考虑包含 -alias。有关更多详细信息,请参阅手册页。

确保使用 /etc/rc.conf 中的以下行将路由器程序设置为 NO

router_enable="NO"

routed 守护程序不应启动,因为 routed 倾向于删除 ppp 创建的默认路由表条目。

最好确保 sendmail_flags 行不包含 -q 选项,否则 sendmail 将尝试不时进行网络查找,这可能会导致您的机器拨出。您可以尝试

sendmail_flags="-bd"

缺点是,每当 ppp 链接时,sendmail 都被迫重新检查邮件队列。要自动执行此操作,请在 ppp.linkup 中包含 !bg

1     provider:
2       delete ALL
3       add 0 0 HISADDR
4       !bg sendmail -bd -q30m

另一种方法是设置一个“dfilter”来阻止 SMTP 流量。有关更多详细信息,请参阅示例文件。

30.2.4. 使用 ppp

剩下的就是重新启动机器。重新启动后,键入

# ppp

然后 dial provider 启动 PPP 会话,或者,要配置 ppp 以在有出站流量且 start_if.tun0 不存在时自动建立会话,请键入

# ppp -auto provider

可以在后台运行时与 ppp 程序通信,但前提是已设置了合适的诊断端口。为此,请将以下行添加到配置中

set server /var/run/ppp-tun%d DiagnosticPassword 0177

这将告诉 PPP 侦听指定的 UNIX® 域套接字,在允许访问之前向客户端询问指定的密码。名称中的 %d 将替换为正在使用的 tun 设备号。

设置套接字后,可以在希望操作正在运行的程序的脚本中使用 pppctl(8) 程序。

30.2.5. 配置拨入服务

“拨入服务” 提供了有关使用 getty(8) 启用拨入服务的良好描述。

getty 的替代方案是 comms/mgetty+sendfax 端口),一个更智能的 getty 版本,专为拨号线设计。

使用 mgetty 的优点在于它主动与调制解调器“通信”,这意味着如果在 /etc/ttys 中关闭端口,则调制解调器将不会接听电话。

mgetty 的后续版本(从 0.99beta 开始)还支持 PPP 流的自动检测,允许客户端无脚本访问服务器。

有关 mgetty 的更多信息,请参阅 http://mgetty.greenie.net/doc/mgetty_toc.html

默认情况下,comms/mgetty+sendfax 端口启用了 AUTO_PPP 选项,允许 mgetty 检测 PPP 连接的 LCP 阶段并自动启动 ppp shell。但是,由于不会发生默认的登录/密码序列,因此有必要使用 PAP 或 CHAP 对用户进行身份验证。

本节假设用户已成功编译并在其系统上安装了 comms/mgetty+sendfax 端口。

确保 /usr/local/etc/mgetty+sendfax/login.config 包含以下内容

/AutoPPP/ -     - /etc/ppp/ppp-pap-dialup

这告诉 mgetty 为检测到的 PPP 连接运行 ppp-pap-dialup

创建一个名为 /etc/ppp/ppp-pap-dialup 的可执行文件,其中包含以下内容

#!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENT

对于在 /etc/ttys 中启用的每个拨号线,在 /etc/ppp/ppp.conf 中创建一个相应的条目。这将与我们上面创建的定义愉快地共存。

pap:
  enable pap
  set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
  enable proxy

使用此方法登录的每个用户都需要在 /etc/ppp/ppp.secret 中拥有用户名/密码,或者选择添加以下选项以通过 /etc/passwd 中的 PAP 对用户进行身份验证。

enable passwdauth

要为某些用户分配静态 IP 号码,请将该号码指定为 /etc/ppp/ppp.secret 中的第三个参数。有关示例,请参阅 /usr/share/examples/ppp/ppp.secret.sample

30.3. PPP 连接故障排除

本节介绍在通过调制解调器连接使用 PPP 时可能出现的一些问题。一些 ISP 会显示 ssword 提示,而另一些则会显示 password。如果 ppp 脚本未相应编写,则登录尝试将失败。调试 ppp 连接最常见的方法是按照本节中的说明手动连接。

30.3.1. 检查设备节点

使用自定义内核时,请确保在内核配置文件中包含以下行

device   uart

GENERIC 内核中已包含 uart 设备,因此在这种情况下无需执行其他步骤。只需使用以下命令检查 dmesg 输出以获取调制解调器设备

# dmesg | grep uart

这应该会显示一些关于 uart 设备的相关输出。这些是我们需要的 COM 端口。如果调制解调器像标准串行端口一样工作,它应该列在 uart1COM2 上。如果是这样,则不需要重新构建内核。匹配时,如果调制解调器位于 uart1 上,则调制解调器设备将为 /dev/cuau1

30.3.2. 手动连接

通过手动控制 ppp 连接到互联网既快速又简单,并且是调试连接或仅获取有关 ISP 如何处理 ppp 客户端连接的信息的好方法。让我们从命令行启动 PPP。请注意,在我们的所有示例中,我们将使用 example 作为运行 PPP 的机器的主机名。要启动 ppp

# ppp
ppp ON example> set device /dev/cuau1

第二个命令将调制解调器设备设置为 cuau1

ppp ON example> set speed 115200

这将连接速度设置为 115,200 kbps。

ppp ON example> enable dns

这告诉 ppp 配置解析器并将名称服务器行添加到 /etc/resolv.conf。如果 ppp 无法确定主机名,则稍后可以手动设置。

ppp ON example> term

这切换到“终端”模式以便手动控制调制解调器。

deflink: Entering terminal mode on /dev/cuau1
type '~h' for help
at
OK
atdt123456789

使用 at 初始化调制解调器,然后使用 atdt 和 ISP 的号码开始拨入过程。

CONNECT

连接确认,如果我们要遇到任何与硬件无关的连接问题,这里是我们尝试解决它们的地方。

ISP Login:myusername

在此提示符下,使用 ISP 提供的用户名返回提示符。

ISP Pass:mypassword

在此提示符下,回复 ISP 提供的密码。就像登录 FreeBSD 一样,密码不会回显。

Shell or PPP:ppp

根据 ISP 的不同,此提示符可能不会出现。如果出现,它会询问是否在提供程序上使用 shell 或启动 ppp。在本例中,选择了 ppp 以建立互联网连接。

Ppp ON example>

请注意,在本例中,第一个 p 已大写。这表明我们已成功连接到 ISP。

Ppp ON example>

我们已成功通过 ISP 身份验证,并且正在等待分配的 IP 地址。

PPP ON example>

我们已就 IP 地址达成协议并成功完成连接。

PPP ON example>add default HISADDR

在这里,我们添加默认路由,我们需要在与外部世界通信之前执行此操作,因为目前仅与对等方建立了连接。如果由于现有路由导致此操作失败,请在 add 前面加上感叹号 !。或者,在建立实际连接之前设置此项,它将相应地协商新的路由。

如果一切顺利,我们现在应该有一个活动的互联网连接,可以使用 CTRL+z 将其置于后台。如果 PPP 返回到 ppp,则连接已断开。这很有用,因为它显示了连接状态。大写 P 表示与 ISP 的连接,小写 p 表示连接已断开。

30.3.3. 调试

如果无法建立连接,请使用 set ctsrts off 将硬件流 CTS/RTS 关闭。这主要是在连接到某些支持 PPP 的终端服务器时发生的情况,其中 PPP 在尝试将数据写入通信链路时挂起,并等待可能永远不会出现的清除发送 (CTS) 信号。使用此选项时,请包含 set accmap,因为它可能需要禁用依赖于端到端传递某些字符的硬件,大多数情况下是 XON/XOFF。有关此选项及其使用方法的更多信息,请参阅 ppp(8)

较旧的调制解调器可能需要 set parity even。奇偶校验默认设置为 none,但用于错误检查,并且流量会大幅增加,在较旧的调制解调器上。

PPP 可能不会返回到命令模式,这通常是协商错误,其中 ISP 正在等待协商开始。此时,使用 ~p 将强制 ppp 开始发送配置信息。

如果从未出现登录提示,则很可能需要 PAP 或 CHAP 身份验证。要使用 PAP 或 CHAP,请在进入终端模式之前向 PPP 添加以下选项

ppp ON example> set authname myusername

其中 myusername 应替换为 ISP 分配的用户名。

ppp ON example> set authkey mypassword

其中 mypassword 应替换为 ISP 分配的密码。

如果建立了连接,但似乎找不到任何域名,请尝试 ping(8) 一个 IP 地址。如果存在 100%(100%)数据包丢失,则很可能未分配默认路由。仔细检查连接期间是否设置了 add default HISADDR。如果可以建立到远程 IP 地址的连接,则可能尚未将解析器地址添加到 /etc/resolv.conf。此文件应如下所示

domain example.com
nameserver x.x.x.x
nameserver y.y.y.y

其中 x.x.x.xy.y.y.y 应替换为 ISP 的 DNS 服务器的 IP 地址。

要配置 syslog(3) 以提供 PPP 连接的日志记录,请确保 /etc/syslog.conf 中存在此行

!ppp
*.*     /var/log/ppp.log

30.4. 通过以太网使用 PPP (PPPoE)

本节介绍如何设置通过以太网使用 PPP (PPPoE)。

这是一个有效的 ppp.conf 示例

default:
  set log Phase tun command # you can add more detailed logging if you wish
  set ifaddr 10.0.0.1/0 10.0.0.2/0

name_of_service_provider:
  set device PPPoE:xl1 # replace xl1 with your Ethernet device
  set authname YOURLOGINNAME
  set authkey YOURPASSWORD
  set dial
  set login
  add default HISADDR

root 身份运行

# ppp -ddial name_of_service_provider

将以下内容添加到 /etc/rc.conf

ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"	# if you want to enable nat for your local network, otherwise NO
ppp_profile="name_of_service_provider"

30.4.1. 使用 PPPoE 服务标签

有时需要使用服务标签来建立连接。服务标签用于区分连接到给定网络的不同 PPPoE 服务器。

任何必需的服务标签信息都应包含在 ISP 提供的文档中。

作为最后的手段,您可以尝试安装 net/rr-pppoe 软件包或端口。但是请记住,这可能会使您的调制解调器重新编程并使其无法使用,因此在执行此操作之前请三思。只需安装随调制解调器一起提供的程序。然后,从程序中访问 系统菜单。配置文件的名称应列在其中。它通常是 ISP

配置文件名称(服务标签)将在 ppp.conf 中的 PPPoE 配置条目中用作 set device 的提供程序部分。有关完整详细信息,请参阅 ppp(8)。它应该如下所示

set device PPPoE:xl1:ISP

不要忘记将 xl1 更改为以太网卡的正确设备。

不要忘记将 ISP 更改为配置文件。

有关其他信息,请参阅 Renaud Waldura 编写的 使用 FreeBSD 在 DSL 上获得更便宜的宽带

30.4.2. 使用 3Com® HomeConnect™ ADSL 调制解调器双链路进行 PPPoE

此调制解调器不遵循 RFC 2516 中定义的 PPPoE 规范。

为了使 FreeBSD 能够与该设备通信,必须设置 sysctl。这可以通过在启动时更新 /etc/sysctl.conf来自动完成

net.graph.nonstandard_pppoe=1

或者可以使用以下命令立即完成

# sysctl net.graph.nonstandard_pppoe=1

不幸的是,由于这是一个系统范围的设置,因此无法同时与普通的 PPPoE 客户端或服务器以及 3Com® HomeConnect™ ADSL 调制解调器通信。

30.5. 使用 PPP over ATM (PPPoA)

以下内容介绍了如何设置 PPP over ATM (PPPoA)。PPPoA 是欧洲 DSL 提供商中流行的选择。

30.5.1. 使用 mpd

mpd 应用程序可用于连接到各种服务,尤其是 PPTP 服务。可以使用 net/mpd5 软件包或端口安装它。许多 ADSL 调制解调器要求在调制解调器和计算机之间创建 PPTP 隧道。

安装完成后,配置 mpd 以适合提供商的设置。该端口放置了一组示例配置文件,这些文件在 /usr/local/etc/mpd/ 中有详细说明。有关配置 mpd 的完整指南以 HTML 格式提供在 /usr/ports/shared/doc/mpd/ 中。以下是如何使用 mpd 连接到 ADSL 服务的示例配置。该配置分布在两个文件中,首先是 mpd.conf

此示例 mpd.conf 仅适用于 mpd 4.x。

default:
    load adsl

adsl:
    new -i ng0 adsl adsl
    set bundle authname username (1)
    set bundle password password (2)
    set bundle disable multilink

    set link no pap acfcomp protocomp
    set link disable chap
    set link accept chap
    set link keep-alive 30 10

    set ipcp no vjcomp
    set ipcp ranges 0.0.0.0/0 0.0.0.0/0

    set iface route default
    set iface disable on-demand
    set iface enable proxy-arp
    set iface idle 0

    open
1用于向您的 ISP 进行身份验证的用户名。
2用于向您的 ISP 进行身份验证的密码。

有关要建立的链接或链接的信息可以在 mpd.links 中找到。下面给出了与上述示例相对应的示例 mpd.links

adsl:
    set link type pptp
    set pptp mode active
    set pptp enable originate outcall
    set pptp self 10.0.0.1 (1)
    set pptp peer 10.0.0.138 (2)
1运行 mpd 的 FreeBSD 计算机的 IP 地址。
2ADSL 调制解调器的 IP 地址。Alcatel SpeedTouch™ Home 默认设置为 10.0.0.138

可以通过以 root 身份发出以下命令轻松初始化连接

# mpd -b adsl

查看连接状态

% ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
     inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff

使用 mpd 是使用 FreeBSD 连接到 ADSL 服务的推荐方法。

30.5.2. 使用 pptpclient

还可以使用 FreeBSD 通过 net/pptpclient 连接到其他 PPPoA 服务。

要使用 net/pptpclient 连接到 DSL 服务,请安装端口或软件包,然后编辑 /etc/ppp/ppp.conf。下面给出了 ppp.conf 的示例部分。有关 ppp.conf 选项的更多信息,请参阅 ppp(8)

adsl:
 set log phase chat lcp ipcp ccp tun command
 set timeout 0
 enable dns
 set authname username (1)
 set authkey password (2)
 set ifaddr 0 0
 add default HISADDR
1DSL 提供商的用户名。
2您的帐户密码。

由于帐户密码以纯文本形式添加到 ppp.conf 中,因此请确保没有人可以读取此文件的内容

# chown root:wheel /etc/ppp/ppp.conf
# chmod 600 /etc/ppp/ppp.conf

这将打开一个隧道,用于与 DSL 路由器建立 PPP 会话。以太网 DSL 调制解调器具有预配置的 LAN IP 地址以连接到。对于 Alcatel SpeedTouch™ Home,此地址为 10.0.0.138。路由器的文档应列出设备使用的地址。要打开隧道并启动 PPP 会话

# pptp address adsl

如果在此命令的末尾添加了“&”,则 pptp 将返回提示符。

将创建一个 tun 虚拟隧道设备,用于 pptp 和 ppp 进程之间的交互。返回提示符或 pptp 进程确认连接后,检查隧道

% ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
        inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
	Opened by PID 918

如果连接失败,请检查路由器的配置,通常可以使用 Web 浏览器访问。此外,检查 pptp 的输出和日志文件 /var/log/ppp.log 中的内容以查找线索。


上次修改时间:2024 年 3 月 9 日,作者:Danilo G. Baio