当前位置: > Linux服务器 > VPN >

CentOS VPN(PPTP) Server 安装部署

时间:2014-07-14 15:22来源:linux.it.net.cn 作者:IT网

http://sourceforge.net/projects/poptop/files/ 下载资源

1、检查系统内核是否支持MPPE补丁

modprobe ppp-compress-18 &&echo success
显示success说明系统支持MPPE补丁,如果不支持,需要先安装kernel-devel
yum install kernel-devel

 

如果显示:“FATAL: Could not load /lib/modules/2.6.18-194.26.1.el5.028stab079.2/modules.dep:
No such file or directory”一类致命错误,那么很遗憾你的VPS内核不支持MPPE
检测是为了看你的PPTPD能否支持加密连接,所以即使不支持mppe,也没关系,因为不用加密连接你的PPTPD仍然是可用的。

2、检查系统是否开启TUN/TAP支持
cat /dev/net/tun
如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/net/tun: File descriptor in bad state #系统为英文版本
cat: /dev/net/tun: 文件描述符处于错误状态 #系统为简体中文版本
如果没有,需要VPS服务商开通TUN/TAP功能,一般VPS默认都开启此功能

3、 检查PPP是否支持MPPE:

strings ‘/usr/sbin/pppd’|grep -i mppe|wc -l

如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,如果不支持则需要更新系统的PPP组件

4、安装ppp和iptables #PPTP需要这两个软件包,一般centOS自带
yum install -y ppp iptables

5、安装PPTP
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm #下载
rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm #安装

6、配置PPTP

(1)、
vi /etc/ppp/options.pptpd #编辑,保存
name pptpd   #————————-自行设定的VPN服务器的名字,可以任意
auth   #———————————启用身份验证,为了安全,肯定需要进行身份验证
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
proxyarp  #————————-启用ARP代理,如果分配给客户端的IP与内网卡同一个子网
logfile /var/log/pptpd.log  #—–存放pptpd服务运行的的日志
debug  #—————————-debug
lock
nobsdcomp
novj
novjccomp
nologfd
ms-dns 8.8.8.8
ms-dns 8.8.4.4 #设置DNS

#一般只要设置DNS即可
(2)、
vi /etc/ppp/chap-secrets #编辑,保存
test pptpd 123456 * #设置用户名:test 密码:123456

或者 vpnuser add test 123456

(3)、

vi /etc/pptpd.conf #编辑,保存
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.1.1 #设置VPN服务器IP地址
remoteip 192.168.1.100-199 #为拨入VPN的用户动态分配192.168.1.100~192.168.1.199之间的IP

6、开启系统路由模式
vi /etc/sysctl.conf #编辑
net.ipv4.ip_forward = 1 #找到此行 去点前面#,把0改成1 开启路由模式
/sbin/sysctl -p #使设置立刻生效

7、配置防火墙Nat转发
iptables –t nat –F——-可以先清除nat表中所有规则(选)
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT –to 192.168.1.1
意思是对即将发送出去的数据包进行修改,对来自设备eth0且源地址是192.168.1.0/24的数据包,把源地址修改为192.168.1.1(即VPN地址)
iptables -t nat -L #完成后可以查看NAT表是否已经生效
PS:这里要注意VPS服务器的网口不一定是eth0,用netstat -i 查看
/etc/init.d/iptables save #保存防火墙设置
/etc/init.d/iptables restart #重启防火墙
chkconfig iptables on #设置开机启动

8、设置PPTP开机启动
service pptpd start #启动
service pptpd restart
chkconfig pptpd on #设置开机启动
pptpd服务使用的端口是1723,这个端口是系统固定分配的,可以通过查看该端口检查pptpd服务的运行情况,由于VPS服务器上默认没有对防火墙端口进行设置,所以全部端口都是开放的。
命令:netstat –ntpl

至此,VPN服务器搭建完成,可以在Windows客户端建立VPN连接,输入服务器外网IP地址,用上面配置的账号、密码进行连接了。

(责任编辑:IT)
------分隔线----------------------------