环境:SuSE Linux


1. PPTP ××× 客户端软件


我使用的PPTP客户端软件的名称就叫作“PPTP Client”。

软件的主页是 http://pptpclient.sourceforge.net/


2、安装


源代码编译安装,这样干净利索。


shell> tar pptp-1.7.1.tar.gz

shell> cd pptp-1.7.1

shell> more INSTALL

...

shell> make

shell> make install

shell> cp /usr/share/doc/packages/ppp/scripts/pon /usr/sbin

shell> cp /usr/share/doc/packages/ppp/scripts/poff /usr/sbin

shell> chmod +x /usr/sbin/pon /usr/sbin/poff


安装前看看INSTALL和README是个好习惯。

pon和poff命令可在ppp源码目录下的scripts目录中找到(find /usr/share -name pon)。



3、建立拔号连接


长话短说吧,我选择在命令行下直接配置拔号连接,而没有采用图形工具配置。因为图形配置工具需要单独安装,我们的基本目标是建立PPTP连接,而它并不是决定能否成功的关键因素。


环境描述:


PPTP-Server.IP: 202.202.202.202

Client.IP: 10.10.10.10/24

Client.Gateway: 10.10.10.1

Client.Hostname: dream


pptp.uid: jack

pptp.pwd: rose


pptp.dial-name: titanic


配置描述:


默认情况下,pptp client 1.7.1 安装后的配置文件存放在 /etc/ppp 目录中。


3.1 设置拔号使用的用户名和口令


编辑/etc/ppp/chap-secrets或/etc/ppp/pap-secrets,加入以下内容

"jack" "titanic" "rose" *

"titanic" "jack" "rose" *


chap-secrets和pap-secrets分别在什么情况下使用呢?

默认情况的PPTP认证都会使用ms-chap或ms-chap2,这时使用chap-secrets。

但如果PPTP ×××服务器配置了radius等认证就会采用pap认证模式,这时使用pap-secrets。


3.2 创建拔号使用的连接文件(profile)


shell> touch /etc/ppp/peers/titanic

shell> vi /etc/ppp/peers/titanic

pty "pptp 202.202.202.202 --nolaunchpppd"

name jack

remotename titanic

file /etc/ppp/options.pptp

ipparam connect


4、拔号


需要以root身份执行


shell> /usr/sbin/pon titanic &

[1] 5065

dream:shell # Using interface ppp0

Connect: ppp0 <--> /dev/pts/2

CHAP authentication succeeded

local IP address 192.168.0.236

remote IP address 192.168.0.129

Script /etc/ppp/ip-up finished (pid 5078), status = 0x0


shell>


上面的提示信息基本表明PPTP拔号成功,根据提示信息检查一下ppp0的状态:


shell> ifconfig ppp0

ppp0 Link encap:Point-to-Point Protocol

inet addr:192.168.0.236 P-t-P:192.168.0.129 Mask:255.255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

RX packets:12 errors:0 dropped:0 overruns:0 frame:0

TX packets:9 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:3

RX bytes:199 (199.0 b) TX bytes:97 (97.0 b)


shell>


OK,PPTP拔号成功。


5、设置路由


a) 将pptp server的IP指向本地网关,以保证在路由发生变化时pptp连接不被中断

shell> route add -host 202.202.202.202 gw 10.10.10.1


b) 删除默认路由

shell> route del -net 0.0.0.0


c) 将默认路由指向pptp连接

shell> route add default ppp0


OK,现在可以尽情访问网络了。


6、断开拔号连接


shell> /usr/sbin/poff


7、小结


我没有仔细介绍每条命令的含义,但相信只要按照上面步骤操作,可以成功地建立PPTP拔号连接。