CentOS 6.5作为一款经典的企业级操作系统,仍被部分用户用于搭建服务环境,通过PPTPD(Point-to-Point Tunneling Protocol Daemon)配置VPN服务,可实现远程安全访问,本文将详细介绍在CentOS 6.5系统中安装和配置PPTPD的完整步骤,帮助用户快速搭建属于自己的VPN服务。

系统环境准备
在开始安装前,确保服务器满足基本要求:CentOS 6.5 minimal系统(推荐关闭防火墙和SELinux以简化配置,生产环境需谨慎处理)、至少1GB内存、10GB以上存储空间,以及拥有root权限,需确保服务器已正确配置静态IP地址,并能正常访问互联网。
安装PPTPD服务
通过yum包管理器安装PPTPD及其依赖组件,执行以下命令:
yum update -y yum install ppp pptpd -y
安装完成后,启动PPTPD服务并设置为开机自启:
service pptpd start chkconfig pptpd on
PPTPD基础服务已运行,但尚未完成核心配置,需进一步修改参数文件。
配置PPTPD核心参数
编辑PPTPD的主配置文件/etc/pptpd.conf,使用以下命令打开文件:
vi /etc/pptpd.conf
找到并修改以下参数,取消注释并根据需求调整:
localip 192.168.0.1 # VPN服务器的本地IP remoteip 192.168.0.234-238 # 分配给客户端的IP地址池
保存文件后,编辑DNS配置文件/etc/ppp/pptpd-options,添加以下内容:

ms-dns 8.8.8.8 ms-dns 8.8.4.4
这将为VPN客户端提供Google的公共DNS解析服务。
配置VPN用户账号
用户账号信息存储在/etc/ppp/chap-secrets文件中,格式为“用户名 服务器类型 密码 分配IP”。
user1 pptpd password1 * user2 pptpd password2 *
其中表示分配动态IP,也可指定固定IP地址,保存文件后,设置文件权限为600以确保安全性:
chmod 600 /etc/ppp/chap-secrets
开启IP转发与NAT转发
启用系统的IP转发功能,编辑/etc/sysctl.conf文件,添加以下内容:
net.ipv4.ip_forward = 1
执行sysctl -p使配置立即生效,配置iptables规则,实现NAT转发:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE service iptables save chkconfig iptables on
注意:将eth0替换为服务器实际的外网网卡名称。
常见问题排查
配置完成后,可通过以下命令检查服务状态:

service pptpd status tail -f /var/log/messages
若客户端无法连接,可检查防火墙规则是否放行了1723端口(PPTPD默认端口)和GRE协议(需手动添加规则),SELinux若未关闭,可通过setenforce 0临时关闭测试。
相关问答FAQs
Q1: 连接VPN后无法访问互联网,如何解决?
A1: 首先检查iptables的NAT规则是否正确配置,确认/etc/sysctl.conf中的ip_forward已启用,验证客户端是否正确获取了VPN分配的IP地址和DNS服务器,若问题依旧,尝试重启PPTPD服务并排查服务器外网网卡的连通性。
Q2: 如何限制VPN客户端的访问速度?
A2: 可通过Linux的TC(Traffic Control)工具实现限速,为用户user1设置下行限速1Mbps,执行以下命令:
tc qdisc add dev eth0 root handle 1: htb default 11 tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbps tc filter add dev eth0 protocol ip parent 1:0 prio 0 u32 match ip src 192.168.0.234 flowid 1:1
需根据实际网卡和IP地址调整参数,并在重启服务前保存规则。