介绍
点对点隧道协议(PPTP)是建立在PPP(Point to Point)点对点协议上的VPN隧道技术。当远程用户要访问公司专用网时,可采用PPTP网络接入方式,用户先拨号到PPTP Server建立PPP连接,然后通过PPTP协商建立一条用户到服务器的“隧道”,接着通过PPP协议的NCP协商,为用户分配一个网段内IP,用户可以使用分配到的IP进行局域网内的通信。从而为远程接入虚拟专用网提供一条在公共网络上创建安全连接的途径。
搭建教程
一.安装pptp服务
安装 rpel-release
yum install epel-release -y
接着安装pptp服务
yum install -y ppp pptpd
二.初始化pptp服务
1.指定网关和地址范围
通过vim
打开/etc/pptpd.conf
配置文件,找到并取消注释,使下列两行命令可以执行
vim /etc/pptpd.conf
# (Recommended)
localip 192.168.0.102
remoteip 192.168.0.234-238,192.168.0.245
说明:
localip和remoteip分别是VPN的地址和VPN拨号时获取的地址段。您可以根据需要调整。
2.修改dns配置
vim
打开/etc/ppp/options.pptpd
,将ms-dns修改为Google 的公共 DNS 服务器或其他你偏好的 DNS 服务器
vim /etc/ppp/options.pptpd
ms-dns 8.8.4.4
ms-dns 8.8.8.8
3.设置账户密码
执行vim打开/etc/ppp/chap-secrets
,设置pptpd的用户名和密码,按照 用户名 pptpd 密码 IP地址 格式输入,每一项用tab隔开,每个账号只能由一台设备登录,不能由多台设备同时登录!
vim /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
huiui pptpd 123456 *
用户名:huiui
,服务:pptpd
,密码:123465
,其中“*”表示所有IP
4.配置最大传输单元MTU
vim打开/etc/ppp/ip-up
、设置最大传输单元MTU。在命令符[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local “$@”
下方添加 ifconfig ppp0 mtu 1472
vim /etc/ppp/ip-up
/etc/ppp/ip-up. ipv6to4 ${LOGDEVICE}
[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local “$@”
ifconfig ppp0 mtu 1472
配置MTU才可使连接此vpn的设备正常访问网页
5.配置 IP 转发
vim
打开/etc/sysctl.conf
,编辑配置文件,添加net.ipv4.ip_forward = 1
配置,保存并退出
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
接着执行sysctl -p
命令,使修改后的参数生效
sysctl -p
三、防火墙配置及设置nat转发
1、启动防火墙
systemctl start firewalld
2、启用NAT转发(必须启用此功能)
firewall-cmd --permanent --add-masquerade
3、PPTP 使用的端口为 1723,你需要在防火墙中允许 PPTP 的流量
sudo firewall-cmd --add-service=pptp --permanent
sudo firewall-cmd --add-port=1723/tcp --permanent
4、允许 GRE 协议通过 firewalld
sudo firewall-cmd --add-rich-rule='rule protocol value="47" accept' --permanent
sudo firewall-cmd --reload
5、重启防火墙
firewall-cmd --reload
四.重启PPTP服务
systemctl restart pptpd
systemctl enable pptpd.service
五、客户端连接
在 Windows、macOS 或手机上添加 VPN 连接:
- 类型:PPTP
- 服务器:服务器公网 IP
- 用户名/密码:
chap-secrets
配置的用户名和密码 - 加密:可选择默认加密(MPPE)
连接成功后即可访问 VPN 内网或通过服务器上网。
六、常见问题
1.无法连接 PPTP
- 检查防火墙是否开放 TCP 1723 和 GRE 协议
- 确认服务器公网 IP 可达
2.客户端无法访问互联网
- 检查 IP 转发是否开启
- 检查 NAT 配置
3.多用户连接失败
- 确认 remoteip 范围足够分配 IP
- 检查防火墙策略和路由
七、安全提示
- PPTP 加密强度较低,不适合传输敏感信息。生产环境建议使用 OpenVPN 或 WireGuard。
- 请使用强密码,并定期更换。
- 限制客户端访问权限和路由,避免无关访问。