LINUX下搭建VPN
一、准备
需要 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的更多相关文章
- Linux下搭建VPN服务器(CentOS、pptp)转
先说我搭建过程中出现的问题吧: 按照 教程搭建好之后出现了619错误,查看日志:/var/log/messages: Nov 20 09:46:20 localhost pptpd[7498]: GR ...
- 转载-Linux下搭建VPN服务器(CentOS、pptp)
转自:http://www.cnblogs.com/sixiweb/archive/2012/11/20/2778732.html 搭建过程参考这篇文章 先说我搭建过程中出现的问题吧: 按照 教程搭建 ...
- MongoDB学习笔记—Linux下搭建MongoDB环境
1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...
- Linux下搭建个人网站
前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站.前端采用了bootstrap框架,后端采用的是PHP,数据库使用的是Mysql.新手第一次在linux下搭建遇见很多问题,在这里分享一 ...
- Linux下搭建PHP环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- Java学习心得之 Linux下搭建Java环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...
- Java学习心得之 Linux下搭建JavaWeb环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...
- Ruby学习心得之 Linux下搭建Ruby环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...
- Linux下搭建Lotus Domino集群
Linux下搭建Lotus Domino 集群 本文内容是Linux平台下Lotus Domino服务器部署案例(http://chenguang.blog.51cto.com/350944/1334 ...
随机推荐
- exists的用法
今天突然看到之前自己写的一个代码 久久没想通为毛.. 看来笔记还是需要 exists可以代替子查询in 比in 更高效 默认是exists 查询中包含有数据则条件成立..否则没数据 select ...
- 主机宝(zhujibao) /a/apps/zhujibao/manager/apps/config/config.php no-password Login Vulnerabilities Based On Default cookie Verification From Default File
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 主机宝管理程序使用了CodeIgniter框架,要想在CodeIgnit ...
- CentOS 7.0 安装配置LAMP服务器方法(Apache+PHP+MariaDB)
一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: #停止firewall服务 sys ...
- Dword、LPSTR、LPWSTR、LPCSTR、LPCWSTR、LPTSTR、LPCTSTR
DWORD:本来被定义为unsigned long,DWORD的含义就是双字,一个字是2字节,双字就是32字节. 但是在C/C++中,经常会用到把一个指针转换成数字储存,然后再将其传唤为指针调用.那么 ...
- 【Beta版本】冲刺-Day4
队伍:606notconnected 会议时间:12月12日 目录 一.行与思 二.站立式会议图片 三.燃尽图 四.代码Check-in 一.行与思 张斯巍(433) 今日进展:协助队友完成界面的修改 ...
- 01C语言基础知识
C语言知识要点总结 1在C语言中,关系运算的结果为“真”,就返回1,"假"就返回0 printf("input value is %d" , 5 > 4) ...
- 通过rsync搭建一个远程备份系统(一)
前言 我公司是电子商务公司,全部是linux系统,每天的网站数都在增加,为了保证安全,需要建立一个远程容灾系统,将网站数据每天凌晨1点备份到远程服务器上,由于数据量大,每天进行进行增量备份,仅仅备份当 ...
- 各种编码UNICODE、UTF-8、ASCII学习笔记
本文转自csdn博客:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html ,感谢作者的分享 作者: 阮一峰 日期: ...
- html代码规范
HTML代码规范 我们知道,前端工程师入门容易,通过学习基本的HTML和CSS就能在浏览器上看到实际的效果,可是要写好的HTML,就不是那么容易了.这里将和大家分享HTML规范,希望大家读完之后都 ...
- 逐行读取txt文件
header("Content-type:text/html; charset=utf-8"); $handle = fopen('test.php', 'r') or die(' ...