基于ovz架构的vps搭建vpn第一弹(pptp)

起因:

也折腾了好久这个,究竟是为什么呢? 就是有些时候不知道那里连外网就连不上了,装个东西都被防火墙拦住,找谁说理去,就是一个软件而已.

行动:

教程是挺多的,但是到自己这里总是出现奇奇怪怪的问题,究竟是为什么呢? 手贱呗,不折腾好不舒服斯基. 说回正题, 其实为什说:“光说不练假把式, 光练不说傻把式”, 用在技术上也是有道理的. 废话完毕~~~

需要些什么呢?

  1. 国外的 vps, 乞丐版(基于ovz平台的), 土豪版(基于kvm和xen). 我的建议是有钱就上 土豪的, 这样的话都舒服. 没钱的ovz, 不是那么舒服.

  2. 终端软件了,比如 putty之类的, 可以远程ssh到vps上的.

  3. 基本的命令行操作: vim编辑器的使用等等

  4. 基本的搜索能力,不管是百毒还是其他了,能够安装一下软件,最好是进到官网下载,以免被流氓软件骚扰.

下面开始操练起来:

先更新下系统:

1
2
3
apt-get update && apt-get dist-upgrade ## 这里说一下, 我这边是基于ubuntu server 14.04 lts 的
reboot ## 更新完重启一下, 没有root权限的记得加sudo啊

这个是如果你以前安装了,但是出了问题你可以先卸载:

1
2
3
apt-get --purge remove pptpd ppp
rm -rf /etc/pptpd.conf
rm -rf /etc/ppp

安装阶段:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
## 验证一下是否支持ppp,一般不支持的都可以通过你买vps时,商家给你提供的web控制面板来打开.
cat /dev/ppp
### 输出以下信息证明是支持的
cat: /dev/ppp: No such device or address
### 安装服务器端主程序:
apt-get install pptpd
### 开始编辑配置文件:
vim /etc/pptpd.conf
### 输入大写的G,跳到配置文件的最后一行,然后输入小写的o, 输入以下内容:
localip xxx.xxx.xxx.xxx ### 这里的xxx换成你自己的服务器ip
remoteip yyy.yyy.yyy.yyy ### 这里的yyy换成你本地机器的ip,就是你在用的实体机器不管是mac还是Windows等系统,举个例子: 假如你的本地ip 是 192.168.1.5好了, 那么这个yyy可以替换成 192.168.1.4-254, 为什么是4不是5, 其实我也搞不懂.
### 按esc键 输入 :wq 保存退出
### 下面开始配置/etc/ppp/pptpd-options,这个怎么编辑和保存我就不说了,还是那句话,基本的搜索能力要具备的,在最底部加入:
ms-dns 208.67.222.222
ms-dns 208.67.220.220
这个其实是让我们本地的电脑可以通过dns找到我们的服务器, dns我用的是opendns, 谷歌的貌似已经被拦住了,你可以ping一下8.8.8.8做个测试
### 开始配置客户端登录认证文件: /etc/ppp/pap-secrets 客户端授权认证连接遵循以下语法:
### username<tab>*<tab> userpassword<tab>*
例如:
foo * bar *
其中foo为设置的用户名, bar为设置的密码
### 编辑/etc/ppp/ip-up 在文件最底部加入:
ifconfig $1 mtu 1400
### 设置pptp通过 iptables 防火墙:
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source vpsip ### vpsip代表你的服务器ip地址
iptables -I INPUT -p tcp --dport 1723 -j ACCEPT ### 开放端口
iptables -I INPUT -p gre -j ACCEPT
### 保存防火墙规则:
iptables-save ### 如果提示没有此命令,需要安装一下iptables, apt-get install iptables
### 重启pptpd 使配置生效:
service pptpd restart

小结:

看着命令挺多的, 其实复制黏贴挺快的, 网上也有一键脚本, 但是不是自己写的不放心, 有些会有奇怪的问题. 如果遇到问题, 最最最主要的是查看日志:

1
grep pptpd /var/log/syslog | tail -10

然后去搜索一下报错信息,基本都能找到答案, 其实这就是锻炼你的胆大心细, 问题处理多了 , 也就有自己的一套办法了.

好了,先到这里吧, 至于客户端的配置,我想就靠你自己了, 至于你操作过程中出现的解决不了的问题,可以留言反馈一下, 大家共同讨论, 兴许答案就出来了. 如果你对本文有任何出现的错误或疑问,还请指正, 感谢!!!

生活不止眼前的苟且,还有那片海