linux配置vpn服务器

使用linux搭建一个pptp的vpn服务器,使用客户端能够连接到vpn虚拟网络来实现互连,废话不多说了,下面是详细的安装步骤:(本实验采用的linux服务器是centos5.5)
首先介绍一下这次的拓扑,本实验由于是模拟网络环境,所以使用的是一台xp、一台linux服务器和一台windows server2003,分别作为客户端、pptp服务器和路由。在以上拓扑中,Internet使用一台win2003作为路由来替代。
拓扑:
1
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后面改为你分配给vpn用户的ip段
使用命令开启服务
[root@localhost Desktop]# service pptpd start
Starting pptpd: [确定]
[root@localhost Desktop]#
关闭命令:service pptpd stop
这时你编辑vpn用户的密码资料等都是实时生效的。
给服务器添加用户
[root@localhost Desktop]# vim /etc/ppp/chap-secrets
在最下面插入新行
写法:
用户名 服务名 密码 ip
例如:
wuli pptpd testpasswd 192.168.0.234
此时用户就可以登录vpn服务器了,分配的ip地址只有192.168.0.234这一个,也就是说只能一个人同时使用。
如果想多人同时使用,,可以将192.168.0.234改为*
这样就不限制这个帐户的使用人数了(同时登录的人数还取决于pptpd服务器的设置,默认40个)
现在vpn可以连接了
连接之后如果需要用户上网,还需要设置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替换成你要分配给用户的vpn内网ip段,
172.16.4.6替换为你的vpn服务器ip(与pptpd.conf的localip一样)
3.测试
找一台xp来作为客户端,添加一个连接
2
点击“连接”按钮,出现下面如图
3
可以看出创建的连接已经成功连上,使用ipconfig命令看一下客户端的ip地址为
4
多了一个为192.168.0.234的ip,此ip就是连接vpn服务器时获取的ip地址,然后我们在linux服务器上看一下pptp的服务进程
5

发表评论

电子邮件地址不会被公开。 必填项已用*标注