您好,欢迎访问利联科技官网!    24小时服务热线:400-161-0880    我们有最适合您的产品和最好的服务。登录  /  注册  /  旧平台入口

Centos7.5 系统使用pptpd搭建扬州BGP服务器45.113.201

 


一、×××介绍


        ×××(Virtual Private Network),虚拟专用网络,主要是在公用扬州BGP服务器网络上建立专用网络,进行加密通讯。在企业网络中得到广泛应用。×××网关通过对数据包的加密和数据包目标地址的转换实现远程访问。×××有多种分类方式,主要是按照协议进行分类。


        ×××协议主要分为ppp协议、pptp协议、l2tp协议等。


    (1)、PPP协议


        ppp协议支持多种网络协议,可以把IP、IPX、AppleTalk或NetBEUI的数据包封装在PPP包中,将整个报文封装在PPTP(Point-to-Point Tunneling Protocol)隧道协议包中,再嵌入IP报文或帧中继或ATM中进行传输。


    (2)、PPTP协议


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


        PPTP能够将PPP(点到点协议)帧封装成IP数据包,以便能够在基于IP的互联网上进程传输。PPTP使用TCP是实现隧道的创建、维护与终止,并使用GRE(通用路由封装)将PPP帧封装成隧道数据。被封装后的PPP帧的有效载荷可以被加密或压缩;


        PPTP通信过程中需要建立两种连接,一种是控制连接,一种是数据连接。控制连接用来协议通信过程中的参数和进行数据连接的维护。而真正的数据通信由数据连接完成。


        ×××工作原理图:


二、PPTP控制连接建立流程


        PPTP控制连接建立过程分为以下几步:


        (1)建立TCP连接;(2)PPTP控制连接和GRE隧道建立;(3)PPTP协议的LCP协商;(4)PPP协议的身份验证;(5)PPP协议的NCP协商;(6)PPP协议的CCP协商


        以下分析使用的抓包方式,使用的IP地址为:client IP :192.168.163.56    server IP :192.168.163.196     (此地址 只用来演示PPTP工作流程使用,无具体配置)


    1、建立TCP连接


        PPTP控制层协议是建立在TCP协议的基础上,所以建立的第一步就是常用的TCP三次握手


    2、PPTP控制连接和隧道的建立


        在此过程,完成PPTP控制层连接和GRE隧道建立的工作


    3、PPP协议的LCP协商


        LCP是PPP协议的链路控制协议,负责建立、拆除和监控数据链路,如认证方法,压缩方法,是否回叫等。


    4、PPP协议的身份认证


        LCP协商完成后,PPP协议的Server端会对Client端进行身份验证,在LCP协商中已经协商好身份验证协议


    5、PPP协议的NCP协商


        NCP协议是PPP协议的网络控制协议,主要用来协商双方网络层接口参数,分配IP,DNS等信息。下图中的IPCP是NCP基于TCP/IP 的接口协商协议。Server和Client都要把自己的Miniport信息发送给对方。


    6、PPP协议的CCP协商


        CCP协议协商PPP通讯中数据加密的协议。


三、数据连接的流程


        PPTP数据隧道化过程采用多层封装的方式。


    1、PPTP数据包封装过程


        封装过程:


    2、PPTP数据包解析过程


        解析过程:


四、环境准备


    1、服务器:


        操作系统:CentOS Linux release 7.5.1804 (Core) 


        IP地址:172.28.1.191


    2、客户端:


        windows 7操作系统


        windows10 操作系统


五、PPTP服务端安装


    1、检查服务器端系统版本:


        cat /etc/redhat-release 


    2、检查服务端IP地址信息:


        ip addr


    3、检查ppp是否开启


        cat /dev/ppp  


        modprobe ppp-compress-18 && echo ok


    4、安装PPP


        yum install -y ppp


    5、安装PPTPD


        在安装PPTPD服务之前,需要先更新一下yum源


 <b>扬州BGP服务器</b>        (1)安装wget


        yum install -y wget


        (2)添加EPEL源:


        wget  


        (3)安装epel源:


        rpm -ivh epel-release-latest-7.noarch.rpm 


        (4)检查是否添加到源列表中:


        yum repolist


        (5)更新源列表


        yum -y update        


        (6)安装PPTPD:


        yum install -y pptpd


    6、设置×××内网IP段


        vi /etc/pptpd.conf


        将以下两行前面的#号删掉,配置×××内网的IP段,也可自行设置


        localip 192.168.0.1


        remoteip 192.168.0.234-238,192.168.0.245


    7、配置opptions.pptpd


        vi /etc/ppp/options.pptpd


        (1)修改DNS:


        修改dns服务的两行:


        ms-dns 8.8.8.8


        ms-dns 8.8.4.4


        (2)修改日志记录<b>扬州服务器</b>:


        添加日志存放位置:


        nologfd


        logfile /var/log/pptpd.log     #日志存放位置


    8、设置×××账号密码:


        编辑/etc/ppp/chap-secrets ,创建×××账号密码,


         vim /etc/ppp/chap-secrets 


        备注:添加用户名密码的格式


        用户名    pptpd    密码    *                #每个字段之间用tab键隔开   *表示用任意IP连接×××都可以


        在此建立两个账号


    9、修改内核参数


        编辑/etc/sysctl.conf 修改内核参数,支持内核转发


        vim /etc/sysctl.conf , 在最下面添加:net.ipv4.ip_forward=1


        输入命令生效:sysctl -p


    10、修改防火墙设置:


        (1)创建规则文件:


        touch /usr/lib/firewalld/services/pptpd.xml


        (2)修改规则文件


   <b>扬州服务器</b>      vim /usr/lib/firewalld/services/pptpd.xml


        <?xml version="1.0" encoding="utf-8"?>


        <service>


               <short>pptpd</short>


               <description>PPTP</description>


               <port protocol="tcp" port="1723"/>


        </service>


        (3)重启防火墙


        systemctl  start firewalld.service


        (4)添加服务


        firewall-cmd --permanent <b>扬州BGP服务器</b> --zone=public --add-service=pptpd


        (5)允许防火墙伪装IP:


        firewall-cmd --add-masquerade


        (6)开启 47和1723端口


        firewall-cmd --permanent --zone=public --add-port=47/tcp


        firewall-cmd --permanent --zone=public --add-port=1723/tcp


        (7)允许grep协议:


        firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT


        firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p gre -j ACCEPT


        (8)设置规则允许数据包由eth0 和ppp+接口中进出


        firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ppp+ -o eth0 -j ACCEPT


        firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o ppp+ -j ACCEPT


        (9)设置转发规则,从源地址发出的所有包进行伪装,改变地址,由eth0发出


        firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o eth0 -j MASQUERADE -s 192.168.0.0/24


    11、开启转发规则


        转发规则有两种:


        (1)XEN架构:


        iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE


        (2)OpenVZ架构:


        iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source VPS公网IP    //VPS公网IP 要换成你服务器的IP 比如 115.138.148.X


        在此我使用的是XEN架构,在命令终端输入第一条命令:


        iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE


    12、编辑rc.local文件,添加转发规则


        (1)给rc.local执行权限


        chmod +x /etc/rc.d/rc.local


        (2)编辑rc.local文件


        在文件最下面添加代码


        使用XEN架构,添加代码:iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE


        使用OpenVZ架构,添加代码:iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source VPS公网IP


        在此使用的XEN架构。


        vim /etc/rc.d/rc.local


    13、重启服务


        systemctl restart pptpd


        friewall-cmd --reload


    14、查看pptpd服务


        ps -aux | grep pptpd


    15、设置开机启动


        systemctl enable pptpd


六、客户端验证:


    1、windows10操作系统客户端验证


        (1)点击windows10的“设置”-然后点击“网络和Internet”


         (2)在“×××”选项中,点击“添加×××连接”


        (3)弹出“添加×××连接”界面后,需要输入×××账号信息


        (4)返回“×××”界面,选择刚刚创建的×××连接


        (5)输入×××的账号 密码


        (6)测试×××是否连接成功:


        ping×××服务器本机地址。172.28.1.188


    2、windows7 客户端连接×××


        (1)右键点击右下角的网络图标,然后打开“网络和共享中心”


        (2)点击设置新的连接或网络进行×××拨号方式的创建


        (3)在弹出的设置连接或网络的选项卡里选择“连接到工作区”


        (4)选择“使用我的Internet连接(×××)”然后点击进入:


        (5)填写×××服务器的IP地址信息,然后输入新建×××的名称,可自定义:


        (6)输入×××账号密码


        (7)默认情况下系统会对×××的服务一个一个的进行尝试连接


        (8)测试连接是否成功


        ping 172.28.1.188


您可能还会对下面的文章感兴趣: