1  虚拟专用网

1.1  PPTP介绍

PPTP(Point to Point Tunneling Protocol),即点对点隧道协议。该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网,可以通过密码验证协议(PAP)、可扩展认证协议(EAP)等方法增强安全性。可以使远程用户通过拨入ISP、通过直接连接Internet或其他网络安全地访问企业网。

1.2  虚拟专用网工作原理

spacer.gif

1.3  虚拟专用网络隧道协议

1PPTP协议

       使用MS-CHAP v2验证方法,也可以选择安全性更好的EAP-TLS证书验证方法。身份验证完成后,之后双方所发送的数据可以利用MPPE加密法来加密,仅支持128位的RC4加密算法

2L2TP/IPSec协议

       支持IPSec的预共享密钥与计算机证书两种身份验证方法,计算机证书方法安全性较高,预共享密钥方法应仅作为测试时使用。身份验证完成后,之后双方所发送的数据则利用IPSec ESP3DESAES加密方法

3SSTP协议

       采用HTTPS协议,因此可以通过SSL安全措施来确保传输安全性。而HTTPS是企业普遍采用的协议。

1.4  虚拟专用网络应用场景

  1. 出差人员访问公司内部局域网

  2. 家庭办公访问公司内部局域网

  3. 总公司与分公司之间实现网络互访

  4. 企业与客户、厂商联盟之间或者是企业与银行互通

1.5  PPTP的部署

1.5.1  环境准备

1. 实验环境拓扑图

2. 实验环境规划

角色

外网IP地址(NAT

内网IP地址(LAN

PPTP-Client

Eth0192.168.1.11


PPTP-Server

Eth0192.168.1.242(公网)

Eth0172.16.30.30

内网FTP服务器


Eth0172.16.30.31

3. 查看系统版本

[root@PPTP-server ~]# cat /etc/redhat-release 

4. 查看主机名

[root@PPTP-server ~]# hostname

5. 关闭防火墙

[root@PPTP-server ~]# systemctl stop ebtables firewalld

[root@PPTP-server ~]# systemctl disable ebtables firewalld

6. 关闭selinux

[root@PPTP-server ~]# vim /etc/sysconfig/selinux 

[root@PPTP-server ~]# setenforce 0

[root@PPTP-server ~]# getenforce 

7. PPTP-Server第二块网卡设置IP地址。

[root@PPTP-server ~]#  nmcli connection add type ethernet con-name eth1 ifname ens37 ipv4.method manual ipv4.addresses 172.16.30.30/24 ipv4.gateway 172.16.30.1

1.5.2 PPTP服务端配置

1.配置epel, 安装PPTP 相关软件

[root@PPTP-server ~]# wget -O /etc/yum.repos.d/centos.repo  http://mirrors.aliyun.com/repo/Centos-7.repo

2.安装PPTP软件包

[root@PPTP-server ~]# yum -y install epel-release ppp pptp pptpd

3.开启内核转发

1)编辑配置文件

[root@PPTP-server ~]# vim /usr/lib/sysctl.d/00-system.conf 

     添加以下内容:

             net.ipv4.ip_forward = 1

     保存退出

2)将配置文件中的信息刷一遍

[root@PPTP-server ~]# sysctl -p /usr/lib/sysctl.d/00-system.conf

4.配置客户端上 DNS , 如客户端不需要分配 DNS 可不配置

[root@PPTP-server ~]# vim /etc/ppp/options.pptpd

5.设置 PPTP拨号的账号密码

[root@PPTP-server ~]# vim /etc/ppp/chap-secrets

#     client         server           secret            IP addresses

chenjf           *                chenjf123              *

6.分配 PPTP 拨号地址段, 注意和内相同地址

[root@PPTP-server ~]# vim /etc/pptpd.conf 

#添加本机公IPlocalip

    localip 192.168.1.242

#分配PPTP户的内⽹⽹段(remoteip

    remoteip 172.16.30.130-200

7.启动 pptpd 服务并加开机启动

[root@PPTP-server ~]# systemctl start pptpd

[root@PPTP-server ~]# systemctl enable pptpd

[root@PPTP-server ~]# systemctl status  pptpd

8.检查tcp1723是否开启

[root@PPTP-server ~]# ss   -lntup  |  grep 1723

1.5.3  Windows客户端配置

1.在win7客户端ping PPTP-server外网地址

2.在客户端ping地址172.16.30.30ping通,说明无法直接连接。

3.打开络共享中,点击-->设置新的连接或

4.选择连接到作区域

5.使Internet连接到虚拟专用网络服务

6.填写PPTP服务器IP地址以及名称,然后点击下

7.填写在PPTP-Server上配置好的户名以及密码, 然后点击连接

8.PPTP连接成功

9.测试是否能够连接172.16.30.31这台内服务器

10.打开文件资源管理器在路径栏输入ftp://172.16.30.31

11.打开网络设备器查看ppp网卡IP地址

12.pptp默认连接是会通过pptp的默认关来进,若我们想通过自己本地网关访问上网,我们取消默认使拨号连接上功能即可

 

13.断开pptp拨号连接即可使用本地网关上网

14.打开浏览器访问一下www.baidu.com

1.5.4  Linux客户端配置

1.以 CentOS7.5 为客户端安装软件包

[root@pptp-client ~]# yum -y install ppp pptp pptp-setup

2.客户端连接×××服务端

pptpsetup --create test --server SERVER_IP --username 户名 --password 密码 --encrypt --start 连接 PPTP 服务端。

您需要填写实际配置pptp 服务端的 IP 地址、户名和密码。

[root@PPTP-client ~]# pptpsetup --create test --server 192.168.1.242 --username chenjf --password chenjf123 --encrypt --start

3.检查分配地址段

[root@PPTP-client ~]#  ifconfig | grep -A 5  ppp

4.添加默认路由

[root@PPTP-client ~]# ip route replace default dev ppp0

5.我们可以ping 172.16.30.31  ssh [email protected]

此时证明PPTP拨号连接成功。

1.5.5  pptp连接故障

如下这类错误和pptp客户端拨号提示连接691错误类似

1. 检查 ebtablesselinux,以及客户端防墙。

    systemctl status ebtables           #查看ebtables防火墙的运行状态

    systemctl status firewalld           #查看firewall防火墙的运行状态

2. 如果是云主机请检查安全组⼊⼝和出是否运1723访问。

3. 如果是物理主机需要向IDC了解是否关闭此端, 或路由不持此协议