一、准备

  需要 dkms-2.0.17.5-1.noarch.rpm、ppp-2.4.5-33.0.rhel6.x86_64.rpm、pptpd-1.4.0-1.el6.x86_64.rpm,并依次安装,安装命令为 rpm -ivh

  安装过程中,可能遇到的问题是 ppp 和 pptpd 的版本不兼容,这块试了很多次,但上面三个包是测试兼容的。所有包的下载地址可以参考:http://poptop.sourceforge.net/yum/stable/packages/

二、配置VPN服务器

1、编辑 /etc/pptpd.conf 文件,在最后追加以下内容:

debug
ppp /usr/sbin/pppd
option /etc/ppp/options.pptpd
localip 填写本机的IP地址
remoteip 

2、编辑 /etc/ppp/chap-secrets,这里增加VPN的帐号密码和允许连入的主机IP,如:

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
用户名          pptpd   密码                *
用户名         pptpd   密码               192.168.0.1
用户名         pptpd   密码               192.168.0.2

3、启动服务

service pptpd start

  启动之后,可以通过 netstat -ntpl 查看 1723 端口是否处于监听状态,pptpd 使用 1723 端口,所以防火墙注意打开此端口的相关权限。

4、设置NAT并打开Linux内核路由功能,如果不进行此操作,客户端能够连入VPN,但却不能上网。依次执行如下命令:

iptables -t nat -F
iptables -t nat -A POSTROUTING -s  -j SNAT --to 本机的IP地址
 > /proc/sys/net/ipv4/ip_forward

5、设置VPN的自动启动

  运行命令 ntsysv 设置即可。

6、关闭防火墙或执行以下命令:

iptables -I INPUT -p tcp --dport  -j ACCEPT
iptables -I INPUT -p tcp --dport  -j ACCEPT
iptables -I INPUT -p gre -j ACCEPT

7、速度测试

  http://www.cloudping.info/

三、一些问题

  搭建好VPN后,连接没有问题,但使用浏览器访问一些网站却打不开,但是可以ping通,可能是MTU的问题,当客户端连接到VPN后,服务器上会出现一个ppp0的网卡,可以通过 ifconfig 查看,使用命令:

/sbin/

  情况可能会有所好转,能够打开但是仍然打开非常慢。也有说执行如下语句的:

iptables -A FORWARD -p tcp --syn -s ./ -j TCPMSS --set-mss 

  参考:

http://www.linuxyan.com/linux-service/80.html

http://cache.baiducontent.com/c?m=9d78d513d98103e91abb837e7c01a6100e208a744ad7c7657ec0d408cd6b01070124f4ba543f0d5483846b6776f61400b7b66133200357eadb9d950c87fbc57b799f27427616854b05d36facdc4653c237902db3e946b9&p=8579c21a86cc42ae5c9fdb2d021488&newp=8d64c715d9c040ab18be9b7c5c56bb231610db2151d4d5113f&user=baidu&fm=sc&query=pptpd+%CD%F8%D2%B3&qid=bda5f203000137b6&p1=1

http://bbs.konotes.org/thread-4225-1-1.html

http://bbs.konotes.org/thread-4818-1-1.html

域名解析这块比较慢,可以编辑 /etc/ppp/options 添加Google的Public DNS:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

感觉情况有明显好转。

参考 http://blog.atime.me/note/pptpd.html#a55a9e

四、附录

  网上也有一键安装的脚本,如:

wget https://gist.github.com/raw/666241/e8f3030a9e7066b8deb0a3d9ec761360e2d94227/pptpd.sh

  但还没测试过。

LINUX下搭建VPN的更多相关文章

  1. Linux下搭建VPN服务器(CentOS、pptp)转

    先说我搭建过程中出现的问题吧: 按照 教程搭建好之后出现了619错误,查看日志:/var/log/messages: Nov 20 09:46:20 localhost pptpd[7498]: GR ...

  2. 转载-Linux下搭建VPN服务器(CentOS、pptp)

    转自:http://www.cnblogs.com/sixiweb/archive/2012/11/20/2778732.html 搭建过程参考这篇文章 先说我搭建过程中出现的问题吧: 按照 教程搭建 ...

  3. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  4. Linux下搭建个人网站

    前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站.前端采用了bootstrap框架,后端采用的是PHP,数据库使用的是Mysql.新手第一次在linux下搭建遇见很多问题,在这里分享一 ...

  5. Linux下搭建PHP环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  6. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  7. Java学习心得之 Linux下搭建JavaWeb环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...

  8. Ruby学习心得之 Linux下搭建Ruby环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...

  9. Linux下搭建Lotus Domino集群

    Linux下搭建Lotus Domino 集群 本文内容是Linux平台下Lotus Domino服务器部署案例(http://chenguang.blog.51cto.com/350944/1334 ...

随机推荐

  1. 【BZOJ-1497】最大获利 最大流

    1497: [NOI2006]最大获利 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 3800  Solved: 1848[Submit][Status] ...

  2. Matlab读入含有特殊分隔符的文件(textread)

    笔者在此基础上进行运行,修改得到以下内容,希望大家给与补充: textread 基本语法是: [A,B,C,…] = textread(filename,format) [A,B,C,…] = tex ...

  3. BZOJ1010 [HNOI2008]玩具装箱toy

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  4. AngularJs Angular数据类型判断

    angular.isArray 判断括号内的值是否为数组. 格式:angular.isArray(value); value: 被判断是否为数组的值. ------------------------ ...

  5. 请求servlet操作成功后,在JSP页面弹出提示框

    应用环境: 点击前台页面,执行某些操作.后台action/servlet 执行后,返回处理结果(成功.失败.原因.状态等)信息.在前台jsp进行弹窗显示,alert(); 后台处理代码:(把要提示的数 ...

  6. Beta版本冲刺第二天 12.6

    一.站立式会议照片: 二.项目燃尽图: 三.项目进展: 成 员 昨天完成任务 今天完成任务 第三天冲刺要做任务 问题困难 心得体会 胡泽善 完成了"记住密码"的的逻辑以及BUG修改 ...

  7. static静态变量的理解

    静态变量 类型说明符是static.静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间 ...

  8. document.execCommand 常用的方法

    execCommand方法是执行一个对当前文档,当前选择或者给出范围的命令.处理Html数据时常用如下格式: document.execCommand(sCommand[,交互方式, 动态参数]) , ...

  9. 忘记常访问网站密码怎么办?教你如何查看浏览器已保存的密码,如何简单查看Chome浏览器保存的密码?

    利用场景: 同事或朋友外出有事,电脑未锁屏离开座位.可以利用这一间隙,查看Ta在Chrome浏览器上保存的账号密码 查看逻辑: 当我们要查看Chrome浏览器上保存的密码时,点击显示,会弹出一个对话框 ...

  10. 《Java疯狂讲义》(第3版)学习笔记 2 - Java语言的运行机制

    内容 1.高级语言的运行机制 2.Java 语言的运行机制 1.高级语言的运行机制 高级语言主要分为编译型语言和解释型语言两类. 编译型语言是指使用专门的编译器.针对特定平台(操作系统)将高级语言源代 ...