30.5.使用 ATM 上的 PPP (PPPoA) ============================== 下面介绍如何设置基于 ATM 的 PPP(PPPoA)。PPPoA 是欧洲 DSL 供应商中的一个普遍的选择。 30.5.1.使用 mpd --------------- mpd 应用程序可以用来连接各种服务,特别是 PPTP 服务。它可以使用二进制包或 port 来安装 `net/mpd5 `__\ 。许多 ADSL 调制解调器要求在调制解调器和计算机之间建立一个 PPTP 隧道。 一旦安装,配置 mpd 以适应供应商的设置。该端口放置了一组样本配置文件,这些文件在 **/usr/local/etc/mpd/** 中有详细的记录。在 **/usr/ports/shared/doc/mpd/** 中有一份 HTML 格式的完整的 mpd 配置指南。下面是一个用 mpd 连接 ADSL 服务的配置样本。该配置分布在两个文件中,首先是 **mpd.conf**\ : **注意** 这个例子的 **mpd.conf** 仅适用于 mpd 4.x。 .. raw:: latex \diilbookstyleinputcell .. code:: shell-session default: 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** 的例子: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session adsl: 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 地址。Alcatel SpeedTouch™ Home 默认为 ``10.0.0.138``\ 。 可以通过以 ``root`` 身份执行以下命令来轻松初始化连接: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session # mpd -b adsl 要查看连接的状态: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session % ifconfig ng0 ng0: flags=88d1 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 服务,需要安装这个二进制包或 port,然后编辑 **/etc/ppp/ppp.conf**\ 。下面给出了 **ppp.conf** 的一个示例部分。关于 **ppp.conf** 选项的进一步信息,请参考 `ppp(8) `__\ 。 .. raw:: latex \diilbookstyleinputcell .. code:: shell-session adsl: 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 供应商的用户名。 ② 你账户的密码。 **警告** 由于账户的密码是以纯文本形式添加到 **ppp.conf** 中的,所以要确保没有人能够读到这个文件的内容: .. code:: shell-session # 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 会话: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session # pptp address adsl .. **技巧** 如果在这个命令的末尾加上一个记号(“&”),pptp 将返回提示。 将创建虚拟隧道设备 **tun**\ ,用于 pptp 和 ppp 进程之间的交互。一旦提示返回,或者 pptp 进程确认了连接,请检查隧道: .. raw:: latex \diilbookstyleinputcell .. code:: shell-session % ifconfig tun0 tun0: flags=8051 mtu 1500 inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00 Opened by PID 918 如果连接失败,请检查路由器的配置,通常可以用网络浏览器访问。另外,检查 ``pptp`` 的输出和日志文件 **/var/log/ppp.log** 的内容,寻找线索。