VPN is a great thing when you are forced to be stuck somewhere.

on ubuntu, you need to check out whether your system supports TUN/

我从这里等得到一些灵感http://www.hostloc.com/thread-33260-1-1.html 还有 http://www.jb51.net/os/Ubuntu/34821.html

但是这些都不适合我的系统。基本上都是centos,redhat之类的。所以决定整理一篇debian/ubuntu的。debian,全人类的免费系统。

这里用的是linuxmint/ubuntu/debian 衍生版的。比较喜欢debian

1.检查系统是否支持pptp/tun

cat /dev/ppp
cat: /dev/ppp: No such device or address
cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state

出现以上结果,代表支持。否则,要联系网络服务提供商了。

2.安装pptp等工具

sudo apt-get install pptpd iptables -y

3.配置pptp

1)文件 /etc/pptp.conf

取消注释

# localip 192.168.0.1

# remoteip 192.168.0.234-238,192.168.0.245

成为

localip 192.168.0.1

remoteip 192.168.0.234-238,192.168.0.245

(解释:这里是将设置一个类似于服务于VPN客户端的地址,以供客户端分配IP,这些IP是虚拟IP,跟VPS或者服务器的实际IP一定不要在同一组网内)

2)修改文件 /etc/ppp/pptpd-options (不同发行版不同,debian和redhat这里文件不一样,此例为debian)

mv /etc/ppp/pptpd-options /etc/ppp/pptpd-options.bak # 备份

然后,修改 文件 pptpd-options

  # ms-dns 192.168.0.1

  # ms-dns 192.168.0.2

改成

  ms-dns 8.8.8.8

  ms-dns 8.8.4.4

  require-mppe-128

注释掉,不采用这种加密方法

  # require-mppe-128

(上面采用的是谷歌的DNS地址,目的也是为了更大可能性的解析域名)

3).增加PPTP的VPN帐号

增加到文件 /etc/ppp/chap-secrets

用户名 pptpd 密码 *

类似于这样的

server的服务可以用* 来代替,IP * 表示自动分配

4)增加IPv4转发以及大量客户端登录选项

将文件 /etc/sysctl.conf 里的初始值设为

net.ipv4.ip_forward = 0

设为

net.ipv4.ip_forward = 1

net.ipv4.tcp_syncookies = 1

增加注释掉为,

# net.ipv4.tcp_syncookies = 1

而后,进行系统同步应用,

sysctl -p

5)设置端口转发

iptables -t nat -A POSTROUTING -s  -j SNAT --to-source 你的VPS的IP

上面的192.168.0.0/24 是由于之前设置localip 192.168.0.1 决定的。上面的意思是将所有内在的对192.168.0.1的访问都转发到VPS本身的IP去请求作答,从而达到了共享网络的目的。

注意,很多网上MASQUERADE的方法并不适用于openVZ 的VPS。因为,openvz的直接加载不了module。你会发现depmod iptables 出错。经过验证,上面的是給力可行的,适用于openvz的VPS也。

4.应用iptables

debian/ubuntu的包与redhat/centos的不一样,命令方法也不一样。这里是为debian的。

iptables-save > /etc/network/iptables # 保存iptables转发等设定

而后

iptables-apply # 应用iptables的转发

5.重启pptpd服务

pptpd restart

6.感受VPN服务

可以用手机登录VPN。

输入IP,用户名,密码,登录即可,时间长短不定。感觉舒服多了。成本来讲,低成本的VPS,既可以做测试用,又可以做VPN用,很不错的选择。ping值也许会高,鉴于在海外,所以拿来做VPN挺不错的。

还可以用电脑登录VPN。这里是电脑登录VPN的链接:http://www.2cto.com/os/201206/135291.html

工作,学习,娱乐离不开的东西~拓宽视野,体验不一样的人生~

VPN pptp on linuxmint13/ubuntu12.04/debian VPS的更多相关文章

  1. openbr on linuxmint13/ubuntu12.04/debian7 x64 facial recognition [Compile from source!!!]

    Openbr is a great project for facial detecting. System: linuxmint 13 x86_64 Face recognition,  motio ...

  2. iphone/ipad/iOS on Linux Debian7/ubuntu12.04/linuxmint13/ubuntu14.04 compiling from source

    The packages we need for ubuntu12.04 and its derived destros are: libimobiledevices, libplist, libus ...

  3. mono3.2和monodevelop4.0在ubuntu12.04上两天的苦战

    首先第一步是设置ubuntu server 12.04版更新源,推荐中科大的比较快:deb http://debian.ustc.edu.cn/ubuntu/ precise main multive ...

  4. ubuntu12.04下安卓编译环境搭建总结

    前言:      因为工作需要,经常要编译安卓下的动态库,公司有已经搭建好环境的服务器,但是第一自己想自己搭建一下了解一个整个过程,另外,公司的服务器也经常出现问 题,导致编译不了,所以就想自己搭建环 ...

  5. 32位Ubuntu12.04搭建Hadoop2.5.1完全分布式环境

    准备工作 1.准备安装环境: 4台PC,均安装32位Ubuntu12.04操作系统,统一用户名和密码 交换机1台 网线5根,4根分别用于PC与交换机相连,1根网线连接交换机和实验室网口 2.使用ifc ...

  6. 【转】 ubuntu12.04更新源

    原文网址:http://blog.chinaunix.net/uid-26404477-id-3382633.html 摘 要:本文列出ubuntu 12.04 LTS更新源列表,内容为网友整理,此处 ...

  7. ubuntu12.04 svn ssl错误

    1,ubuntu12.04 svn ssl错误提示: OPTIONS of '<url>': SSL handshake failed: SSL error: Key usage viol ...

  8. Ubuntu12.04安装R ,Rstudio, RHive

    环境: Ubuntu12.04 R-3.1.0 0.Ubuntu安装R官网的介绍 http://mirrors.ustc.edu.cn/CRAN/ Precise Pangolin (12.04; L ...

  9. Win7&Ubuntu12.04 双系统引导问题

    周末的时候手贱,重装系统,导致原来的ubuntu12.04和win7双系统的引导不见了,所以在此进行一下说明,如何修复. 1. win7和ubuntu12.04双系统引导修复 问题描述:    在重装 ...

随机推荐

  1. Facebook HHVM 和 Hack 手册----1.什么是Hack?

    什么是Hack? Hack 是一种基于HHVM(HipHop VM 是Facebook推出的用来执行PHP代码的虚拟机,它是一个PHP的JIT编译器,同时具有产生快速代码和即时编译的优点)的新型编程语 ...

  2. 高性能双端js模板---simplite

    simplite是一款js实现的模板引擎,它能够完成浏览器端js模版和node服务器端js模板的数据渲染,渲染性能达到引擎的极限. 渲染性能十分突出. 支持浏览器端和node服务器端模板渲染. 它简单 ...

  3. java之集合框架使用细节及常用方法

    集合类的由来:   对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定.  就使用集合容器进行存储. 集合特点: 1,用于存储对象的容器. 2,集合的长度是可变的. 3,集合中不可以存储基本 ...

  4. shell 批量压缩指定文件夹及子文件夹内图片

    shell 批量压缩指定文件夹及子文件夹内图片 用户上传的图片,一般都没有经过压缩,造成空间浪费.因此须要编写一个程序,查找文件夹及子文件夹的图片文件(jpg,gif,png),将大于某值的图片进行压 ...

  5. 验证(C#和正则表达式)

    原文:验证(C#和正则表达式) 我们经常会需要验证字符串的格式,比如密码长度范围.电子邮件格式.固定电话号码和手机号码格式等,这个时候我们经常会需要用到正则表达式.但是正则表达式用起来性能会低一点,所 ...

  6. 编程乐趣:C#获取日期所在周、月份第一和最后一天

    原文:编程乐趣:C#获取日期所在周.月份第一和最后一天 写了个小功能,需要用到以周为时间段,于是写了个获取周第一和最后一天的方法,获取月份的第一和最后一天就比较简单了.代码如下: public cla ...

  7. Android多画面幻灯片:ViewPager基础上,利用与PagerTabStrip出生缺陷(源代码)

    近期使用ViewPager.读了几个人说是不是很清晰的信息,干脆自己写demo总结下. 样例非常easy.Activity里有三个界面能够滑动.每个界面都有一个button并设置好了监听.PagerT ...

  8. 异步陷阱之IO

    异步陷阱之IO篇 很多教程和资料都强调流畅的用户体验需要异步来辅助,核心思想就是保证用户前端的交互永远有最高的优先级,让一切费时的逻辑通通放到后台,等到诸事完备,通知一下前端给个提示或者继续下一步.随 ...

  9. 将DataTable内容导出到Excel表格的两种方法

    方法一:循环DataTable单元格内容拼接字符串,利用StreamWriter的Write方法将字符串写入Excel文件中 这种方法很实现很简单.拼接字符串时,每个单元格之间添加'\t'(表示一个占 ...

  10. web中纯java获取配置文件中的数据

    /*********获取配置文件,但配置文件中的值改变,不会随着值的改变也获取的参数值改变**********/  /**   * 原因是因为,类装载,装载完后,不会再去装载了   * *///  I ...