检测:

     lsmod |grep ppp_mppe 
 
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm    
pptpd-1.3.4-2.rhel5.x86_64.rpm  见附件
pptpd-1.3.4-2.rhel5.i386.rpm    见附件
 
rpm  -ivh  pptpd-1.3.4-1.rhel5.1.i386.rpm     \\依赖关系 YUM自行解决
 
echo 1 > /proc/sys/net/ipv4/ip_forward 
 
 
echo "localip 172.16.36.1" >> /etc/pptpd.conf     服务器×××虚拟接口将分配的IP地址
 
echo "remoteip 172.16.36.2-254" >> /etc/pptpd.conf    客户端×××连接成功后将分配的IP
 
echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd     
 
echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd
 
 
vim  /etc/ppp/chap-secrets
xiaowang pptpd 1234 *
 
/etc/init.d/pptpd start
 
 
配置文件解释:
#vi /etc/pptpd.conf
speed 115200                 #接口速度
option /etc/ppp/options.pptpd   #PPP组件将使用的配置文件
#stimeout 10                 #开始PPTP控制连接的超时时间,以秒计
debug                        #把所有debug信息记入系统日志/var/log/messages
localip 150.0.1.224          #服务器×××虚拟接口将分配的IP地址     
remoteip 150.0.1.225         #客户端×××连接成功后将分配的IP,如果是地址范围可表
#为150.0.1.225-231的形式
#listen 150.0.1.43           #指定监听PPTP连接请求的IP,如果没有这一条listen选项,
localip 192.168.1.254 (***服务器的虚拟ip)
remoteip 192.168.2.10-100(客户端的虚拟ip,可以定义成一个ip段,如192.168.2.10-100)
 
为了安全虚拟IP段最好和公司局域网的ip段分开。比如公司局域网用192.168.1.0/24
虚拟ip段最好设成其他的,如192.168.2.0/24
 
 
 
vi /etc/ppp/options.pptpd 注意有2个文件,另一个是options.pptp,
 
lock
auth                     #启用身份验证,为了安全,肯定需要进行身份验证
debug
name cc3                 #相当于身份验证时的域,这里填上×××服务器的名字
refuse-pap               #拒绝pap身份验证
refuse-chap              #拒绝chap身份验证
refuse-mschap            #拒绝mschap身份验证
refuse-eap               #拒绝eap身份验证,这种方式本身不错,但这里不使用
require-mschap-v2        #为了最高的安全性,我们使用mschap-v2身份验证方法
require-mppe-128         #要求128位MPPE加密,还可以是require-mppe
nomppe-stateful          #无状态,有状态有mppe-stateful
ms-dns 208.67.222.222    #×××客户端连接成功后将被分配的DNS参数
#ms-wins 64.32.16.8      #×××客户端连接成功后将被分配的WINS参数
#proxyarp                #启用ARP代理,如果分配给客户端的IP与内网卡同一个子网
 
然后创建用户名和密码,只需要写在一个文件就可以了
#vi /etc/ppp/chap-secrets
test pptpd "test" *
 
或者使用 ***user 命令
例:
#***user add ***test test123
 
删除用户:
#***user del ***test
 
需要注意的是GRE协议用的47端口 也需要开放 1723
#iptables -A INPUT -p gre -j ACCEPT
 
开启selinux 还需要设置
#setsebool  pppd_disable_trans 1
#setsebool  pptp_disable_trans 1
然后winxp客户端就可以新建一个***连接来拨号了。
拨号成功的话在linux *** server上可以看到一个ppp0连接
 
 
如果客户端想用*** server来上网的话,需要打开*** server上的ip_forward
#echo "1" > /proc/sys/net/ipv4/ip_forward
永久更改:#vi /etc/sysctl.conf
net.ipv4.ip_forward = 0 将 0 改为 1 重启生效
设置ip伪装
#iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source XXX.XXX.XXX.XXX (*** 服务器公网ip)
#iptables -t nat -A FORWARD -o eth0 -j ACCEPT
如果还想访问*** server所在的局域网,还需要在*** server上添加路由
 
* 使用route 命令配置路由表 */
//添加到主机路由
# route add –host 192.168.168.110 dev eth0:1
# route add –host 192.168.168.119 gw 192.168.168.1
//添加到网络的路由
# route add –net IP netmask MASK eth0
# route add –net IP netmask MASK gw IP
# route add –net IP/24 eth1
//添加默认网关
# route add default gw IP
//删除路由
# route del –host 192.168.168.110 dev eth0