linux下使用pptp搭建vpn服务器实战

发布时间:2023-09-04 10:46:41编辑:文明阅读(416)

              说明:之前在windows下搭建vpn服务器时,只需要在网络上找相应的资料,就可以实现,不用管什么原理;今天实现在linux下搭建vpn服务器,以实现对内网的集群进行访问,发现用原来windows的老方法不行,还需要了解其中×××的原理才行;

               概念:×××: virtual Private Network,又叫虚拟专用网络,vpn的功能是将因特网虚拟成企业网络来使用;×××网关采用双网卡结构,外网卡使用公网IP接入internet,内网卡使用保留地址作为内部IP地址

                               pptp:点到点隧道协议,是一种用于让远程用户拨号连接到本地的ISP,通过因特网安全远程访问公司资源的一种技术,它将ppp(点到点协议)帧封装成ip数据包,通过三次握手和四次挥手可以实现与×××功能,pptp使用tcp连接的创建,维护,与终止隧道,并使用gre(通用路由封装)将ppp帧封装成隧道数据

              原理:外部的网络电脑(大部分为window客户机)使用系统自建的vpn拨号软件或×××设备来访问×××服务器,并进行三次握手和四次挥手,并比对×××帐号的正确性,进行确认,进而实现连接。

              linux下×××配置过程:

                1、先检查环境:

                             a.查看系统是否支持pptp:#modprobe ppp-compress-18 && echo success                      #如果输出为success则表示支持,如果显示其他的,请进行#yum install –y kernel-devel的安装

                             b.检查是否开户tun/tap :                                               #正确的应该输出为:cat: /dev/net/tun: File descriptor in bad state

                                            linux下使用pptp搭建vpn服务器实战_系统/运维

                              c.检查是否开启ppp:                         #正确地应该输出为:cat : /dev/ppp: no such device or address;最重要是这一步

                                            linux下使用pptp搭建vpn服务器实战_Linux_02

                           注:如果检查环境不能满足a,b,c三个条件,表示系统暂时不支持pptp;默认情况下,服务器都开启了ppp;

                 2、安装所需必要包

                               a.先安装epel源

                                            #yum install –y epel-release                 #默认情况下会安装在/etc/yum.repos.d目录下,安装成功会产生文件epel-repo

                               b.再安装ppp pptpd软件

                                            #yum install –y ppp pptpd net-tools       #其中ppp,pptpd为关键软件,net-tools为所需要的补丁包;

                  3.配置

                                a.主配置文件

                                         其基本配置文件/etc/pptpd.conf,要进行如下操作:

                                          #cp /etc/pptpd.conf{,.default}              #对配置文件进行备份,生成pptpd.conf.default

                                         #sed –i  ‘s#$#localip  10.0.0.27\nremoteip 172.16.1.40#g’  /etc/pptpd.conf       #向配置文件pptpd.conf的文件末尾添加二行,就可以了;

                                        #vim /etc/pptpd.conf          

                                               option /etc/ppp/options.pptpd                      #指定pptdp扩展属性配置文件options.pptpd

                                               debug                                 #开启调试模式,有关pptp的信息和错误会记录在/var/logs/message中,方便排错和调试;

                                                stimeout 30                  #设置客户端连接pptpd server时最长连接等待时间(连接超时时间):30秒

                                                localip 10.0.0.27             #pptp服务器端ip,可以是内网,也可以是外网,我这里设置的是外网IP;

                                                remoteip 172.16.1.40-50      #客户端成功连接×××获取的IP地址范围(最好在一个网段)

                                   b.pptpd配置文件/etc/ppp/options.pptpd

                                            #cp /etc/ppp/options.pptpd{,.default}

                                              #sed –i ‘s#$#ms-dns 8.8.8.8\nms-dns 202.96.128.86#g’ /etc/ppp/options.pptpd     //给×××客户端增加DNS配置;

                                     c.设置pptpd vpn服务器访问的用户名和密码

                                                #cp /etc/ppp/chap-secrets{,.default}

                                                #sed –i ‘s#$#ppp * 123456 *#g’ /etc/ppp/chap-secrets      //其中ppp * 123456 * 表示用户名 服务器名 密码 分配的IP地址,如果为*,表示随机分配

                                      d.设置服务器允许IP转发内核

                                               #sed –i ‘s#net.ipv4.ip_forward = 0#net.ipv4.ip_forward = 1#g’  /etc/sysctl.conf

                                               #sysctl –p

                           4.启动服务

                                               #/etc/init.d/pptpd start

                                               #chkconfig pptpd on

                           5.建立×××

                                             linux下使用pptp搭建vpn服务器实战_系统/运维_03

                                             linux下使用pptp搭建vpn服务器实战_Linux_04

                                               linux下使用pptp搭建vpn服务器实战_系统/运维_05

                           6.配置iptables

                                         #iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 10.0.027   #确保客户机连上×××后能正常上网

                                         #iptables –t filter –A INPUT –p tcp –m state –state NEW –m tcp –dport 1723 –j ACCEPT #开放1723端口,允许转发

                                        #iptables –P FORWARD ACCEPT

                                        #service iptables save                           //保存iptables规则

                            7.访问其他服务器

                                                       linux下使用pptp搭建vpn服务器实战_Linux_06配置前无法访问

                                                       linux下使用pptp搭建vpn服务器实战_系统/运维_07vpn服务启动前,其他机器无法访问;

                                                      linux下使用pptp搭建vpn服务器实战_系统/运维_08配置后可以访问其中一台服务器;

                                                       linux下使用pptp搭建vpn服务器实战_系统/运维_09vpn启动后本机就可以访问到其他服务器

                                                   linux下使用pptp搭建vpn服务器实战_Linux_10

                           

    1.连接pptp

    找到文件C:\Users\用户名\AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk


    假如没有找到文件,可以打开C盘后,搜索文件“rasphone.pbk”,然后打开文件所在位置。


    双击这个文件:


    添加项目–》工作区网络(W)–》输入要连接的Internet地址


    internet地址输入vpn服务器的ip


    目标名称就是取个别名


    然后用户名和密码输入vpn用户名和密码。


    退出vpn连接,下面继续修改配置。


    2.修改配置

    使用记事本编辑文件 rasphone.pbk


    找到 IpPrioritizeRemote=1,将之改成0就取消 “从远程网络上使用默认网关”


    找到 IpDnsAddress= ,将之改成dns地址,可以改为8.8.8.8


    然后保存退出。


    双击运行rasphone.pbk


    然后选择vpn,这时候不仅连接vpn了,也能访问网络了。


    温馨提示:(大家如果感觉文件不好找到,每次打开很费事,可以右键-》创建桌面快捷方式,这样方便的连接pptp)


关键字pptpvpn

    还没有小伙伴评论,快来抢沙发啦~~!