Linux搭建pptp ***服务器

大家好,今天我要做的是一个使用linux搭建一个pptp的***服务器,使用客户端能够连接到***虚拟网络来实现互连,废话不多说了,下面是详细的安装步骤:(本实验采用的linux服务器是centos5.5)
       拓扑:

首先介绍一下这次的拓扑,本实验由于是模拟网络环境,所以使用的是一台xp、一台linux服务器和一台windows server2003,分别作为客户端、pptp服务器和路由。在以上拓扑中,Internet使用一台win2003作为路由来替代。

1.     准备安装实验包

[root@localhost Desktop]# ls
dkms-2.0.17.5-1.noarch.rpm               ppp-2.4.5-15.0.rhel5.i386.rpm
kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm pptpd-1.3.4-1.rhel5.1.i386.rpm
这是本次试验所用到的pptp相关的软件包
接下来安装

[root@localhost Desktop]# rpm -ivh dkms-2.0.17.5-1.noarch.rpm

warning: dkms-2.0.17.5-1.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 862a                                                                                        cc42

Preparing...                ########################################### [100%]

   1:dkms                   ########################################### [100%]

安装dkms成功

[root@localhost Desktop]# rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

warning: kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 862acc42

error: Failed dependencies:

        gcc is needed by kernel_ppp_mppe-1.0.2-3dkms.noarch

安装kernel_ppp_mppe提示有依赖gcc软件包,所以要先解决依赖问题

[root@localhost CentOS]# rpm -ivh gcc-4.1.2-48.el5.i386.rpm glibc-devel-2.5-49.i386.rpm libgomp-4.4.0-6.el5.i386.rpm glibc-headers-2.5-49.i386.rpm kernel-headers-2.6.18-194.el5.i386.rpm

warning: gcc-4.1.2-48.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

Preparing...                ########################################### [100%]

   1:libgomp                ########################################### [ 20%]

   2:kernel-headers         ########################################### [ 40%]

   3:glibc-headers          ########################################### [ 60%]

   4:glibc-devel            ########################################### [ 80%]

   5:gcc                    ########################################### [100%]

[root@localhost CentOS]#
安装gcc需要5个软件包,安装完毕,接下来再次安装kernel_ppp_mppe

[root@localhost Desktop]# rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

warning: kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 862acc42

Preparing...                ########################################### [100%]

   1:kernel_ppp_mppe        ########################################### [100%]

 

Creating symlink /var/lib/dkms/kernel_ppp_mppe/1.0.2/source ->

                 /usr/src/kernel_ppp_mppe-1.0.2

 
DKMS: add Completed.

Module build for the currently running kernel was skipped

since the kernel source for this kernel does not seem to be

installed.
[root@localhost Desktop]#
安装完毕
接下来安装ppp和pptpd服务包

[root@localhost Desktop]# rpm -ivh ppp-2.4.5-15.0.rhel5.i386.rpm

warning: ppp-2.4.5-15.0.rhel5.i386.rpm: Header V3 DSA signature: NOKEY, key ID b56a8bac

Preparing...                ########################################### [100%]

        file /usr/sbin/chat from install of ppp-2.4.5-15.0.rhel5.i386 conflicts with file from package ppp-2.4.4-2.el5.i386

        file /usr/sbin/pppd from install of ppp-2.4.5-15.0.rhel5.i386 conflicts with file from package ppp-2.4.4-2.el5.i386

        file /usr/sbin/pppdump from install of ppp-2.4.5-15.0.rhel5.i386 conflicts with file from package ppp-2.4.4-2.el5.i386

        file /usr/sbin/pppoe-discovery from install of ppp-2.4.5-15.0.rhel5.i386 conflicts with file from package ppp-2.4.4-2.el5.i386

        file /usr/sbin/pppstats from install of ppp-2.4.5-15.0.rhel5.i386 conflicts with file from package ppp-2.4.4-2.el5.i386

        file /usr/share/man/man8/chat.8.gz from install of ppp-2.4.5-15.0.rhel5.i386 conflicts with file from package ppp-2.4.4-2.el5.i386

        file /usr/share/man/man8/pppd.8.gz from install of ppp-2.4.5-15.0.rhel5.i386 conflicts with file from package ppp-2.4.4-2.el5.i386

[root@localhost Desktop]# rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm

warning: pptpd-1.3.4-1.rhel5.1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 862acc42

Preparing...                ########################################### [100%]

   1:pptpd                  ########################################### [100%]

[root@localhost Desktop]#
安装成功。到此,所需要的软件包已经安装完毕

2.     下面开始修改配置文件

[root@localhost Desktop]# vi /etc/pptpd.conf
#localip 192.168.0.1
#remoteip 192.168.0.234-238,192.168.0.245
# or
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245
修改为
localip 172.16.4.6
remoteip 192.168.0.234-238,192.168.0.245
# or
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245
Localip 后面要改为你服务的ip
Remoteip后面改为你分配给***用户的ip段
使用命令开启服务
[root@localhost Desktop]# service pptpd start
Starting pptpd:                                             [确定]
[root@localhost Desktop]#
关闭命令:service pptpd stop
这时你编辑***用户的密码资料等都是实时生效的。
给服务器添加用户
[root@localhost Desktop]# vim /etc/ppp/chap-secrets
在最下面插入新行
写法:
用户名        服务名        密码      ip
例如:
wuli       pptpd   testpasswd       192.168.0.234
此时用户就可以登录***服务器了,分配的ip地址只有192.168.0.234这一个,也就是说只能一个人同时使用。
如果想多人同时使用,,可以将192.168.0.234改为*
这样就不限制这个帐户的使用人数了(同时登录的人数还取决于pptpd服务器的设置,默认40个)
现在***可以连接了
连接之后如果需要用户上网,还需要设置NAT,ip转发
在linux服务器上使用iptables,如下:
iptables -t nat -F

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 172.16.4.6

上面的192.168.0.0替换成你要分配给用户的***内网ip段,
172.16.4.6替换为你的***服务器ip(与pptpd.conf的localip一样)
       3.测试
找一台xp来作为客户端,添加一个连接

点击“连接”按钮,出现下面如图

可以看出创建的连接已经成功连上,使用ipconfig命令看一下客户端的ip地址为

多了一个为192.168.0.234的ip,此ip就是连接***服务器时获取的ip地址,然后我们在linux服务器上看一下pptp的服务进程

到此我们的实验已经结束。