28.6 使用 ATM 上的 PPP (PPPoA)

  以下将介绍如何设置基于ATM的PPP(PPPoA)。 PPPoA是欧洲DSL提供商的普遍选择。

28.6.1 使用 Alcatel SpeedTouch™USB 的 PPPoA

  针对这一设备的 PPPoA 支持, 在 FreeBSD 中是作为 port 提供的, 因为其固件使用了 阿尔卡特许可协议, 因而不能与 FreeBSD 的基本系统一起免费地再发布。

  使用 Ports 套件 可以非常方便地安装 net/pppoa port, 之后按照它提供的指示操作就可以了。

  和许多 USB 设备类似, 阿尔卡特的 SpeedTouch™ USB 需要从主机上下载固件才能够正常工作。 在 FreeBSD 中您可以将此操作自动化, 在有设备插到某个 USB 口的时候自动下载固件。 可以在 /etc/usbd.conf 文件中加入下面的信息来让它自动完成固件的传送。 注意, 必须以 root 用户的身份编辑它。

device "Alcatel SpeedTouch USB"
    devname "ugen[0-9]+"
    vendor 0x06b9
    product 0x4061
    attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"

  要启动USB守护进程usbd, 在/etc/rc.conf加入以下行:

usbd_enable="YES"

  也可以将ppp设置成启动时拨号。 向 /etc/rc.conf加入以下这几行。 同样地您需要以root用户登录。

ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="adsl"

  为了使其正常工作, 您需要使用net/pppoa port提供的ppp.conf样例。

28.6.2 使用mpd

  可以使用 mpd 来连接多种类型的服务, 特别是 PPTP 服务。 您可以在 Ports Collection 中找到 mpd, 它的位置是 net/mpd。 许多 ADSL modem 需要在 modem 和计算机之间建立一条 PPTP 隧道, 而阿尔卡特 SpeedTouch Home 正是其中的一种。

  首先需要从 port 完成安装, 然后才能配置 mpd 来满足您的需要, 并完成服务商的配置。 port 会把一系列包括了详细注解的配置文件实例放到 PREFIX/etc/mpd/。 注意, 这里的 PREFIX 表示 ports 安装的目录, 默认情况下, 应该是 /usr/local/。 关于配置 mpd 的完整说明, 会以 HTML 格式随 port 一起安装。 这些文件将放在 PREFIX/share/doc/mpd/。 下面是通过 mpd 连接 ADSL 服务的一个简单例子。 配置被分别放到了两个文件中, 第一个是 mpd.conf

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)
username用来向您的ISP进行验证。
(2)
password用来向您的ISP进行验证。

  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的主机的IP地址。
(2)
ADSL modem的IP地址。 Alcatel SpeedTouch Home 默认的是 10.0.0.138

  初始化连接:

# 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连接ADSL服务是推荐的方式。

28.6.3 使用pptpclient

  也可以使用net/pptpclient连接其它的 PPPoA。

  要使用 net/pptpclient 连接 DSL 服务, 需要安装 port 或 package 并编辑 /etc/ppp/ppp.conf。 您需要有 root 权限才能完成这两项操作。 以下是 ppp.conf 中的一个示例项。 参考 ppp 的联机手册 ppp(8), 以了解更多有关 ppp.conf 选项的信息。

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
(1)
您在 DSL 服务提供商那里的用户名
(2)
您帐户的口令。

警告: 由于您必须将帐号密码以明文的方式放入ppp.conf 您应该确保没有任何人能看到此文件的内容。 以下一系列命令将会确保此文件只对 root用户可读。 请参见 chmod(1)chown(8) 的联机手册以了解有关如何操作的进一步信息。

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

  以下将为到 DSL 路由器的会话打开一个 tunnel。 以太网DSL modem有一个设置的局域网IP地址。 以 Alcatel SpeedTouch Home 为例, 这个地址是 10.0.0.138。 路由器的文档应该会告诉您它使用的地址。 执行以下命令以打开 tunnel 并开始会话:

# pptp address adsl

提示: 您应该在命令的最后加上(“&”)号, 否则 pptp 无法返回到命令行提示符。

  要创建一个 tun虚拟设备用于进程pptpppp 之间的交互。 一旦您回到了命令行, 或者 pptp 进程确认了一个连接, 您可以这样检查tunnel设备:

% 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

  如果您无法连接, 一般可以通过telnet或者web浏览器检查路由器(modem)的配置。 如果依旧无法连接, 您应该检查pptp的输出及ppp的日志文件 /var/log/ppp.log 以获得线索。

本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.