一, VPN的概述
环境:
1,GRE VPN---->linux和linux建立的vpn(linux+linux)
eth0---eth3--------------------eth3---eth0
第一种:GRE VPN(linux之间)
VPN服务端:(201.1.2.5)(两边操作几乎相同)
1)启用GRE模块
#ping 201.1.2.10
#lsmod //显示模块列表
#lsmod | grep ip_gre //确定是否加载了gre模块
#modproba ip_gre //加载模块
#modinfo ip_gre //查看模块信息
2)创建VPN隧道
#ip tunnel add tun0 mode gre remote 201.1.2.10 local 201.1.2.5
//ip tunnel add创建隧道(隧道名称为tun0),ip tunnel help可以查看帮助
//mode设置隧道使用gre模式
//local后面跟本机的IP地址,remote后面是与其他主机建立隧道的对方IP地址
3)启用该隧道(和网卡的up一样)
#ip link show
#ip link set tun0 up
#ip link show
4)为VPN隧道配置IP
#ip addr add 10.10.10.5/24 peer 10.10.10.10/24 dev tun0
#ip addr show
#echo "1" > /proc/sys/net/ipv4/ip_forward //开启路由转发
PC客户端:(201.1.2.10)
#lsmod | grep ip_gre
#modprobe ip_gre
#ip tunnel add tun0 mode gre remote 201.1.2.5 local 201.1.2.10
#link show
#ip link set tun0 up
#ip link show
#ip addr add 10.10.10.10 peer 101.10.10.5/24 dev tun0
#ip addr show
测试连通性
#ping 10.10.10.5
===============gre vpn完工=============================================================
概述
第二种:PPTP VPN(linux和windows)
1),安装软件包
#cd /lnmp_soft/vpn/
#rpm -ivh pptpd-1.4.0-2.el7.x86_64.rpm (自己下载包)
#rpm -qc pptpd //查看文件目录
2)修改配置文件
#vim /etc/pptpd.conf
105 localip 201.1.2.200
106 remoteip 192.168.1.1-50,192.168.1.80
#vim /etc/ppp/options.pptpd
40 require-mppe-128
68 ms-dns 8.8.8.8
#vim /etc/ppp/chap-secrets
zl * 112233 *
jaboc * 123456 *
#echo "1" > /proc/sys/net/ipv4/ip_forward //开启路由转发
#systemctl restart pptpd
#systemctl enable pptpd
#netstat -anutlp | grep pptpd
翻墙设置:
# iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT --to-source 201.1.2.200 //将私网IP转化为公网ip
windows客户端:输用户名,密码直接连接OK了。
windows上连接----------拨号模式的方式连接201.1.2.5,VPN通道完成。
测试:ping 192.168.3.1
ping 201.1.2.5
==============PPTP VPN设置完===================================================================
第三种:L2TP+IPSec VPN(Linux和windows) 加密更好(ipsec)
概述
1),安装软件包
#yum -y install libreswan
2),新建IPSec密钥验证配置文件
#cat /etc/ipsec.secrets //看一下该主配置文件
- ~]# vim /etc/ipsec.d/myipsec.conf
- //新建该文件,参考lnmp_soft/vpn/myipsec.conf
- conn IDC-PSK-NAT
- rightsubnet=vhost:%priv //允许建立的VPN虚拟网络
- 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=201.1.2.10 //重要,服务器本机的外网IP
- leftprotoport=17/1701
- right=%any //允许任何客户端连接
- rightprotoport=17/%any
3),创建IPSec预定义共享密钥
#vim /etc/ipsec.d/mypass.secrets(新建该文件)
201.1.2.100 %any: PSK "randpass" //randpass为预共享密钥
4)启动IPsec服务
#systemctl start ipsec
#netstat -autlp | grep pluto
安装xl2tpd软件包
#yum localinstall /lnmp_soft/vpn/xl2tpd-1.3.8-2.el7.x86_64.rpm (自己下载xl2tpd包)
修改xl2tpd配置文件(3个配置文件)
#vim /etc/xl2tpd/xl2tpd.conf
32 ip range = 192.168.3.50-192.168.3.100
33 local ip = 201.1.2.100
#vim /etc/ppp/options.xl2tpd
10 #crtscts
16 #lock
21 require-mschap-v2 //强行要求认证
#vim /etc/ppp/chap-secrets
zl * 112233 *
jacob * 123456 *
启动服务
# systemctl start xl2tpd
# netstat -ntulp |grep xl2tpd
设置路由转发,防火墙
#echo "1" > /proc/sys/net/ipv4/ip_forward
#iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT --to-source 201.1.2.100
翻墙设置(非必要设置)
# iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT --to-source 201.1.2.10
==============xL2TP IPSec VPN 完工=================
问题现象: