从 FreeBSD 8.0 开始, uart(4) 驱动取代了
sio(4) 驱动。 用以表示串口的设备节点由分别
/dev/cuad
改为了
N
/dev/cuau
,
并从
N
/dev/ttyd
改为了
N
/dev/ttyu
。
FreeBSD 7.X 用户在升级时需要因应之对配置文件进行必要的更改。N
本节将讲述通过modem连接使用PPP时可能出现的问题。
例如, 您可能需要确切地知道您拨入的系统会出现一个怎样的命令行提示符。
有些 ISP 会提供 ssword
提示符,
而其它的可能会出现 password
;
如果没有根据情况的不同相应地编写 ppp
脚本, 登录就会失败。 诊断 ppp
最常用的方法是手动进行连接。 以下的信息会一步一步地带您完成手动连接。
如果使用的是定制内核, 确认在其编译配置中包含下列配置:
默认的 GENERIC
内核中包含了
uart
设备, 因此如果您使用的是它的话,
就不需要担心了。 只要查看 dmesg
输出中是否有 modem
设备:
#
dmesg | grep uart
您应该找到与 uart
设备有关的输出。
这些就是我们需要的 COM 端口。 如果您的 modem 按照标准串行端口工作,
您就会在 uart1
或 COM2
上找到它。 如果 modem 设备连接在 uart1
接口 (在 DOS 中称为COM2
),
那么您的 modem 将会是 /dev/cuau1
。
通过手动控制ppp
来连接Internet
是诊断连接及获知ISP处理PPP客户端方式的一个快速, 简单的方法。
让我们从PPP 命令行开始, 在所有的例子中我们使用
example 表示运行 PPP
服务的主机名。 键入ppp
命令打开 ppp
:
#
ppp
现在我们已经打开了ppp
。
set device /dev/cuau1
设置modem设备, 在本例子中是
cuau1
。
set speed 115200
设置连接速度, 在本例中我们使用15,200 kbps。
enable dns
使ppp
配置域名服务,
在文件/etc/resolv.conf
中添加域名服务器行。
如果 ppp
不能确定我们的主机名, 可以在稍后设置。
term
切换到 “终端”样我们就能手动地控制这台 modem 的模式。
/dev/cuau1
type '~h' for helpat
OK
atdt123456789
使用命令at
初始化modem,
然后使用atdt
和ISP给您的号码进行拨号。
连接配置, 如果我们遇到了与硬件无关的连接问题, 可以在这里尝试解决。
myusername
这里提示您输入用户名, 输入ISP提供的用户名然后按回车。
mypassword
这时提示我们输入密码, 输入 ISP提供的密码。 如同登录入FreeBSD, 密码不会显示。
ppp
由于ISP的不同, 这个提示符可能不会出现。
这里我们需要考虑: 是使用运行于提供商端的 Shell,
还是启动 ppp
? 这本例中,
我们选择使用 ppp
, 因为我们希望得到 Internet 连接。
注意在这个例子中, 第一个 p
已经大写。
这表示我们已经成功地连接上了 ISP。
我们已经成功通过了 ISP的验证, 正在等待分配IP地址。
我们得到了一个 IP 地址, 成功地完成了连接。
add default HISADDR
这样就完成了添加默认路由所需的配置。 这是与外界通信所必需的。
因为之前我们只是与服务器端建立了连接。 如果由于已存在的路由而导致操作失败,
您可以在 add
前加 !
号。
除此之外, 您也可以在真正连接之前设置这些 (指 add default HISADDR),
ppp 会根据这项设定协商取得新的路由。
如果一切顺利, 现在我们应该能得到一个活动的 Internet 连接,
可以使用 CTRL+z 使其转入后台。 如果您发现
PPP
重新变为 ppp
,
则表示连接被断开。 大写的 P 表明建立了到 ISP 的连接,
而小写的 p 则表示连接由于某种原因被断开, 这有助于帮助我们了解连接的状态。
ppp
只有这两个状态。
如果您有一根直连线且似乎不能建立连接, 要使用set
ctsrts off
以关闭字节流的CTS/RTS。
这种情况一般发生在连接兼容 PPP 的终端服务器时。
当它向通信连接写入数据时, PPP就会挂起,
一直等待一个CTS,
或者一个不可能出现的 Clear to Send 信号。 如果使用了这个选项, 您还应使用
set accmap
选项,
某些存在缺陷的硬件在完成端对端发送特定字符, 特别是
XON/XOFF 时可能会遇到困难。 请参见 ppp(8)
联机手册以了解关于可用选项的更多细节, 以及如何使用它们。
如果您的 modem 比较旧, 就需要使用
set parity even
了。 奇偶校验的默认设置是 none,
但在旧式的 (当流量大量增加时) 调制解调器和某些
ISP 被用来纠错。 您需要使用这个选项才能使用
Compuserve ISP。
PPP 可能并不返回命令模式,
这通常是 ISP 等待您这一端发起协商时发生了错误。
此时, 使用 ~p
命令将强制 ppp 开始发送配置信息。
如果您没有看到登录提示, 则很可能需要使用 PAP 或 CHAP 验证来代替前面例子中的 UNIX® 风格验证。 要使用 PAP 或 CHAP 只需在进入终端模式之前把下面的选项加入 PPP:
set authname myusername
此处 myusername
应改为您的
ISP 分配给您的用户名。
set authkey mypassword
此处 mypassword
应该为您的
ISP 分配给您的口令。
如果连接正常, 但无法查找域名, 请尝试
ping(8) 某个 IP
地址来看看是否返回了信息。 如果您发现百分之百 (100%) 丢包,
那么您很可能没有分配默认路由。 请仔细检查选项
add default HISADDR
是否在连接时被设置了。 如果您能连接到远程的
IP 地址则有可能域名解析服务器的地址没有被加入到
/etc/resolv.conf
。 这个文件应该是下面的样子:
example.com
nameserver x.x.x.x
nameserver y.y.y.y
此处 x.x.x.x
和
y.y.y.y
应该改为您的
ISP 的 DNS 服务器的
IP 地址。
这一信息在您注册时可能会提供给您,
不过通常只需给 ISP 打个电话就能知道了。
您还可以让 syslog(3) 为您的 PPP 连接提供日志。 只需增加:
到 /etc/syslog.conf
中。 绝大多数情况下,
这个功能默认已经打开了。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<questions@FreeBSD.org>.
关于本文档的问题请发信联系
<doc@FreeBSD.org>.