一、安装

centos 5下面安装pptpd最省事的安装就是下载rpmpptpd-1.3.4-1.rhel5.1.i386.rpm,然后直接执行 rpm –ivh pptpd-1.3.4-1.rhel5.1.i386.rpm 。幸运的是这个包没有其他依赖,因此安装应该是异常的顺利。
安装完rpm包后,自动生成几个配置文件,主配置文件/etc/pptpd.conf,选项文件/etc/ppp/options.pptpd, 帐号文件/etc/ppp/chap-secrets.后面配置pptpd主要就是对这几个文件进行修改。
二、***服务器端的配置
(一)   修改主配置文件/etc/pptpd.conf.只需要加入下面两行:

localip 172.16.195.1

remoteip 172.16.195.101-200

Localip这行是给***服务器设置一个隧道ip

Remoteip是自动分配给客户端的ip地址范围。
(二)   修改选项文件/etc/ppp/options.pptpd.需要设定分配给客户端的dns,因此仅需把ms-dns前的注释去掉,改成可用的dns如下:

ms-dns 61.135.154.5

ms-dns 159.226.240.66

为了方便查看调试信息,debug行前面的注释取消即可。Dump前的注释也取消。

(三)   添加帐号。通过编辑文件/etc/ppp/chap-secrets逐行加入;一个账号占一行。一行分4列,其表示如下:

用户名

服务器名

密码

ip

没有字符数限制

Pptpd

用双引号的话,密码就不能包含双引号了

* 表示有pptpd随机分配ip

账号和密码是明文的,所以需要妥善设置访问权限。一个设置好的账号文件与下列项目类似:

“Yijiaxin”   pptpd   “ThunderSt!123#”   *
四、运行pptpd.执行命令service pptpd start或者执行/etc/init.d/pptpd 即可启动它。通过检查进程、查看系统日志来确定pptpd是否正常。
五、客户端配置(windows)。这个应该很容易了。。。
六、拨号登录。

七、设置路由及ip伪装。需要在这里可以登录***服务器,但由于没有设置相关的转发规则,因此还是没办法访问***后面的私有网络或者通过***访问互联网(windows机器会在状态栏的网络连接图标显示一个×××的感叹号)    

(一)   开启ip转发功能:修改配置文件

/etc/sysctl.conf,使net.ipv4.ip_forward = 1

Couldn't load plugin /usr/lib/pptpd/pptpd-logwtmp.so这个错误应该注释掉/etc/pptpd.conf 下的logwtmp 一行就好了
(二)  
写个脚本文件,实现路由,其内容大致如下:

[root@max-*** ~]# more /usr/local/bin/***_route.sh

#!/bin/bash
/sbin/iptables -t nat -A POSTROUTING -s 192.168.195.0/24 -o eth0 -j SNAT --to-source 61.135.251.50
/sbin/iptables -t nat -A POSTROUTING -s 172.16.100/24 -o eth1 -j SNAT --to-source 192.168.195.166
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

目标网络/***的内部网络为192.168.195.0/24,***服务器有2个网卡,其中一个连接公网(eth0),ip地址是61.135.251.51,另外一个网卡连私有网络,ip192.168.195.166。这样就能正常地路由所涉及的网络了。手动执行一下这个脚本,看客户端(windows)是否能访问目标网络里的机器:最简单的方法就是ping,假定目标网络里有一个192.168.195.100的机器,并请允许icmp通过,ping 192.168.195.100 ,正常的话,再进一步访问这个服务器(如远程登录)。没有问题的话,把它加在开机自启里面。为安全起见,你可以在这个脚本里加更多的iptables规则。

Linux  client  install ×××

1. 使用yum安装ppppptp

yum -y install ppp

yum -y install pptp

yum install pptp pptp-setup -y

如果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 ***
连接名称(自定义)
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 ***
连接名称(自定义)