Pptpclient官网http://pptpclient.sourceforge.net/howto-diagnosis.phtml#pppd_options

1.       使用yum安装ppppptp
yum -y install ppp
yum -y install pptp
如果yum不具备pptp,可到 http://pptpclient.sourceforge.net 下载安装,这里建议选用rpm包。
本人安装采用的是:http://sourceforge.net/projects/pptpclient/files/pptp/pptp-1.7.2/pptp-1.7.2-3.rhel5.i386.rpm/download
rpm -ivh ./pptp-1.7.2-3.rhel5.i386.rpm
2.
配置
pptp
pptpsetup --create ***
连接名称(自定义) --server ×××服务器IP --username ×××用户 --password ×××密码


执行完成以后会生成文件 /etc/ppp/peers/***连接名称(自定义)

编辑该文件:

vi /etc/ppp/peers/***连接名称(自定义)
将该文件修改并完善为如下:


# written by pptpsetup
pty "pptp ×××
服务IP --nolaunchpppd"
lock
#noauth
nobsdcomp
nodeflate
name ×××
用户名

remotename ***连接名称(自定义)
ipparam
服务器
ip
require-mppe-128
refuse-pap
refuse-chap
refuse-eap
refuse-mschap


编辑文件
/etc/ppp/chap-secrets
vi /etc/ppp/chap-secrets
内容如下:


# Secrets for authentication using CHAP
# client server secret IP addresses

×××
用户名 ***连接名称(自定义) "×××密码" *


3.
复制命令


cp /usr/share/doc/ppp-2.4.4/scripts/pon /usr/sbin/
cp /usr/share/doc/ppp-2.4.4/scripts/poff /usr/sbin/
chmod +x /usr/sbin/pon /usr/sbin/poff


4.
***
pon ***
连接名称(自定义
)

5.
查看是否连接

ifconfig
————————————————————————————————————-
ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.2.224 P-t-P:192.168.2.200 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:80 (80.0 b) TX bytes:80 (80.0 b)

————————————————————————————————————-

6.
断开连接
poff ***连接名称(自定义)

至此,安装完成。

 

 

 

 

 

 

 

vi /etc/ppp/options.pptpd

去掉下面两个参数的"#"

debug \\打开调试.这样可以在/var/log/message中看到调试结果

dump

或者

logfile /var/log/pptpd.log \\指定日志文件

 

 

详细出处参考:http://www.jb51.net/article/23478.htm

 

 

 

 

 

1.连接完毕要添加路由才能上网

例如:

sudo route add default dev ppp0

解决办法
根基pptpclient官方描述 http://pptpclient.sourceforge.net/routing.phtml#all-to-tunnel ,PPP端口启用的时候,/etc/ppp/ip-up会被pppd执行,内有 run-parts来运行/etc/ppp/ip-up.d内的脚脚本,传递的参数是

# This script is called with the following arguments:
# Arg Name
# $1 Interface name
# $2 The tty
# $3 The link speed
# $4 Local IP number
# $5 Peer IP number
# $6 Optional ``ipparam'' value foo

$1是默认设备名字。
若以加默认路由的脚本可以这样写

route add default dev $1

注意这个脚本不能有 .sh后缀名,经过实际测试,有后缀的都不能运行。可能和run-parts有关

2.默认设置连接win 2003搭建的×××死活链接不上

Using interface ppp0
Connect: ppp0 <--> /dev/pts/5
LCP terminated by peer (%M-O^]k^@
乱码
.....
Connection terminated.
Modem hangup

解决方法见下文文档解析
3.CentOS
下此包不在pptp-linux而在pptp-setup下面。
pon,plog
脚本在默认在
/usr/share/doc/ppp-*/scripts/
下面

cd /usr/share/doc/ppp-2.4.4/scripts
cp pon /usr/local/bin/
cp poff /usr/local/bin/
cp plog /usr/local/bin/
chmod +x /usr/local/bin/p*
nano /usr/local/bin/plog
#
修改 /var/log/syslog/var/log/messages#(若需要)

配置文档解析:

密码保存在
/etc/ppp/chap-secrets
这里面的内容和格式和http://ihipop.info/2010/06/1265.html#chap-secrets是一样的。参考设置即可
主机设定保存在
/etc/ppp/peers/
可以对此做进一步设定。
比如原来连win2003PPTP一直连接不上,是因为认证方式问题

nano /etc/ppp/peers/***name

添加一行

refuse-eap

即可(VIA)

# written by pptpsetup
pty "pptp ip --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name ihipop
remotename ***160
ipparam ***160
require-mppe-128
refuse-eap

# written by pptpsetup
pty "pptp serverIP --nolaunchpppd"
lock
#noauth
nobsdcomp
nodeflate
name username
remotename my***
ipparam my***
require-mppe-128
refuse-pap
refuse-chap
refuse-eap
refuse-mschap

这些文件不由得让我想起来了pppoeconf配置的ADSL拨号。其中在/etc/ppp/peers/dsl-provider有如下两个参数

demand
idle 300

这里demand表示自动按需拨号,idle表示空闲多少秒以后自动断线。
persist则代表了一直保持连接