28.5. 使用 ATM 上的 PPP (PPPoA)
以下将介绍如何设置基于 ATM 的 PPP (PPPoA)。PPPoA 是欧洲 DSL 提供商的普遍选择。
28.5.1.使用 mpd
可以使用 mpd 来连接多种类型的服务,特别是 PPTP 服务。它可以使用 package 或 port 来安装 net/mpd5 ,许多 ADSL modem 需要在 modem 和计算机之间建立一条 PPTP 隧道。
一旦安装完毕,就要配置 mpd 以适应提供者的设置。这个 port 放置了一组样本配置文件,这些文件在 /usr/local/etc/mpd/ 中有详细说明。在 /usr/ports/shared/doc/mpd/ 中有一份 HTML 格式的完整的 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
username
用来向你的 ISP 进行验证。password
用来向你的 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
- 运行 mpd 的主机的 IP 地址。
- ADSL modem 的 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 连接 ADSL 服务是推荐的方式。
28.5.2.使用 pptpclient
也可以用 FreeBSD 通过 net/pptpclient 连接到其他 PPPoA 服务。
要使用 net/pptpclient 连接到 DSL 服务,请用 port 或 package 安装,然后编辑 /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
- DSL 服务的用户名
- 你帐户的口令。
警告
由于你必须将帐号密码以明文的方式放入 ppp.conf,你应该确保没有任何人能看到此文件的内容:
# 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 并开始一个 PPP 会话:
# pptp address adsl
小技巧
你应该在命令的最后加上 (“&”) 号,否则 pptp 无法返回到命令行提示符。
要创建一个 tun 虚拟设备用于进程 pptp 和ppp 之间的交互。回到命令行,或者 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 以获得线索。