PPTP VPN在CentOS上的配置与安装
前期准备工作
1、系统环境准备:确保已安装好CentOS 7或更高版本操作系统,并完成基本网络配置。
2、关闭防火墙和SELinux:
停止并禁用firewalld服务:
```bash
systemctl stop firewalld
systemctl disable firewalld
```
修改SELinux配置为disabled:
```bash
sed i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
```
3、检查PPTP支持:
确认内核是否支持MPPE补丁:
```bash
modprobe pppcompress18 && echo $?
```
返回值为0表示支持。
4、更新软件包和依赖:
```bash
yum y update
yum install epelrelease y
```
5、安装必要软件:
安装ppp和pptpd:
```bash
yum y install ppp pptpd
```
配置PPTP VPN服务器
1、配置pptpd.conf文件:编辑/etc/pptpd.conf
文件,添加或修改以下内容:
```ini
localip 192.168.1.254 # PPTP服务器的本地IP地址
remoteip 10.99.99.210.99.99.253 # VPN客户端分配的IP地址段
```
2、配置DNS服务器:编辑/etc/ppp/options.pptpd
文件,添加DNS服务器地址:
```ini
msdns 8.8.8.8
msdns 8.8.4.4
```
3、配置用户认证信息:编辑/etc/ppp/chapsecrets
文件,添加用户名、密码及分配的IP地址:
```ini
client username pptpd password
```
4、启用IPv4数据包转发:编辑/etc/sysctl.conf
文件,添加或修改以下内容:
```ini
net.ipv4.ip_forward = 1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
```
使配置生效:
```bash
sysctl p
```
5、创建防火墙规则:编辑/usr/lib/firewalld/services/pptpd.xml
文件,添加以下内容:
```xml
<service>
<short>pptpd</short>
<description>PPTP</description>
<port protocol="tcp" port="1723"/>
</service>
```
6、添加网络规则:执行以下命令添加iptables规则:
```bash
iptables t nat I POSTROUTING o eth0 j MASQUERADE
iptables I FORWARD p tcp tcpflags SYN,RST SYN s 10.99.99.0/24 j TCPMSS clampmsstopmtu
iptables A INPUT p tcp dport 1723 j ACCEPT
iptables A INPUT p gre j ACCEPT
service iptables save
```
7、修改MTU值:编辑/etc/ppp/ipup
文件,添加以下内容:
```bash
ifconfig $1 mtu 1356
```
8、重启服务:重启iptables和pptpd服务,并设置为开机自启动:
```bash
systemctl restart iptables
systemctl enable iptables
systemctl restart pptpd
systemctl enable pptpd
```
防火墙和阿里云安全组配置
1、配置防火墙NAT规则:如果有公网IP并部署在本地,需配置防火墙NAT规则。
2、阿里云安全组配置:如果部署在阿里云上,需配置安全组,开放相应的端口和协议。
客户端拨号测试
以Windows 10为例,打开网络设置找到VPN,添加VPN连接,具体设置如下:
1、服务器地址:填写PPTP服务器的公网IP地址。
2、用户名和密码:输入之前在/etc/ppp/chapsecrets
文件中配置的用户名和密码。
3、连接后,获取到的IP地址范围:应与服务器端配置的remoteip
地址段一致。
FAQs常见问题解答
1、问题:为什么无法连接到PPTP VPN?
答案:可能的原因包括防火墙未正确配置、PPTP服务未启动、用户名或密码错误等,建议检查服务器端的日志文件(如/var/log/messages
),查看是否有相关错误信息,并根据提示进行排查。
2、问题:如何更改PPTP VPN的MTU值?
答案:可以通过编辑/etc/ppp/ipup
文件,添加ifconfig $1 mtu 1356
来设置MTU值为1356,保存文件后,重启PPTP服务使更改生效。