伟德体育注册 2017-09-10

参考 :

     1,http://www.cnblogs.com/sixiweb/archive/2012/11/20/2778732.html

     2,http://www.wanghailin.cn/centos-7-vpn

PPTP的配置主要有下面六个步骤:


    1、验证内核是否加载了MPPE模块
    2、安装所需的软件包
    3、配置PPP和PPTP的配置文件
    4、打开内核的IP转发功能
    5、启动pptpd守护进程
    6、配置iptables防火墙放行和转发规则


一、由于CentOS 7已经装好了ppp协议和MPPE模块,所以只需要安装pptpd及执行3、4、5步骤

如下:

[root@iZj6cfk9snim7wvcw1d1c1Z software]# strings '/usr/sbin/pppd' |grep -i mppe | wc --lines
43                                                                                                                                                     -----------已经安装,无需再安装
[root@iZj6cfk9snim7wvcw1d1c1Z software]# yum install ppp
Loaded plugins: langpacks
Package ppp-2.4.5-33.el7.x86_64 already installed and latest version                                           -----------已经安装,无需再安装
Nothing to do
[root@iZj6cfk9snim7wvcw1d1c1Z software]# yum install pptpd                                                      -----------一路Y,安装到底


二、配置PPP和PPTP的配置文件


–ppp–

配置ppp需要编辑它的两个配置文件,一个是option(选项)文件,一个是用户账户文件chap-secrets。首先编辑option文件:


vi /etc/ppp/options.pptpd

我编辑这个文件时,它已经是存在的,并且其中的内容也几乎不需要编辑,如果这个文件不存在,自行创建它并填入下面的有效配置就行了。下面是这个文件中有效的行:

name pptpd

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2

require-mppe-128

ms-dns 8.8.8.8

ms-dns 8.8.4.4

proxyarp

lock

nobsdcomp

novj

novjccomp

nologfd

其中name后面的pptpd是服务名称,可以任意修改成你喜欢的名字,在后面的配置中将对应的pptpd替换为你在这里修改的名字即可。

接下来的几行以refuse或者require开头的指令,是配置拒绝和接受的加密方式,这里接受的mschap-v2和mppe-128都是较新的比较安全的加密方式,其中mppe-128需要第一步中验证的内核模块支持。

另外两个比较重要的行就是ms-dns了,它们指定VPN使用的DNS服务器。毕竟VPS位于国外,所以推荐使用上面通用的Google Public DNS,当然也可以修改为你的VPS所在ISP提供的DNS。

剩下后面几个选项,就不在这里叙述了,需要知道其含义的童鞋可以参考这个范例文件中的注释。

接下来修改另一个,存储着用户账户的文件:


vi /etc/ppp/chap-secrets

这个文件非常简单,其中用明文存储VPN客户的用户名、服务名称、密码和IP地址范围,每行一个账户:


1.username1    pptpd    passwd1    *

2.username2    pptpd    passwd2    *

其中第一第三列分别是用户名和密码;第二列应该和上面的文件/etc/ppp/options.pptpd中name后指定的服务名称一致;最后一列限制客户端IP地址,星号表示没有限制。

–pptpd–

下面编辑pptpd的配置文件:


vi /etc/pptpd.conf

这个文件中有效的行也很少:


option /etc/ppp/options.pptpd

logwtmp

localip 192.168.0.1  #这里我写的是自己服务器的公网地址

remoteip 192.168.0.207-217  #这里我写的不是207到217,而是10到20

其中option选项指定使用/etc/ppp/options.pptpd中的配置;logwtmp表示使用WTMP日志。

后面两行是比较重要的两行。VPN可以这样理解,Linux客户端使用一个虚拟网络设备ppp0(Windows客户端也可以理解成VPN虚拟网卡),连接到服务器的虚拟网络设备ppp0上,这样客户端就加入了服务器端ppp0所在的网络。localip就是可以分配给服务器端ppp0的IP地址,remoteip则是将要分配给客户端ppp0(或者虚拟网卡)的。

这两项都可以是多个IP,一般localip设置一个IP就行了,remoteip则视客户端数目,分配一段IP。其中remoteip的IP段需要和localip的IP段一致。

localip和remoteip所处的IP段可以随意些指定,但其范围内不要包含实际网卡eth0的IP地址。一般情况下,使用上面配置文件中的配置就好使了,你需要做的只是把192.168.0.207-217这个IP区间修改成你喜欢的192.168.0.a-b,其中1<a<b<255。




4、打开内核的IP转发功能:
      vi /etc/sysctl.conf

     找到其中的行:
     net.ipv4.ip_forward = 0

     修改为:
     net.ipv4.ip_forward = 1

     然后执行下面命令使上述修改生效:
     sysctl -p




5、启动pptpd守护进程:

      service pptpd start



6、配置iptables防火墙放行和转发规则:


       iptables -t nat -A POSTROUTING -s 192.168.0.10/20 -j SNAT --to-source VPS公网IP


7、最后用windows系统连一下试试。