VNP服务器IP地址为:192.168.6.6
一、编译安装:
注意:可能需要ppp、libcap、libcap-devel ncurses-devel RPM 包支持,如果没有请安装 libcap、libcap-devel RPM 包!
#yum install -y libcap libcap-devel ncurses-devel ppp
#tar zxvf pptpd-1.3.4.tar.gz
#cd pptpd-1.3.4
#./configure -prefix=/usr/local/pptpd -enable-bcrelay -with-libwrap
#make
#make install
二、配置 PPTP
编译安装完成后,首先需要复制原始的 pptpd 配置文件:
#cp samples/pptpd.conf /usr/local/pptpd/
#cp samples/options.pptpd /usr/local/pptpd/
上面cp的两个文件是 pptpd 的两个配置文件。
pptpd.conf 是 pptpd 的基本配置文件;
options.pptpd 是 pptpd 的扩展功能属性配置文件。
三.修改配置文件
1.对 pptpd.conf 进行设置:
#vim /usr/local/pptpd/pptpd.conf
在文件末尾添加
localip 192.168.6.6 #VPN服务器IP地址
remoteip 192.168.6.10-15 #客户端连接时VNP服务器分配IP地址范围
2.对 options.pptpd 进行配置:
#vim /usr/local/pptpd/options.pptpd
在文件末尾添加DNS地址
ms-dns 219.141.140.10
ms-dns 202.106.0.20
#说明:
name VPN-Server pptpd server 的名称。
refuse-pap 拒绝 pap 身份验证模式。
refuse-chap 拒绝 chap 身份验证模式
refuse-mschap 拒绝 mschap 身份验证模式。
proxyarp 建立 ARP 代理键值。
debug 开启调试模式,相关信息同样记录在 /var/logs/message 中。
lock 锁定客户端 PTY 设备文件。
nobsdcomp 禁用 BSD 压缩模式。
novj
novjccomp 禁用 Van Jacobson 压缩模式。
nologfd 禁止将错误信息记录到标准错误输出设备(stderr)
四.添加帐户
pptpd server 连接帐户控制文件位于:/etc/ppp/chap-secrets
#vim /etc/ppp/chap-secrets 配置文件
添加如下内容:
# client server secret IP addresses
"lixuan" pptpd "123456" *
#说明:
上面第二行代码的四项内容分别对应第一行中的四项。
"client" 是Client端的VPN用户名
"server"对应的是VPN服务器的名字,该名字必须和/etc/ppp/options.pptpd文件中指明的一样,或者设置成"*"号来表示自动识别服务器;
"secret"对应的是登录密码
"IP addresses"对应的是可以拨入的客户端IP地址,如果不需要做特别限制,可以将其设置为“*”号.
五.设置IP伪装转发
配置文件/etc/sysctl.conf
#vim /etc/sysctl.conf
修改以下内容:
net.ipv4.ip_forward = 1
保存、退出后执行:
/sbin/sysctl -p
六.启动pptpd server
#/usr/local/pptpd/sbin/pptpd -c /usr/local/pptpd/pptpd.conf -o /usr/local/pptpd/options.pptpd
检查 pptpd server 是否启动成功:
# netstat -ntlp|grep 1723
如果看到有进程 tcp 1723 端口监听就说明 pptpd server 已经启动成功了!
将pptpd服务添加到开机启动
#vim /etc/rc.local #末尾添加如下内容:
/usr/local/pptpd/sbin/pptpd -c /usr/local/pptpd/pptpd.conf -o /usr/local/pptpd/options.pptpd
七.此时Windows客户端连接会提示连接不上,可以通过查看/var/log/message 来发现错误根源,一般会提示以下两个错误:
错误1.
#less /var/log/message #会提示如下错误
/usr/lib/pptpd/pptpd-logwtmp.so: cannot open shared object file: No such file or directory
解决方法:
#mkdir /usr/lib/pptpd -p #在/usr/lib/目录中新建pptpd 目录
# ln -s /usr/local/lib/pptpd/ppptpd-logwtmp.so /usr/local/lib/pptpd/
停止启动pptpd服务
#pkill pptpd
#/usr/local/pptpd/sbin/pptpd -c /usr/local/pptpd/pptpd.conf -o /usr/local/pptpd/options.pptpd
错误2.
再次加载库文件时报版本错误
#less /var/log/message #提示如下错误:
Plugin /usr/lib/pptpd/pptpd-logwtmp.so is for pppd version 2.4.3, this is 2.4.5
解决方法:
( 修改下源文件版本信息,重新编译生成pptpd-logwtmp.so并替换现有的
切换到源码包目录,pptpd-logwtmp.so源文件在源码包的plugins目录下
将patchlevel.h中的#define VERSION "2.4.3" 改成 #define VERSION "2.4.5" )
#cd /opt/software/pptpd-1.3.4/plugins/ #进入安装源文件目录中
#cp patchlevel.h patchlevel.h.bak #备份pacthclevel.h
#mv pptpd-logwtmp.so pptpd-logwtmp.so.bak #重命名pptpd-logwtmp.so
#sed -i ‘s/2\.4\.3/2\.4\.5/‘ patchlevel.h #将patchlevel.h中的#define VERSION "2.4.3" 改成 #define VERSION "2.4.5"
#make #编译,在当前目录生成新的pptpd-logwtmp.so 文件
#cp pptpd-logwtmp.so /usr/local/pptpd/lib/pptpd/pptpd-logwtmp.so #复制pptpd-logwtmp.so到指定目录中,替换原文件
重启pptpd服务
#pkill pptpd
#/usr/local/pptpd/sbin/pptpd -c /usr/local/pptpd/pptpd.conf -o /usr/local/pptpd/options.pptpd
# tail -f /var/log/messages
Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded. (提示加载成功)
八.Windows客户端连接验证:
新建VPN连接,在VPN连接属性常规选项卡中设置好VPN服务器IP地址:192.168.6.6 点击确定,然后输入用户名:lixuan 密码:123456 连接即可
大功告成!!!!!
linux下配置 PPTP VPN 公网VPN
安装方法前面我都介绍过了,具体可以看前面的文章。 现在我们需要注意以下几点就可以配置公网VPN了。
①:注意pptpd.conf里面的配置
option /app/pptpd/etc/options.pptpd
logwtmp
debug
localip 192.168.6.6
remoteip 192.168.6.10-15
需要把localip 192.168.6.6改为公网IP
然后在remoteip 下面添加一行
listen 公网IP
保存配置
重启pptpd服务生效。