首页 > 系统 > Linux > 正文

详解Linux下搭建VPN服务器(CentOS、pptp)

2019-11-02 16:43:58
字体:
来源:转载
供稿:网友

本文介绍在安装CentOS操作系统的Xen VPS上,如何搭建PPTP VPN服务。包括PPTP的安装、配置,以及相应的iptables规则。本文暂时不涉及PPTP流量控制的部分,等抽空学明白了FreeRADIUS,再来写续篇。2011年7月20日更新:在安全建议这一部分,增加了使用不同的IP地址,分别提供VPN服务和Web等其他常规服务,以及使用不同IP地址时如何书写iptables规则的内容。

写在前面

在Godaddy一美元COM域名的怂恿下,这几天先是拿到了这个gnailuy.com,然后觊觎了很久的VPS也就顺便到手了。所以说万事嘛,总是要有个开端。

按照之前的构想,下个月起这个VPS将由我和几个好朋友合租,配置虚拟主机,各自建立自己的小网站,还能合用VPS上的VPN服务。从成本上考虑,只要有些钻研技术的精神,加上几个志同道合的朋友,合租一台不太高端的VPS自建服务器,应该还是低于同时购买域名、Web托管以及VPN这几样的成本之和的。这是第一个月,我们会先熟悉熟悉技术,做做各种测试,多学习多发些技术文章,供有同样想法的朋友们借鉴。

正文

在Google苦海里游了两天两夜,终于完成了PPTP VPN还有这个Wordpress小站的基本配置,今天先写一下VPN。这些天因为嫌Google中文首页太丑,搜索资料的时候大都是用英文,本来也打算用英文写这篇文章,但考虑到下面两个原因,于是作罢:一是到自己这英语写作能力,实在不济;二是可能热衷于搭建VPN的个人或者团体,大概也许基本都是在中国大陆上网的吧,o(∩∩)o…

之所以选择PPTP VPN,是考虑到客户端连接起来会比较方便。我们几个人主要都是在Linux Desktop、Windows还有Android上使用VPN,这些终端原生都有连接PPTP的客户端。当然还有一个原因,就是我们购买的VPS是基于Xen PV技术的,可以搭建PPTP。这个原因本来其实是结果,当初要买基于Xen PV的而不是OpenVZ的,就是因为打算在上面搭建PPTP服务。BTW,Xen PV是种半虚拟化技术,不能跑Windows,但据说比全虚拟化的Xen HVM跑Linux效率高。

平台简介

“硬”件平台:Xen PV, 215M Memory, 512M Swap, 1T Transfer 操作系统:CentOS release 5.6 (Final) 内核:2.6.18-194.32.1.el5xen i686 i386 GNU/Linux 网络:1 IP, 1 Network Adapter(eth0)

配置概览

PPTP的配置主要有下面五个步骤:

验证内核是否加载了MPPE模块 安装所需的软件包 配置PPP和PPTP的配置文件 打开内核的IP转发功能 启动pptpd守护进程 配置iptables防火墙放行和转发规则

详细步骤

开机以后,首先是登录VPS。我平时用Linux,就直接ssh命令登录上去。如果是在Winodws下,推荐使用PuTTY,有一点需要注意,就是连接之前最好把字符集设置成UTF-8,因为Linux默认的locale都是UTF-8了,如果出现非ASCII字符,不设置字符集就会出现乱码,具体的设置方法Google知道。

下面的所有配置操作都需要root权限,如无特别说明,所有命令都在root的家目录下执行。顺便,最好在VPS上禁用root直接登录,尽量建立一个普通用户然后su到root,具体细节偏题了,也请自行Google。

1、验证内核是否加载了MPPE模块:

内核的MPPE模块用于支持Microsoft Point-to-Point Encryption。Windows自带的VPN客户端就是使用这种加密方式,主流的Linux Desktop也都有MPPE支持。其实到了我们这个内核版本,默认就已经加载了MPPE,只需要使用下面命令验证一下,显示MPPE ok即可:

modprobe ppp-compress-18 && echo MPPE is ok

2、安装所需的软件包:

ppp

PPTP使用PPP协议对用户数据进行封装,然后将PPP数据帧封装在IP数据报里,经由IP网络传播。因此首先需要支持PPP协议,我们使用的完整版CentOS已经自带了ppp这个软件包,如果你安装的是Minial CentOS之类的精简系统,则可能需要下面命令安装ppp:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表