第三十章 PPP30.1. 简介30.2. 配置PPP30.2.1. 基本设置30.2.2. 高级配置30.2.2.1. PAP和CHAP身份验证30.2.2.2. 使用PPP网络地址转换功能30.2.3. 最终系统配置30.2.4. 使用 ppp30.2.5. 配置拨入服务30.3. PPP连接故障排除30.3.1. 检查设备节点30.3.2. 手动连接30.3.3. 调试30.4. 使用以太网PPP(PPPoE)30.4.1. 使用PPPoE服务标签30.4.2. 带有3Com®HomeConnect™ADSL调制解调器双链路的PPPoE30.5. 使用ATM上的PPP(PPPoA)30.5.1. 使用mpd30.5.2. 使用pptpclient
FreeBSD支持点对点(Point-to-Point,PPP)协议,该协议可用于使用拨号调制解调器建立网络或互联网连接。本章介绍如何在FreeBSD中配置基于调制解调器的通信服务。
阅读本章以了解: • 如何配置、使用和排除PPP连接故障。 • 如何设置以太网PPP(PPPoE)。 • 如何在ATM上设置PPP(PPPoA)。
在阅读本章之前: • 熟悉基本的网络术语。 • 了解拨号连接和PPP的基础知识和目的。
FreeBSD提供了使用 ppp(8) 管理拨号PPP连接的内置支持。默认的FreeBSD内核支持tun,tun用于与调制解调器硬件交互。通过编辑至少一个配置文件来执行配置,并且提供包含示例的配置文件。最后, ppp 用于启动和管理连接。
为了使用PPP连接,需要以下项目:
• 互联网服务提供商(ISP)的拨号帐户。 • 拨号调制解调器。 • ISP的拨号号码。 • ISP分配的登录名和密码。 • 一个或多个DNS服务器的IP地址。通常,ISP会提供这些地址。如果没有,FreeBSD可以配置为使用DNS协商(negotiation.)。
如果缺少任何所需信息,请联系ISP。
以下信息可能由ISP提供,但并非必需:
默认网关的IP地址。如果此信息未知,ISP将在连接设置期间自动提供正确的值。在FreeBSD上配置PPP时,此地址称为 HIADDR 。
子网掩码。如果ISP没有提供,则 ppp(8) 配置文件中将使用 255.255.255.255 。
如果ISP分配了静态IP地址和主机名,则应将其输入到配置文件中。否则,此信息将在连接设置期间自动提供。
本节的其余部分将演示如何为常见的PPP连接场景配置FreeBSD。所需的配置文件是 /etc/ppp/ppp.conf ,其他文件和示例可在 /usr/share/examples/ppp/ 中找到。
xxxxxxxxxx在本节中,许多文件示例都显示了行号。添加这些行号是为了更容易理解讨论,而不是放在实际文件中。编辑配置文件时,正确的缩进很重要。以 `:` 结尾的行从第一列(行的开头)开始,而所有其他行都应该缩进,如使用空格或制表符所示。为了配置PPP连接,首先使用ISP的拨入信息编辑 /etc/ppp/ppp.conf 。此文件描述如下:
xxxxxxxxxx1 default:2 set log Phase Chat LCP IPCP CCP tun command3 ident user-ppp VERSION4 set device /dev/cuau05 set speed 1152006 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"8 set timeout 1809 enable dns1011 provider:12 set phone "(123) 456 7890"13 set authname foo14 set authkey bar15 set timeout 30016 set ifaddr x.x.x.x/0 y.y.y.y/0 255.255.255.255 0.0.0.017 add default HISADDR第1行
标识 default 条目。运行 ppp 时,此条目(第2行至第9行)中的命令会自动执行。
第2行
启用详细日志记录参数以测试连接。一旦配置工作令人满意,这条线应该减少到:
xxxxxxxxxxset log phase tun第3行
向连接另一端运行的PPP软件显示 ppp(8) 的版本。
第4行
标识调制解调器连接到的设备,其中COM1是 /dev/cuau0 ,COM2是 /dev/cuuu1 。
第5行
设置连接速度。如果 115200 在较旧的调制解调器上不起作用,请尝试 38400 。
第6 & 7行
以expect-send语法编写的拨号字符串。有关更多信息,请参阅 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地址:
xxxxxxxxxxset 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地址将已分配,现在可以添加路由表条目。创建此文件时,请确保提供程序与 ppp.conf 第11行中显示的值匹配。
xxxxxxxxxxprovider: add default HISADDR当在静态IP地址配置中“猜测”默认网关地址时,也需要此文件。在这种情况下,从 ppp.conf 中删除第17行,并使用上述两行创建 /etc/ppp/ppp.linkup 。此文件的更多示例可以在 /usr/share/examples/ppp/ 中找到。
默认情况下, ppp 必须以 root 身份运行。要更改此默认值,请将应运行 ppp 的用户的帐户添加到 /etc/group 中的 network 组中。
然后,使用 allow 允许用户访问 /etc/ppp/ppp.conf 中的一个或多个条目。例如,要只允许 fred 和 mary 访问 provider: 条目,请在 provider: 部分添加此行:
xxxxxxxxxxallow users fred mary要让指定用户访问所有条目,请将该行放在默认部分。
可以配置PPP以按需提供DNS和NetBIOS名称服务器地址。
为了在PPP 1.x版本中启用这些扩展,可以在 /etc/ppp/ppp.conf 的相关部分添加以下行。
xxxxxxxxxxenable msextset ns 203.14.100.1 203.14.100.2set nbns 203.14.100.5对于PPP版本2及以上:
xxxxxxxxxxaccept dnsset dns 203.14.100.1 203.14.100.2set nbns 203.14.100.5这将告诉客户端主名称服务器地址和辅助名称服务器地址,以及NetBIOS名称服务器主机。
在版本2及以上版本中,如果省略了 set dns 行,PPP将使用 /etc/resolv.conf 中的值。
一些ISP设置了他们的系统,以便使用PAP或CHAP身份验证机制完成连接的身份验证部分。如果是这样的话,ISP在连接时不会给出 login: 提示,但会立即开始谈论PPP。
PAP的安全性不如CHAP,但安全性通常不是问题,因为密码虽然以明文形式与PAP一起发送,但只能通过串行线传输。crackers “eavesdrop”的空间不大。
必须进行以下更改:
xxxxxxxxxx13 set authname MyUserName14 set authkey MyPassword15 set login第13行
此行指定 PAP/CHAP 用户名。为 MyUserName 插入正确的值。
第14行
此行指定 PAP/CHAP 密码。为 MyPassword 插入正确的值。可以添加额外的行,例如:
xxxxxxxxxx16 accept PAP或者:
xxxxxxxxxx16 accept CHAP为了清楚地表明这是意图,但默认情况下 PAP 和 CHAP 都被接受。
第15行
使用 PAP 或 CHAP 时,ISP通常不需要登录到服务器。因此,禁用 set longin 字符串。
PPP能够使用内部NAT,而无需内核转移功能。此功能可以通过 /etc/ppp/ppp.conf 中的以下行启用:
xxxxxxxxxxnat enable yes或者,NAT可以通过命令行选项 -nat 启用。还有一个名为 ppp_nat 的 /etc/rc.conf 旋钮,默认情况下是启用的。
使用此功能时,包含以下 /etc/ppp/ppp.conf 选项以启用传入连接转发可能很有用:
xxxxxxxxxxnat port tcp 10.0.0.2:ftp ftpnat port tcp 10.0.0.2:http http或者根本不信任外界
xxxxxxxxxxnat deny_incoming yes虽然现在配置了 ppp ,但仍需要对 /etc/rc.conf 进行一些编辑。
在此文件中从上到下工作,确保设置了 hostname= 行:
xxxxxxxxxxhostname="foo.example.com"如果ISP提供了静态IP地址和名称,请使用此名称作为主机名。
查找 network_interfaces 变量。要将系统配置为按需拨号ISP,请确保将tun0设备添加到列表中,否则将其删除。
xxxxxxxxxxnetwork_interfaces="lo0 tun0"ifconfig_tun0=xxxxxxxxxxifconfig_tun0变量应为空,并应创建一个名为/etc/start_if.tun0的文件。此文件应包含以下行: ppp -auto mysystem此脚本在网络配置时执行,以自动模式启动ppp守护进程。如果这台机器充当网关,请考虑包含-alias。有关更多详细信息,请参阅手册页。确保在 /etc/rc.conf 中使用以下行将路由器程序设置为 NO :
xxxxxxxxxxrouter_enable="NO"routed 守护进程不启动很重要,因为 routed 往往会删除 ppp 创建的默认路由表条目。
确保 sendmail_flags 行不包含 -q 选项可能是一个好主意,否则 sendmail 会不时尝试进行网络查找,可能会导致机器拨出。试试这个:
xxxxxxxxxxsendmail_flags="-bd"缺点是每当ppp链接时, sendmail 都会被迫重新检查邮件队列。要实现自动化,请在 ppp.linkup 中包括 !bg :
xxxxxxxxxx1 provider:2 delete ALL3 add 0 0 HISADDR4 !bg sendmail -bd -q30m另一种方法是设置一个“dfilter”来阻止SMTP流量。有关更多详细信息,请参阅示例文件。
ppp剩下的就是重新启动机器。重新启动后,请键入:
xxxxxxxxxx# ppp然后 dial provider 以启动PPP会话,或者,要配置 ppp 以在有出站流量且start_if.tun0不存在时自动建立会话,请键入:
xxxxxxxxxx# ppp -auto providerppp 程序在后台运行时可以与之对话,但前提是已设置了合适的诊断端口。为此,请在配置中添加以下行:
xxxxxxxxxxset server /var/run/ppp-tun%d DiagnosticPassword 0177这将告诉PPP监听指定的UNIX®域套接字,在允许访问之前要求客户端提供指定的密码。名称中的 %d 将替换为正在使用的tun设备号。
一旦设置了套接字, pppctl(8) 程序就可以在希望操纵正在运行的程序的脚本中使用。
【29.4. 拨号服务】很好地描述了如何使用 getty(8) 启用拨号服务。
getty 的另一种选择是 comms/mgetty+sendfax 端口,这是 getty 的一个更智能的版本,设计时考虑了拨号线路。
使用 mgetty 的优点是它可以主动与调制解调器通信,这意味着如果 /etc/ttys 中的端口关闭,调制解调器将不会接听电话。
mgetty 的后续版本(从0.99beta开始)也支持自动检测PPP流,允许客户端无脚本访问服务器。
参见 http://mgetty.greenie.net/doc/mgetty_toc.html 有关 mgetty 的更多信息。
默认情况下,comms/mgetty+sendfax 端口启用了 AUTO_PPP 选项,允许 mgetty 检测PPP连接的LCP阶段并自动生成PPP shell。但是,由于没有出现默认登录/密码序列,因此有必要使用PAP或CHAP对用户进行身份验证。
本节假设用户已成功编译并在其系统上安装了 comms/mgetty+sendfax 端口。
确保 /usr/local/etc/mgetty+sendfax/login.config 具有以下内容:
xxxxxxxxxx/AutoPPP/ - - /etc/ppp/ppp-pap-dialup此命令将告诉 mgetty 对检测到的PPP连接运行 ppp-pap-dialup 。
创建一个名为 /etc/ppp/ppp-pap-dialup 的可执行文件,其中包含以下内容:
xxxxxxxxxxexec /usr/sbin/ppp -direct pap$IDENT对于 /etc/ttys 中启用的每条拨号线路,在 /etc/ppp/ppp.conf 中创建一个相应的条目。这将与我们上面创建的定义愉快地共存。
xxxxxxxxxxpap: 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对用户进行身份验证。
xxxxxxxxxxenable passwdauth要为某些用户分配静态IP号码,请将该号码指定为 /etc/ppp/ppp.secret 中的第三个参数。有关示例,请参阅 /usr/share/examples/ppp/ppp.secret.sample 。
本节介绍在调制解调器连接上使用PPP时可能出现的一些问题。一些ISP显示 pssword 提示,而另一些则显示密码。如果 ppp 脚本没有相应地编写,登录尝试将失败。调试 ppp 连接的最常见方法是按照本节所述手动连接。
使用自定义内核时,请确保在内核配置文件中包含以下行:
xxxxxxxxxxdevice uartuart设备已经包含在 GENERIC 内核中,因此在这种情况下不需要额外的步骤。只需使用以下命令检查调制解调器设备的 dmesg 输出:
xxxxxxxxxx# dmesg | grep uart这应该显示一些关于uart设备的相关输出。这些是我们需要的COM端口。如果调制解调器的作用类似于标准串行端口,则应将其列在uart1或COM2上。如果是这样,则不需要重新构建内核。匹配时,如果调制解调器在uart1上,则调制解调器设备将是 /dev/cuau1 。
通过手动控制 ppp 连接到互联网是快速、简单的,也是调试连接或获取ISP如何处理 ppp 客户端连接信息的好方法。让我们从命令行启动PPP。请注意,在我们所有的示例中,我们将使用 example 作为运行PPP的机器的主机名。要启动 ppp :
xxxxxxxxxx# pppppp ON example> set device /dev/cuau1第二个命令将调制解调器设备设置为cuau1。
xxxxxxxxxxppp ON example> set speed 115200这将连接速度设置为115200 kbps。
xxxxxxxxxxppp ON example> enable dns这个命令告诉 ppp 配置解析程序并将名称服务器行添加到 /etc/resolv.conf 。如果 ppp 不能确定主机名,可以稍后手动设置。
xxxxxxxxxxppp ON example> term这将切换到 terminal 模式,以便手动控制调制解调器。
xxxxxxxxxxdeflink: Entering terminal mode on /dev/cuau1type '~h' for helpatOKatdt123456789使用 at 初始化调制解调器,然后使用 atdt 和ISP的号码开始拨号过程。
xxxxxxxxxxCONNECT确认连接,如果我们遇到任何与硬件无关的连接问题,我们将尝试解决这些问题。
xxxxxxxxxxISP Login:myusername在此提示下,返回ISP提供的用户名提示。
xxxxxxxxxxISP Pass:mypassword在此提示下,使用ISP提供的密码进行回复。就像登录FreeBSD一样,密码不会回声。
xxxxxxxxxxShell or PPP:ppp根据ISP的不同,此提示可能不会出现。如果是这样,它会询问是在提供者上使用shell还是启动 ppp 。在这个例子中,选择 ppp 是为了建立互联网连接。
xxxxxxxxxxPpp ON example>请注意,在这个例子中,第一个 p 被大写。这表明我们已成功连接到ISP。
xxxxxxxxxxPpp ON example>我们已成功通过ISP的身份验证,正在等待分配的IP地址。
xxxxxxxxxxPPP ON example>我们已就IP地址达成协议,并成功完成了连接。
xxxxxxxxxxPPP ON example>add default HISADDR在这里,我们添加了默认路由,我们需要在与外界通信之前这样做,因为目前唯一建立的连接是与对等体的连接。如果由于现有路线而失败,请放置一个bang字符 ! 在 add 的前面。或者,在实际连接之前设置此选项,它将相应地协商新的路由。
如果一切顺利,我们现在应该有一个与互联网的活动连接,可以使用 CTRL+z 将其抛到后台。如果 PPP 返回到 ppp ,则连接已丢失。知道这一点很好,因为它显示了连接状态。大写的 P 表示与ISP的连接,小写的 p 表示连接已丢失。
如果无法建立连接,请使用 set ctsrts off 将硬件流CTS/RTS关闭。这主要是在连接到某些支持PPP的终端服务器时发生的情况,PPP在尝试向通信链路写入数据时挂起,并等待可能永远不会到来的清除发送(Clear To Send,CTS)信号。使用此选项时,请包含 set accmap ,因为可能需要它来击败依赖于从头到尾传递某些字符的硬件,大多数时候是XON/XOFF。有关此选项及其使用方法的更多信息,请参阅 ppp(8) 。
较旧的调制解调器可能需要 set parity even 。默认情况下,奇偶校验设置为 none ,但在较旧的调制解调器上,奇偶校验用于流量大幅增加的错误检查。
PPP可能不会返回到命令模式,这通常是一个协商错误,ISP正在等待协商开始。此时,使用 ~p 将强制ppp开始发送配置信息。
如果登录提示从未出现,则很可能需要PAP或CHAP身份验证。要使用PAP或CHAP,请在进入终端模式之前向PPP添加以下选项:
xxxxxxxxxxppp ON example> set authname myusername其中 myusername 应替换为ISP分配的用户名。
xxxxxxxxxxppp ON example> set authkey mypassword其中 mypassword 应替换为ISP分配的密码。
如果已建立连接,但似乎找不到任何域名,请尝试 ping(8) 一个IP地址。如果有100%(100%)的数据包丢失,则很可能没有分配默认路由。仔细检查连接过程中是否设置了 add default HISADDR 。如果可以连接到远程IP地址,则可能未将解析器地址添加到 /etc/resolv.conf 中。此文件应如下所示:
xxxxxxxxxxdomain example.comnameserver x.x.x.xnameserver y.y.y.y其中 x.x.x.x 和 y.y.y.y 应替换为ISP DNS服务器的IP地址。
要配置 syslog(3) 为PPP连接提供日志记录,请确保 /etc/syslog.conf 中存在此行:
xxxxxxxxxx!ppp*.* /var/log/ppp.log本节介绍如何设置以太网PPP(PPP over Ethernet,PPPoE)。
以下是一个工作的 ppp.conf 示例:
xxxxxxxxxxdefault: set log Phase tun command # add more detailed logging when needed set ifaddr 10.0.0.1/0 10.0.0.2/0 name_of_service_provider: set device PPPoE:xl1 # replace xl1 with the Ethernet device set authname THELOGINNAME set authkey THEPASSWORD set dial set login add default HISADDR作为 root 运行:
xxxxxxxxxx# ppp -ddial name_of_service_provider将以下内容添加到 /etc/rc.conf :
xxxxxxxxxxppp_enable="YES"ppp_mode="ddial"ppp_nat="YES" # when needing to enable nat for the local network, otherwise NOppp_profile="name_of_service_provider"有时需要使用服务标签来建立连接。服务标签用于区分连接到给定网络的不同PPPoE服务器。
ISP提供的文档中应包含任何所需的服务标签信息。
作为最后的手段,可以尝试安装 net/rr-pppoe 包或端口。但是请记住,这可能会对调制解调器进行去编程并使其无用,所以在这样做之前要三思而后行。只需安装调制解调器附带的程序即可。然后,从程序中访问系统菜单。配置文件的名称应列在那里。通常是ISP。
配置文件名称(服务标签)将在 ppp.conf 中的PPPoE配置条目中用作 set device 的提供者部分。有关详细信息,请参阅 ppp(8) 。它应该看起来像这样:
xxxxxxxxxxset device PPPoE:xl1:ISP不要忘记将 xl1 更改为以太网卡的正确设备。
不要忘记将 ISP 更改为配置文件。
如需更多信息,请参阅Renaud Waldura的《DSL上FreeBSD更便宜的宽带》。
此调制解调器不遵循RFC 2516中定义的PPPoE规范。
为了使FreeBSD能够与此设备通信,必须设置sysctl。这可以在启动时通过更新 /etc/sysctl.conf 自动完成:
xxxxxxxxxxnet.graph.nonstandard_pppoe=1或者可以使用以下命令立即完成:
xxxxxxxxxx# sysctl net.graph.nonstandard_pppoe=1不幸的是,由于这是一个系统范围的设置,因此无法同时与正常的PPPoE客户端或服务器和3Com®HomeConnect™ADSL调制解调器进行通信。
下面描述了如何在ATM上设置PPP(PPP over ATM,PPPoA)。PPPoA是欧洲DSL提供商的热门选择。
mpd 应用程序可用于连接各种服务,特别是PPTP服务。它可以使用 net/mpd5 包或端口安装。许多ADSL调制解调器要求在调制解调器和计算机之间创建PPTP隧道。
安装后,配置mpd以适应提供商的设置。该端口放置了一组示例配置文件,这些文件在 /usr/local/etc/mpd/ 中有很好的记录。配置mpd的完整指南以HTML格式提供在 /usr/ports/shared/doc/mpd/ 中。这是一个使用mpd连接到ADSL服务的示例配置。配置分布在两个文件中,首先是 mpd.conf :
xxxxxxxxxx此示例mpd.conf仅适用于mpd 4.x。xxxxxxxxxxdefault: load adsl adsl: new -i ng0 adsl adsl set bundle authname username ① set bundle password password ② 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① 用于向ISP进行身份验证的用户名。 ② 用于向ISP进行身份验证的密码。
有关要建立的一个或多个链接的信息,请参阅mpd.links。下面给出了上述示例的mpd.links示例:
xxxxxxxxxxadsl: set link type pptp set pptp mode active set pptp enable originate outcall set pptp self 10.0.0.1 ① set pptp peer 10.0.0.138 ②① 运行mpd的FreeBSD计算机的IP地址。 ② ADSL调制解调器的IP地址。阿尔卡特SpeedTouch™Home默认为10.0.0.138。
通过以 root 身份发出以下命令,可以轻松初始化连接:
xxxxxxxxxx# mpd -b adsl要查看连接状态,请执行以下操作:
xxxxxxxxxx% ifconfig ng0ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500 inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff建议使用mpd连接FreeBSD的ADSL服务。
也可以使用FreeBSD通过 net/pptpclient 连接到其他PPPoA服务。
要使用 net/pptpclient 连接到DSL服务,请安装端口或包,然后编辑 /etc/ppp/ppp.conf 。下面给出了 ppp.conf 的示例部分。有关 ppp.conf 选项的更多信息,请参阅 ppp(8) 。
xxxxxxxxxxadsl: set log phase chat lcp ipcp ccp tun command set timeout 0 enable dns set authname username ① set authkey password ② set ifaddr 0 0 add default HISADDR① DSL提供商的用户名。 ② 帐户的密码。
xxxxxxxxxx由于帐户的密码以纯文本形式添加到ppp.conf中,请确保没有人可以读取此文件的内容: # chown root:wheel /etc/ppp/ppp.conf # chmod 600 /etc/ppp/ppp.conf这将为到DSL路由器的PPP会话打开一个隧道。以太网DSL调制解调器有一个预配置的LAN IP地址可供连接。对于阿尔卡特SpeedTouch™Home,此地址为 10.0.0.138 。路由器的文档应列出设备使用的地址。要打开隧道并启动PPP会话,请执行以下操作:
xxxxxxxxxx# pptp address adslxxxxxxxxxx如果在此命令末尾添加与号(“&”),pptp将返回提示。将创建一个tun虚拟隧道设备,用于pptp和ppp进程之间的交互。一旦返回提示,或者pptp进程确认了连接,请检查隧道:
xxxxxxxxxx% ifconfig tun0tun0: 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 的内容以获取线索。