背景信息
点对点隧道协议(PPTP)是建立在PPP(Point to Point)点对点协议上的VPN隧道技术。当远程用户要访问公司专用网时,可采用PPTP网络接入方式,用户先拨号到PPTP Server建立PPP连接,然后通过PPTP协商建立一条用户到服务器的“隧道”,接着通过PPP协议的NCP协商,为用户分配一个网段内IP,用户可以使用分配到的IP进行局域网内的通信。从而为远程接入虚拟专用网提供一条在公共网络上创建安全连接的途径。
本文档仅用于示例和操作指引,请您根据实际需要操作。使用PPTP服务存在安全隐患,您需要考虑由此产生的影响及问题。更多信息,请参见查看详情。
注意事项
本协议属于VPN,因此如果您部署的是云服务器,请确保服务商是否允许搭建或提前咨询服务商说明用途,避免产生误解。本文章只提供搭建此VPN教程。
云服务器部署要求
支持开放TCP:1723端口(必须)
支持CentOS 7 系统(必须)
一、安装PPTP
1.安装PPTP服务
终端输入指令
yum install -y ppp pptpd
回显如下图所示,表示PPTP服务端安装成功。
2. 设置网关和IP范围
执行vi /etc/pptpd.conf命令, 编辑配置文件,删除命令前面的“#”,使下列两行命令可以执行。输入:wq命令保存退出。
vi /etc/pptpd.conf
localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245
localip和remoteip分别是VPN的网关地址和VPN拨号时获取的地址段。;请确保修改符合规定,注意网关和分配地址应当处于同一个IP端
3. 修改DNS(可选)
执行vi /etc/ppp/options.pptpd命令,找到ms-dns并修改为223.5.5.5和223.6.6.6。删除命令前面的“#”。输入:wq命令保存退出。
vi /etc/ppp/options.pptpd
IP地址223.5.5.5和223.6.6.6是阿里云的公共DNS服务器地址,您可以根据需要调整为其它公共DNS服务地址。
4. 创建用户
执行vi /etc/ppp/chap-secrets命令,设置pptpd的用户名和密码。根据需要添加账号,一行只添加一个用户账号。按照用户名 pptpd 密码 IP地址格式输入,每一项用空格隔开。输入:wq命令保存退出。
vi /etc/ppp/chap-secrets
“*”代表分此用户的IP,如果需要固定此用户IP可以输入。否则将代表自动分配,并且支持多用户同时连接,请注意如果自动分配的IP可能会随时变动。
5. 设置MTU(建议)
本人测试如果不设置MTU也能正常打开网页,但是为了不出其它情况建议进行设置。
执行vi /etc/ppp/ip-up命令,设置最大传输单元MTU。在命令符[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local “$@”下方添加ifconfig ppp0 mtu 1472。
1.终端输入
vi /etc/ppp/ip-up
2.添加命令
ifconfig ppp0 mtu 1472
6. 开启内核网络转发
执行vi /etc/sysctl.conf命令,编辑配置文件,添加net.ipv4.ip_forward = 1配置,输入:wq命令保存退出。
1.终端输入
vi /etc/sysctl.conf
2.添加命令
net.ipv4.ip_forward = 1
执行sysctl -p命令,使修改后的参数生效。
3.终端输入
sysctl -p
二、安装并配置防火墙及NAT
1.安装防火墙(如有无需执行)
yum install iptables-services
2. 配置NAT规则
以下命令中的IP,如果修改过地址段,也需要同步修改
2.1 终端输入
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
2.2 终端输入(可选)
iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source <外网网卡IP>
外网网卡IP可以输入 ifconfig 查看 大部分云服务器采用VPC网络,一般服务器网卡显示的为内网IP,同时这条规则就是将VPN网址转发至外网网卡以确保VPN用户可以联网
2.3 执行如下命令,保存设置。
service iptables save
2.4 客户端之间互相通信(可选)
终端输入
iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.0.0/24 -j ACCEPT
三、重启PPTP
如果对PPTP配置文件做修改包括增加用户,必须重启才可以生效,绝大部分用户后期连不上都是因为没有重启PPTP。
终端输入
systemctl restart pptpd
四、设置开机自启
依次执行如下命令,设置pptpd和iptables自启动。
systemctl enable pptpd.service
systemctl enable iptables.service
已知问题
1. yum安装pptpd提示没有软件包
源的问题,需要换源
1.1 终端输入
cd /etc/yum.repos.d
1.2 终端输入
yum install wget -y
1.3 下载新的CentOS-Base.repo文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1.4 运行yum clean all 清除缓存,运行 yum makecache 生成新的缓存
yum clean all
终端输入
yum makecache
1.5 下载epel库
yum install -y epel-release
1.6 再次运行指令
yum clean all
yum makecache
以上教程转载此处,编写时有改动。
文章创作说明
文章转载此处,编写时有改动。