最近冠状病毒疫情严重,很多公司都延迟上班时间,采取远程/在家办公的方式进行工作,但是有些部署在公司内部系统的测试服务,在家办公人员是无法直接访问公司内部服务的,导致不能正常进行工作。防御吧小编就跟大家分享一下我们是如何解决这个问题的,希望可以给同样在家办公也遇到这种问题的同学起到一点参考作用。
分析思路:
1、搭建VPN来完成上面工作,方案有两种,分别为(pptp、l2tp)。在测试过程中,发现pptp方案,不能通过,端口直接被封掉了,更换端口也不行。只能采用l2tp方案。
2、如果上述两种方案都不能通过,最差的办法:采取端口映射方法,把内网端口全部映射到外网来(操作有点繁琐)。这样在外地办公人员就可以直接访问上面的服务了,安全性没有VPN好。
目前公司现场环境是:
1、公司无外网IP地址,公网IP地址是变动的。
2、需要访问的内部服务器,大概为6台
3、有一台云主机有公网IP ,可以利用这台机器公网,把公司内网IP映射到外网来。
4、提供一台内网LINUX主机,用于测试
一、L2TP具体实施方法一
1、在云服务器公网机器部署frp软件,提供转发至内网机器功能
2、在公司内网机器,部署VPN-l2tp方法
经过部署完成发现不能正常拨号,如有同学知道原因,欢迎私下交流沟通哦。
二、L2TP具体实施方法二
1、 云机器部署FRP软件,提供端口转发功能
2、 云主机部署l2tp
3、公司内网机器,部署L2TP-VPN方法
4、云防火墙需要开启(开通UDP,500,4500,1701)
三、部署L2TP
1、下载安装脚本
wget https://raw.githubusercontent.com/hwdsl2/setup-ipsec-vpn/master/vpnsetup_centos.sh
2、修改配置文件:下载后打开编辑前面的三个配置项
3、执行vpnsetup_centos.sh脚本
./vpnsetup_centos.sh
备注:防火墙的配置因为我这边云平台web管理本身做了防火墙管理
4、各平台vpn连接配置
https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients-zh.md
5、启停服务命令
systemctl restart ipsec
systemctl restart xl2tpd
四、客户端配置部署,拨号
拨号账号就是上面填写的那个:
1、windows拨号
2、centos 拨号
yum -y install epel-release
yum --enablerepo=epel -y install strongswan xl2tpd
2.1 配置 strongSwan:
2.2 配置ipsec
cat > /etc/ipsec.secrets <<EOF
: PSK "xxxvpn"
EOF
2.3 授权
2.4 配置 xl2tpd
2.5 授权
chmod 600 /etc/ppp/options.l2tpd.client
至此 VPN 客户端配置已完成。按照下面的步骤进行连接。
2.6 注意:当你每次尝试连接到 VPN 时,必须重复下面的所有步骤
3、windows服务器和Linux服务器,拨号成功后,发现内网不互通的话,需要添加默认路由
在Linux机器上添加默认路由
route add -net 192.168.42.0 netmask 255.255.255.0 gw 192.168.42.1