【转载】CentOS服务器配置VPN详解
转载来自:
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详解的更多相关文章
- CentOS网络配置详解
转载于CentOS中文站:http://www.centoscn.com/CentOS/2015/0507/5376.html一.配置文件详解 在RHEL或者CentOS等Redhat系的Linux系 ...
- 【转载】Java 集合详解
转载:https://www.cnblogs.com/ysocean/p/6555373.html 一.集合的由来 通常,我们的程序需要根据程序运行时才知道创建多少个对象.但若非程序运行,程序开发阶段 ...
- [转载]Java迭代器(iterator详解以及和for循环的区别)
Java迭代器(iterator详解以及和for循环的区别) 觉得有用的话,欢迎一起讨论相互学习~[Follow] 转载自 https://blog.csdn.net/Jae_Wang/article ...
- 转载——CentOS---网络配置详解
看到一篇关于Centos网络配置很详细的文章,特此复制来.原文网址:http://blog.chinaunix.net/uid-26495963-id-3230810.html 一.配置文件详解在RH ...
- 【转载】Java泛型详解
[转载]http://www.importnew.com/24029.html 对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 本文参考 ...
- CentOS Yum 命令详解
总所周知,Redhat和Fedora的软件安装命令是rpm,但是用rpm安 装软件最大的麻烦就是需要手动寻找安装该软件所需要的一系列依赖关系,超级麻烦不说,要是软件不用了需要卸载的话由于卸载掉了某个依 ...
- 转载]IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本 )
原文地址:IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本作者:佐佐木小次郎 因为最近项目上要用有关LBS的功能.于是我便做一下预研. 一般说来LBS功能一般分为两块:一块是地理 ...
- 【转载】Spring AOP详解 、 JDK动态代理、CGLib动态代理
Spring AOP详解 . JDK动态代理.CGLib动态代理 原文地址:https://www.cnblogs.com/kukudelaomao/p/5897893.html AOP是Aspec ...
- [转载]oracle 高水位线详解
一.oracle 高水位线详解 出处: https://www.cnblogs.com/linjiqin/archive/2012/01/15/2323030.html 一.什么是水线(High Wa ...
随机推荐
- C#-WinForm-Winform TextBox中只能输入数字的几种常用方法(C#)
方法一: private void tBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 0x20) e.KeyCh ...
- grails框架的g:paginate分页标签的使用
我用到的grails是2.4.4. 该版本下游一个标签g:paginate 该标签下有以下几个参数:total(必须要填写的项).controller.action.prev.max.offset等等 ...
- python 之 PIP 安装
1.安装的必备包 pip 和 setuptool 都要有, 这个可以从python.org网站下载 // setuptool 安装 下载地址 https://pan.baidu.com/s/1gf ...
- nginx中的超时设置
nginx使用proxy模块时,默认的读取超时时间是60s. 1. send_timeout syntax: send_timeout the time default: send_timeout 6 ...
- php 实用例子:购物车 涉及session与ajax
login: <div>用户名:<input type="text" id="uid" /></div><div> ...
- lua c api
#include <stdio.h> #include <string.h> extern "C"{ #include <lua.h> #inc ...
- Fedora 23安装 NS2 (network simulator 2)
1 实验环境 OS: Fedora 23 workstation 2 实验步骤 ( 参考了:http://www.isi.edu/nsnam/ns/ns-build.html) 本次实验的实验环境: ...
- thinkphp 3.2加载类
基础方式(自动加载) 控制器: public function ff(){ $t = new \Org\Util\Abc(); echo $t->ss(); } ThinkPHP\Library ...
- c语言求数组长度
在定义数组的函数内 int arr[] = {12.12}; int length; length = ]; 在别的函数中作为引用数据类型引入时,以上方法失效: 解决方法1:再传一个int 类型的长度 ...
- C++项目中的extern "C" {}
from:http://www.cnblogs.com/skynet/archive/2010/07/10/1774964.html C++项目中的extern "C" {} 20 ...