CentOS 6.x 快速安装PPTP ×××

一、简介

    本文介绍在CentOS操作系统如何搭建PPTP ×××服务。包括PPTP的安装、配置,以及相应的iptables规则。本文暂时不涉及PPTP流量控制的部分,等抽空学明白了FreeRADIUS,再来写续篇。

   之所以选择PPTP ×××,是考虑到客户端连接起来会比较方便。Linux Desktop、Windows还有Android这些终端原生都有连接PPTP的客户端。

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

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

安装所需的软件包

配置PPP和PPTP的配置文件

打开内核的IP转发功能

启动pptpd守护进程

配置iptables防火墙放行和转发规则

   下面的所有配置操作都需要root权限,如无特别说明,所有命令都在root的家目录下执行。

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

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

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

2、安装所需的软件包

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

  yum install pptpd -y

3、配置PPP和PPTP的配置文件

    这个文件需要配置的不多,我们只需加上dns即可。

vim /etc/ppp/options.pptpd

ms-dns 8.8.8.8

ms-dns 8.8.4.4

  接下来修改另一个,存储着用户账户的文件,这个文件非常简单,其中用明文存储×××客户的用户名、服务名称、密码和IP地址范围,每行一个账户:

vim /etc/ppp/chap-secrets

username1    pptpd    passwd1    *

username2    pptpd    passwd2    *

    其中第一第三列分别是用户名和密码;第二列应该和上面的文件/etc/ppp/options.pptpd中name后指定的服务名称一致;最后一列限制客户端IP地址,星号表示没有限制。

    下面编辑pptpd的配置文件,这个文件中有效的行也很少。

vim /etc/pptpd.conf

option /etc/ppp/options.pptpd    #指定使用/etc/ppp/options.pptpd中的配置

logwtmp                          #表示使用WTMP日志

localip 192.168.0.1              #×××本地内网IP地址

remoteip 192.168.0.207-217       #给×××客户端分配的IP段

4、打开内核的IP转发功能

    要使×××服务器可以作为网络请求的中转代理,能够使客户端通过×××访问Internet,还需要开启内核的IP转发功能,如果要永久生效可以修改配置文件sysctl.conf

echo 1 >/proc/sys/net/ipv4/ip_forward

5、启动pptpd守护进程

service pptpd start

6、配置iptables防火墙放行和转发规则

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

  上述的IP段192.168.0.1/24需要修改成/etc/pptp.conf中你配置的localip和remoteip所在地IP段。

service iptables save


安全建议

   ×××与网站放在一起,可能不安全。他们建议我为VPS增加一个IP,可以让×××服务和Web走不同的IP,这样就不会因为Web网站发表的内容轻易暴露×××服务器的IP了。



此出处http://wangzan18.blog.51cto.com/8021085/1735374