Ubuntu配置PPTP服务端和客户端

文化   2024-09-10 21:42   北京  


正文共:999 字 17 图,预估阅读时间:1 分钟

我们前面提到,在Linux系统配置PPTP(Point-to-Point Tunneling Protocol,点到点隧道协议)VPN时,一般是使用pptpd软件。而配置中最关键的当属配置文件/etc/pptpd.confpptpd配置文件/etc/pptpd.conf详解,pptpd命令通常从配置文件中读取选项,其中的大多数选项都可以通过命令行覆盖;而客户端的本地和远程IP地址必须来自配置文件或pppd配置文件。

今天,我们在Ubuntu 23.10系统中测试一下配置PPTP服务端。

首先,我们先更新一下系统,然后安装pptpd服务和其他所需组件。

apt update && apt upgrade -yapt install -y pptpd

接下来,我们编辑/etc/pptpd.conf文件来配置PPTP服务,按照配置指导,最简单的配置就是添加一下我们希望服务端和客户端连接使用的IP地址信息。

nano /etc/pptpd.conf
localip 10.88.8.8remoteip 10.88.8.100-200

除此之外,配置文件中还有两行默认配置,分别是option /etc/ppp/pptpd-options和logwtmp。logwtmp表示在用户连接和断开连接时更新wtmp。而option /etc/ppp/pptpd-options表示传递给pppd的选项文件不使用默认的/etc/ppp/options,而是使用/etc/ppp/pptpd-options给出PPTP特定的选项。/etc/ppp/pptpd-options中有几行配置需要注意:

这里面设置的认证算法,拒绝使用安全性较低的PAP、CHAP、MSCHAP,要求使用MSCHAPv2以及MPPE-128算法,这里在配置客户端时会用到。

跟配置L2TP VPN一样CentOS配置LNS和VSR作为LAC建立L2TP隧道,为了确保只有授权用户可以连接到PPTP服务,我们还需要配置/etc/ppp/chap-secrets文件。所以,/etc/ppp/chap-secrets可以用于基于PPP拨号的VPN配置接入用户密码数据。配置模板如下:

我们参考模板添加一个拨号账户。

安装软件时,我们注意到pptpd服务安装完成后并没有启用,所以需要手工启动并使能pptpd服务在开机时自动启动。

systemctl start pptpdsystemctl enable pptpdsystemctl status pptpd

如果需要服务端代理客户端进行上网,还需要配置启用数据包的内核转发,并且在公网接口上启用伪装。

echo 1 > /proc/sys/net/ipv4/ip_forwardiptables -t nat -A POSTROUTING -o ens160 -j MASQUERADE

到这里,服务端配置就结束了,接下来,我们配置客户端。

在网络设置的GUI界面,我们可以直接看到VPN的配置。

点击加号,可以看到系统默认支持openVPN和PPTP这两种VPN,我们本次选择下面的PPTP;如果要配置openVPN,请参考Ubuntu配置openVPN服务端和客户端

在添加VPN页面,我们配置好名称、网关和用户认证信息。在输入密码框中,默认设置为每次登录时询问密码,可以点击右侧图标视情况进行修改,比如为所有用户保存密码。

然后,我们点击“Advanced”进入高级设置。与配置文件/etc/ppp/pptpd-options相对应的,我们取消勾选PAP、CHAP和MSCHAP认证算法,保留MSCHAPv2,并且勾选使用MPPE,安全性选择128算法,点击“OK”返回添加VPN页面。

最后,添加右上角“Add”完成添加。

回到网络配置页面,点击VPN连接后面的开关,发起连接。

连接成功后,可以看到右上角状态栏显示了一个VPN图标。

查看网络信息,虚拟网卡ppp0获取到了一个10.88.8.100的IP地址,对端IP地址为10.88.8.8,为服务端IP地址。

查看路由信息,发现PPTP下发的路由优先级优于默认路由。

使用traceroute命令测试流量转发路径。

流量经服务端进行转发,且可以正常访问互联网。

查看服务端信息,发现在客户端连接成功之后,服务端协商起了ppp0接口,使用预先配置的localip地址,并且对端是主机地址10.88.8.100/32,跟L2TP一样CentOS 8服务器搭建L2TP服务器(over IPsec)操作指南

长按二维码
关注我们吧

pptpd配置文件/etc/pptpd.conf详解
Ubuntu配置openVPN服务端和客户端
在Ubuntu系统手撸一个自动创建SSL证书的SHELL脚本
在Ubuntu系统手撸一个自动搭建openVPN服务端的SHELL脚本
Ubuntu一键导入openVPN配置文件
配置GRE over IPv6隧道
IPsec over GRE over IPv6配置案例
配置IPv6 over IPv4的手动隧道和自动隧道
使用IKE建立保护IPv6报文的IPsec隧道
你想在旧Android手机上装Linux系统吗?看这里
Android手机安装Kali系统并配置ddns-go

铁军哥
高级网络规划设计师,中国电信高级技术规划工程师,天翼云认证高级解决方案架构师,H3C认证网络工程师。 继续加油,努力传播知识,影响更多人!
 最新文章