FreeBSDPPP协议
通过电话连接使用IP协议有两种协议,一种为SLIP协议,另一种为PPP协议,FreeBSD支持这两种协议,但是SLIP协议已经过时,当前已经很少有ISP使用这种方式提供接入服务了,而PPP协议则成为了标准。建立一个PPP连接需要以下过程:
- 在PPP的两端建立一条物理连接,通常为电话连接,但也有直接电缆连接或虚拟的tunnel连接的形式。具体如何建立连接,例如拨号等,并不属于PPP协议本身的任务。
- 由PPP的服务器端对客户端进行验证,可以有最简单登录的验证方式、PAP或CHAP等验证方式。由于PAP和CHAP并不在线路上传输口令本身,因此更为安全,不必担心口令会泄露出去。
- 验证完毕之后,PPP服务器将按照配置,分配给客户IP地址,并将网关地址和其他的一些配置信息传送给客户。如果是Microsoft客户,还可以按照MS的扩展协议分配给客户NetBIOS名字服务器的地址。这样就建立了一条PPP连接。
FreeBSD对PPP提供了两种不同方式的支持,一种为内核级PPP,它将PPP协议代码编译进内核,并运行一个PPP守护进程pppd,提供对PPP的支持,这是一种传统的方法,但配置起来较困难。另一种为用户级PPP,它使用一个应用程序ppp,通过通用tunnel设备传递PPP数据,配置较为容易。一般情况下可以使用用户级PPP 来建立拨号方式的Internet连接。
要建立PPP连接,首先要检查串口、modem和电话线连接是否正确。可以使用一些通信软件来帮助进行诊断,例如minicom,如果使用minicom能正常拨号,并在拨ISP的拨号服务器时能出现username和password 提示,就说明串口和modem的配置正确无误。接下来就可以配置PPP连接。
- 用户级PPP设置
用户级PPP使用tunnel设备进行PPP数据的传递,因此内核中必须支持相应的tunnel设备,通常为 tun0。缺省内核中支持这个伪设备(pesudo-device tun),/dev目录下也具备相应的设备文件t un0。如果同时需要多个拨号连接,就可以增加内核中支持的伪设备数量和相应的设备文件。
要使用ppp,还需要设置它的配置文件,这些文件位于/etc/ppp目录中。缺省情况下,/etc/ppp 目录下安装了这些文件的例子:
# ls -l /etc/ppp
total 21
drwxr-xr-x
2 root
wheel
512 Aug 17 16:18 .
drwxr-xr-x
8 root
wheel
1536 Aug 29 18:31 ..
-rw-r--r--
1 root
wheel
5112 May 20 20:06 ppp.conf.sample
-rw-r--r--
1 root
wheel
1130 May 20 20:06 ppp.conf.server.sample
-rw-r--r--
1 root
wheel
1894 May 20 20:06 ppp.deny
-rw-r--r--
1 root
wheel
1665 May 20 20:06 ppp.dialup.sample
-rw-r--r--
1 root
wheel
1402 May 20 20:06 ppp.linkdown.sample
-rw-r--r--
1 root
wheel
1422 May 20 20:06 ppp.linkup.sample
-rw-r--r--
1 root
wheel
1705 May 20 20:06 ppp.pap.dialup.sample
-rw-r--r--
1 root
wheel
313 May 20 20:06 ppp.secret.sample
这些以sample结尾的文件都给出了最常用的配置,因此只需复制生成正确的设置文件,再稍加修改,就能用于使用者自己的拨号连接。