转载需注明原文地址 http://mushapi.com/vpn-server-on-linux.html
最近google封锁的愈发严实了,所以不得不考虑弄个常备的VPN了。之前也用过买的vpn但是我用的那家vpn的官网也被封锁了,所以只能自己动手喽~本文是我安装完成后根据记忆写的,可能有不准确的地方,欢迎留言告诉我。
一、安装所需软件
在linux上搭建一个vpn server需要有iptables、ppp、pptpd。其中iptables和ppp可以直接通过yum安装。
1 |
|
至于pptpd就比较复杂了,可以从http://sourceforge.net/projects/poptop/files/ 下载,我使用的是1.3.4版的。
下载之后解压,在其目录下进行configure然后在make和install
1 2 3 |
|
安装完成后到/usr/local/pptpd/sbin下把pptpd复制到/etc/init.d下面,然后安装就算是完成了。
二、配置
1、options.pptpd
在/etc下创建一个options.pptpd,填入如下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
说明:
name IsMole-VPN ———— pptpd server 的名称。
refuse-pap ———— 拒绝 pap 身份验证模式。
refuse-chap ———— 拒绝 chap 身份验证模式。
refuse-mschap ———— 拒绝 mschap 身份验证模式。
require-mschap-v2 ———— 在端点进行连接握手时需要使用微软的 mschap-v2 进行自身验证。
require-mppe-128 ———— MPPE 模块使用 128 位加密。
ms-dns 8.8.8.8
ms-dns 8.8.4.4 ———— ppp 为 Windows 客户端提供 DNS 服务器 IP 地址,第一个 ms-dns 为 DNS Master,第二个为 DNS Slave。
proxyarp ———— 建立 ARP 代理键值。
debug ———— 开启调试模式,相关信息同样记录在 /var/logs/message 中。
lock ———— 锁定客户端 PTY 设备文件。
nobsdcomp ———— 禁用 BSD 压缩模式。
novj
novjccomp ———— 禁用 Van Jacobson 压缩模式。
nologfd ———— 禁止将错误信息记录到标准错误输出设备(stderr)。
2、pptpd.conf
然后配置/etc/pptpd.conf
1 2 3 4 5 6 |
|
其中需要说明的是localip和remoteip,前者是给本机的ip,后者是分配给通过客户端接入vpn的客户端的ip段。
3、添加账号
配置好上面的两个文件后,我们开始添加客户端帐号。客户端帐号控制文件位于:/etc/ppp/chap-secrets。填入如下内容
1 2 3 |
|
注意:其中ip可以是*或者是一个指定的ip,如果是*的话,则表示这个账号可以同时登陆多个终端,如果是一个ip的话则表示它只能从一处登陆。
4、开启ip转发和配置iptables
1 2 3 4 5 |
|
至此vpn已经配置完成,可以通过service pptpd start启动测试,如果不能使用的话可以在/var/log/message中找到错误信息,分析错误信息总是能找到产生异常的原因的。
Linux下搭建VPN服务