一、实验环境:VMware workstation rhel4一台 IP:10.167.27.29 windows xp 主机一台 IP:10.167.27.207
二、需要安装的软件包: dkms- 2.0.10-1.noarch.rpm 动态内核模块支持的RPM安装包 kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm MPPE加密协议的内核补丁的RPM安装包 ppp-2.4.3-5.rhel4.i386.rpm 升级内置PPP版本,以支持MPPE加密协议 pptpd-1.3.4.tar.gz PPTP点对点隧道协议的安装包
三、开始安装: 1、安装动态内核模块支持的RPM安装包 rpm –ivh dkms-2.0.10-1.noarch.rpm 2、安装MPPE加密协议的内核补丁的RPM安装包 rpm –ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm 3、升级内置PPP版本,以支持MPPE加密协议 rpm –Uvh ppp-2.4.3-5.rhel4.i386.rpm (因为我的虚机安装过了低版本的ppp所以升级安装) 4、安装PPTP点对点隧道协议的安装包 [root@zhang pptp]# tar xzvf pptpd-1.3.4.tar.gz [root@zhang pptp]# cd pptpd-1.3.4 [root@zhang pptpd-1.3.4]# ./configure [root@zhang pptpd-1.3.4]# make && make install
四、检查支持软件是否安装成功 1、检查内核MPPE补丁是否安装成功: modprobe ppp-compress-18 && echo ok [root@zhang pptpd-1.3.4]# modprobe ppp-compress-18 && echo ok ok 2、检查PPP是否支持MPPE: strings '/usr/sbin/pppd' |grep -i mppe | wc --lines [root@zhang pptpd-1.3.4]# strings '/usr/sbin/pppd' |grep -i mppe | wc --lines 46 [root@zhang pptpd-1.3.4]#
五、服务器的配置 1、将pptpd-1.3.4/samples/下的文件 [root@zhang samples]# cp pptpd.conf /etc/ [root@zhang samples]# cp chap-secrets /etc/ppp/ [root@zhang samples]# cp options.pptpd /etc/ppp/
2、编辑/etc/pptpd.conf文件,添加两行内容: [root@zhang ~]# vi /etc/pptpd.conf localip 192.168.0.254 ------设置本地的IP remoteip 192.168.0.234-238,192.168.0.245 ------制定分配的远程IP
3、修改/etc/ppp/options.pptpd文件,修改相应的配置,也可以不修改。我这里为了排除故障方便,添加了日志记录:debug和dump
4、修改/etc/ppp/chap-secrets文件,添加相应的允许访问的用户、密码等 [root@zhang ~]# vi /etc/ppp/chap-secrets #username pptpd password * "hehe" pptpd "123456" * 其中: ”hehe” 是Client端的VPN用户名hehe Pptpd 对应的是VPN服务器的名字,设置*为自动识别,要和pptpd.conf里配置的一致,或者用*代替 “123456”是用户的密码 “IP addresses”对应的是可以拨入的客户端IP地址,无特别限制的话用*
如果需要相互PING通的话还需要打开IP转发 #echo 1 > /proc/sys/net/ipv4/ip_forward
5、启动程序:/usr/local/sbin/pptpd 检验程序是否启动:ps -aux | grep pptpd ----查看进程 netstat -anp | grep 1723 ----查看端口(监听的是1723端口)
6、用windows客户端建立一个vpn连接来连接我们刚搭建的vpn服务器,如果能正确的分配到IP的话就应该是OK的!
安装pptpd vpn的时候 出现: [root@zhang pptp]# modprobe ppp-compress-18 FATAL: Module ppp_mppe not found. 解决方法: rpm -e kernel_ppp_mppe yum install kernel-devel yum install kernel-smp-devel cd /lib/modules/2.6.9-67.ELsmp ln -s /usr/src/kernels/2.6.9-67.EL-i686 build 重启服务器,再安装就OK了! |
pptpd VPN服务器的log错误提示
Dec 18 02:19:55 test1 pptpd[23539]: MGR: connections limit (100) reached, extra IP addresses ignored
Dec 18 02:19:55 test1 pptpd[23540]: MGR: Manager process started
Dec 18 02:19:55 test1 pptpd[23540]: MGR: Maximum of 100 connections available
Dec 18 02:20:24 test1 pptpd[23545]: CTRL: Client 112.65.172.22 control connection started
Dec 18 02:20:24 test1 pptpd[23545]: CTRL: Starting call (launching pppd, opening GRE)
Dec 18 02:20:24 test1 pppd[23546]: Plugin /usr/lib64/pptpd/pptpd-logwtmp.so is for pppd version 2.4.3, this is 2.4.4
Dec 18 02:20:24 test1 pptpd[23545]: GRE: read(fd=6,buffer=506b80,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
Dec 18 02:20:24 test1 pptpd[23545]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7)
Dec 18 02:20:24 test1 pptpd[23545]: CTRL: Client 112.65.172.22 control connection finished
解决办法:注释掉/etc/pptpd.conf中logwtmp项即可。
PPTPD作VPN服务器架设简单几步:
在el5上的kernel已经支持PPTPD所需环境了。
1、只需先安装PPTP、PPTPD、即可(采用RPM方式安装,或者yum直接Install)
2、编辑pptpd.conf修改
localip #服务器本机的虚地址(和客户端在一个网段,不是实际服务器网卡IP)
remoteip #分发给服务器的IP地址段
netmask
修改/etc/ppp/option.pptpd中
name pptpd
ms-dns
修改/etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
test pptpd test *