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

拓扑:


1

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

1.     准备安装实验包

PPTPD会依赖以下的包:


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相关的软件包


1、接下来安装


# yum -y install ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/x86_64/RPMS/dkms-2.0.17.5-1.el5.kb.noarch.rpm


# yum -y install ftp://ftp.pbone.net/mirror/ftp.sourceforge.net/pub/sourceforge/h/ho/hostable/centos6/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm


# yum -y install ppp pptp

# yum -y install gcc*


或单独下载后使用rpm -ivh ****包名 进行安装,如下图:


[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


安装kernel_ppp_mppe提示有依赖gcc软件包,所以要先解决依赖问题,刚才已经yum 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%]

 


安装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


安装完毕


接下来安装ppp和pptpd服务包

# yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/pptpd-1.4.0-3.el6.x86_64.rpm


[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


关闭命令: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来作为客户端,添加一个连接

2

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

3

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

4

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

5

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