VPN虚拟专用网络
虚拟专用网络(VPN)是在公用网络上建立专用网络,并进行加密通讯,在企业网络中被广泛使用,VPN网管通过对数据包的加密和数据包目标地址转换实现远程访问
常见的VPN软件介绍
GRE VPN:传统路由封装协议,GRE是Linux内核自带的VPN技术,用于Linux与Linux系统之间进行数据传输,不支持与windows数据传递
PPTP VPN:点对点隧道协议,PPTP支持与windows和Linux系统之间数据传递,默认不支持加密功能
L2TP+IPSec VPN:标准隧道协议,L2TP支持与windows系统之间数据传递,并可通过IPSec进行数据加密传递
L2TP+IPSec环境部署
1.安装libreswan软件包(提供IPSec加密认证)
[root@localhost ~]# yum -y install libreswan
2.将密钥认证文件拷贝/etc/ipsec.d/目录下,并修改参数
[root@localhost ~]# vim /etc/ipsec.d/myipsec.conf
conn IDC-PSK-NAT
rightsubnet=vhost:%priv #隧道可以使用的IP地址
also=IDC-PSK-noNAT
also=IDC-PSK-noNAT
conn IDC-PSK-noNAT
conn IDC-PSK-NAT
rightsubnet=vhost:%priv
also=IDC-PSK-noNAT
conn IDC-PSK-noNAT
authby=secret #开启连接加密认证
ike=3des-sha1;modp1024 #认证算法
phase2alg=aes256-sha1;modp2048 #认证算法
pfs=no
auto=add
keyingtries=3
rekey=no
ikelifetime=8h
keylife=3h
type=transport
left=47.74.36.212 #VPN服务器公网IP地址
leftprotoport=17/1701
right=%any
rightprotoport=17/%any
3.创建IPSec预共享密钥文件
[root@localhost ~]# vim /etc/ipsec.d/mypass.secrets
47.74.36.212 %any: PSK "xxoo"
VPN服务器地址 允许任何人连接 预共享密钥 密码
4.启动服务&服务随机自启
[root@localhost ~]# systemctl start ipsec
[root@localhost ~]# systemctl enable ipsec
5.查看服务进程信息
[root@localhost ~]# ss -antlpu | grep pluto
udp UNCONN 0 0 127.0.0.1:4500
udp UNCONN 0 0 127.0.0.1:500
xl2tpd环境部署
1.安装xl2tpd软件包
[root@localhost ~]# yum -y install xl2tpd
2.打开xl2tpd主配置文件
[root@localhost ~]# vim /etc/xl2tpd/xl2tpd.conf
[lns default]
ip range = 172.16.0.1-172.16.0.10 #分配给客户端IP地址范围
local ip = 47.74.36.212 #VPN服务器公网IP地址
3.修改xl2tpd认证文件
[root@localhost ~]# vim /etc/ppp/options.xl2tpd
ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.8.8
ms-dns 114.114.114.114 #修改分配客户端的dns地址
# ms-dns 192.168.1.1
# ms-dns 192.168.1.3
# ms-wins 192.168.1.2
# ms-wins 192.168.1.4
noccp
auth
require-mschap-v2 #手动添加,连接VPN服务器要求强制认证
#obsolete: crtscts
4.添加认证用户
[root@localhost ~]# vim /etc/ppp/chap-secrets
lisi * 123456 *
#连接用户名,服务器地址,用户的连接密码,客户端IP(*所有客户端都可以连接)
5.启动xl2tpd服务&随机自启
[root@localhost ~]# systemctl start xl2tpd
[root@localhost ~]# systemctl enable xl2tpd
6.查看服务进程信息
[root@localhost ~]# ss -anptul | grep xl2tpd
udp UNCONN 0 0 *:1701
7.开启路由转发功能
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward