转载来自:

https://bbs.aliyun.com/read/162297.html

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

操作系统:CentOS 6.3 64位

名词解释:pptp是VPN服务器类型之一,PPP是一种数据链路层协议,iptables是IP信息包过滤系统。

1 服务器端安装软件

1.1 首先安装ppp

yum install -y ppp iptables 

提示Complete! ,安装成功;

1.2安装pptp

由于pptp没有存放在CentOS的源中,所以用yum命令安装返回的是找不到安装包的,需要从网上下载,安装命令如下:

rpm -ivh  http://pkgs.org/centos-6/nux-misc-x86_64/pptpd-1.3.4-1.el6.nux.x86_64.rpm

2 配置pptp

2.1编辑/etc/pptpd.conf,命令如下

vi /etc/pptpd.conf 

#localip 192.168.0.1
#remoteip ,192.168.0.245 

修改成

localip 192.168.0.1
remoteip ,192.168.0.245 

即将这两行第一个字符“#”去掉,保存退出

2.2编辑/etc/ppp/options.pptpd

命令如下

vi /etc/ppp/options.pptpd 

#ms-dns 10.0.0.1
#ms-dns 10.0.0.2 

改成

ms-dns 8.8.8.8
ms-dns 8.8.4.4 

即将这两行第一个字符“#”去掉,而后修改DNS的IP。

2.3设置使用pptp的用户名和密码

vi /etc/ppp/chap-secrets 

打开后只有两行,而且一个账号都没有

# Secrets for authentication using CHAP
# client server secret IP addresses 
根据您的需要添加账号,每行一个。按照:“用户名 pptpd 密码 ip地址”的格式输入,每一项之间用空格分开,例如:username pptpd  * (*表示所有IP)
保存并退出。 

3、修改内核设置,使其支持转发

vi /etc/sysctl.conf 

net.ipv4.ip_forward= 

改成

net.ipv4.ip_forward= 

net.ipv4.tcp_syncookies=  

改成

#net.ipv4.tcp_syncookies= 

保存并退出

执行以下命令使修改后的内核生效

sysctl -p 

4、添加iptables转发规则

iptables -t nat -A POSTROUTING -s  -o eth1 -jMASQUERADE 

(注意:由于阿里云是双网卡,内网eth0,外网eth1,所以这块特别容易误写为eth0,这也是为什么很多杂乱的教程无法配置成功的原因之一)

添加好转发规则后保存一下并重启iptables

/etc/init.d/iptables save  
/etc/init.d/iptables restart

5、重启pptp服务

/etc/init.d/pptpd restart 

这里要注意一下,其实此时pptp还没运行起来。所以使用restart重启,会显示Shutting down pptp [FAILED]。还会有一个警告,可以忽略。如不放心可以再用以上命令重启一下pptp就非常顺利的运行了。

6、设置pptp和iptables随系统启动

chkconfig pptpd on 
chkconfig iptables on

至此,pptp服务端安装结束。 在PC端的“网络和共享中心”,设置新的连接或网络,即可访问VPN。

若win7连接vpn的时候提示连接错误701,无法建立该加密类型服务PPTP,修改取消严格的密码验证

在网络--更改适配器设置--VPN连接--属性--安全, 在新窗口,选择“可选加密”

【转载】CentOS服务器配置VPN详解的更多相关文章

  1. CentOS网络配置详解

    转载于CentOS中文站:http://www.centoscn.com/CentOS/2015/0507/5376.html一.配置文件详解 在RHEL或者CentOS等Redhat系的Linux系 ...

  2. 【转载】Java 集合详解

    转载:https://www.cnblogs.com/ysocean/p/6555373.html 一.集合的由来 通常,我们的程序需要根据程序运行时才知道创建多少个对象.但若非程序运行,程序开发阶段 ...

  3. [转载]Java迭代器(iterator详解以及和for循环的区别)

    Java迭代器(iterator详解以及和for循环的区别) 觉得有用的话,欢迎一起讨论相互学习~[Follow] 转载自 https://blog.csdn.net/Jae_Wang/article ...

  4. 转载——CentOS---网络配置详解

    看到一篇关于Centos网络配置很详细的文章,特此复制来.原文网址:http://blog.chinaunix.net/uid-26495963-id-3230810.html 一.配置文件详解在RH ...

  5. 【转载】Java泛型详解

    [转载]http://www.importnew.com/24029.html 对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 本文参考 ...

  6. CentOS Yum 命令详解

    总所周知,Redhat和Fedora的软件安装命令是rpm,但是用rpm安 装软件最大的麻烦就是需要手动寻找安装该软件所需要的一系列依赖关系,超级麻烦不说,要是软件不用了需要卸载的话由于卸载掉了某个依 ...

  7. 转载]IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本 )

    原文地址:IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本作者:佐佐木小次郎 因为最近项目上要用有关LBS的功能.于是我便做一下预研. 一般说来LBS功能一般分为两块:一块是地理 ...

  8. 【转载】Spring AOP详解 、 JDK动态代理、CGLib动态代理

    Spring AOP详解 . JDK动态代理.CGLib动态代理  原文地址:https://www.cnblogs.com/kukudelaomao/p/5897893.html AOP是Aspec ...

  9. [转载]oracle 高水位线详解

    一.oracle 高水位线详解 出处: https://www.cnblogs.com/linjiqin/archive/2012/01/15/2323030.html 一.什么是水线(High Wa ...

随机推荐

  1. hibernate在使用getCurrentSession时提示no session found for current thread

    大致错误片段 org.hibernate.HibernateException: No Session found for current thread at org.springframework. ...

  2. Python 从零学起(纯基础) 笔记 之 迭代器、生成器和修饰器

    Python的迭代器. 生成器和修饰器 1. 迭代器是访问集合元素的一种方式,从第一个到最后,只许前进不许后退. 优点:不要求事先准备好整个迭代过程中的所有元素,仅仅在迭代到某个元素时才计算该元素,而 ...

  3. AOJ DSL_2_D Range Update Query (RUQ)

    Range Update Query 数列 A = {a0,a1 ,...,an−1} に対し.次の2つの操作を行うプログラムを作成せよ. update(s,t,x): as,as+1,...,at  ...

  4. 架构师养成记--4.volatile关键字

    volatile修饰的变量可在多个线程间可见. 如下代码,在子线程运行期间主线程修改属性值并不对子线程产生影响,原因是子线程有自己独立的内存空间,其中有主内存中的变量副本. public class ...

  5. grafana日志分析界面及导出的json文件

    日志分析面板导出的json文件,效果图如下: 下载地址:http://files.cnblogs.com/files/xiaoming279/%E9%9D%A2%E6%9D%BF.zip 主机面板 主 ...

  6. 创建一个自定义颜色IRgbColor

    后续文章需要用到,很简单的一个小函数 /// <summary> /// 自定义颜色 /// </summary> /// <param name="r&quo ...

  7. [NHibernate]存储过程的使用(二)

    目录 写在前面 文档与系列文章 创建对象 更新对象 总结 写在前面 上篇文章介绍了如何使用MyGeneration代码生成器生成存储过程,以及nhibernate中通过存储过程删除数据的内容,这篇文章 ...

  8. “基础提供程序在Open上失败”

    本来布置在IP为[x.x.x.x]的WCF服务好好的,但是今天突然就有问题了,一调用报错"基础提供程序在Open上失败"... 服务器上的有问题,先试试本地的服务能不能用吧,连的都 ...

  9. JS中数组Array的用法{转载}

    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^var arr = new Array();arr[0] = "aaa";arr[1] ...

  10. 2014 Multi-University Training Contest 9#1009

    Just a JokeTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Tot ...