由于公司业务需求,需要搭建vpn服务器以供外部用户传送数据,所以需要采用客户端到网关的方式的VPN。VPN服务器的类型很多,如IPSec、L2TP、PPTP、SSLVPN、OPENVPN等,考虑到安全稳定性的因素,专业的vpn设备肯定是首要选择,并且考虑到客户端可能存在windows和linux的环境,L2TP和PPTP无疑是最佳的选择(IPSec,由于我们专业的vpn设备没有提供linux客户端,而sslvpn 需要通过浏览器访问,openvpn是开源软件,详细的vpn比较大家可以百度一下,这里不再累述),而我这里以pptp配置为例,详细的介绍下搭建的过程,L2TP的搭建与pptp类似,这里不再介绍。
一、环境介绍
vpn设备使用防火墙设备提供。
客户端测试:一台windows 7 和一台redhat 7 机器
二、pptp服务器环境搭建
以下配置均在防火墙上配置:
a、 pptp基本配置:
b. 添加pptp用户
c.防火墙放行172.21.0.0/24 -any 访问权限
三、客户端测试
a. windows 7 测试
系统自带的拨号工具即可拨号,详细过程省略,这里需要说明一下就是在拨号过程中发现的一个问题:使用同一台电脑,使用家里的网络可以拨号成功,但是使用公司的网络拨号失败,这个原因也困扰我一个星期左右,最终还是咨询防火墙专业人士才知道,是由于我们公司防火墙的原因,由于我们公司上网都是通过nat的方式,而我们防火墙的设备比较旧,不支持pptp nat穿透,所以会有此问题,只要是新一代防火墙都不会存在此问题。
b. linux 7 测试
此处使用redhat 7 进行配置
1.安装客户端软件包:
挂载光盘,配置yum源,安装对应的软件包
参考命令:
ls -l /dev/ | grep cdrom
mount /de/cdrom /mnt
vim /etc/yum.repos.d/aa.repo
[dvd]
name=dvd
baseurl=file:///var/ftp/dvd
enable=1
gpgcheck=0
yum clean all
yum makecahce
yum install -y ppp pptp pptp-setup
报错:不存pptp-setup软件包,所以需要重新配置yum源,从网络安装
我这里使用阿里云的yum仓库,具体配置如下
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum list
yum install -y pptp-setup
测试连接: pptpsetup --create vpn --server 123.456.78.90 --username sun --password 123456 --start(不要加--encrypt参数,不然容易连接失败)
看到如下信息表示连接成功,当然在公司网络中连接是不成功,这个还需要我们更新防火墙才行,在其他环境中都是可以的
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
EAP: Identity prompt "Name"
EAP: Identity prompt "Name"
EAP authentication succeeded
local IP address 172.21.0.4
remote IP address 180.1.60.200