【摘 要】疫情期间几乎所有学校都开设在线课堂,一方面学校内部的实习实习平台闲置,另一方面学生居家学习实验环境又不能满足要求。本文结合实际授课经验,给出一个方做一日方便高效的远程使用学校实训环境解决方案。
【关键词】内网穿透 虚拟化 实训平台
【中图分类号】TP393 【文献标识码】 A
一场突如其来的疫情,打乱了我们正常的教学计划。现场教学被无限延期,原本应用于培训和辅导的远程教学全面应用于全日志的各大中小学甚至是幼儿园教学。一时间老师都成了主播,各大在线直播平台也纷纷推出更适合师生互动的直播平台。据悉,为应对节后在线直播教学,钉钉紧急增加了10多万台服务器。
在线直播教学,充分利用互联网技术,通过文字、声音、视频互动,利用互联网的直观、快速,表现形式好、内容丰富、交互性强、地域不受限制等特点,增强教学活动的趣味性。这些直播平台对基础教育是非常不错的远程教学环境,但对大学的专业教育来说,仅有直播是远远不够的,因为还需要专业的实验实训环境。对于计算机专业的学生来说,一般的编程语言开发环境,学生家用电脑安装相关软件即可解决,但对于虚拟化技术和云计算的专业课程来说,家用电脑的硬件性能一般无法满足要求,特别是对内存的需求。而且在个人电脑安装存储诸多软件也不适合。开设的在线课程一多,不同任课老师有不同的专业软件需要学生安装,经常会使学生电脑无法正常运行甚至崩溃。
随着虚拟化技术在高校教学应用上的优势也越来越显著,各高校都有自己虚拟化技术实训室,基本上都是几台服务器组建的实训平台,一台入口服务器作为学生的实训登录入口。该实训平台环境的搭建详细方案见作者的另一文章,这里不再赘述。实训环境有了,关键的问题是如何让学生能够在家中远程使用学校的实训环境。由于实训平台的初建是为了现场教学,入口服务器的地址也是私有地址和本地域名。要实现从公网访问,常规的办法是经过一系列的审批,从学校的出口路由器上做映射,另类的办法就是采用内网穿透技术。
内网穿透就是突破NAT限制,使得在接入Internet的局域网外能够访问内部的电脑。简单来说就是将内网外网通过相应软件将隧道打通,让内网的数据让外网可以获取。基本原理就是通过软件将局域网A和局域网B用隧道软件打通,使得局域网A的PC可以访问局域网B的PC。对我们的远程实训平台来说,就是使学生可以在家庭局域网内访问学校局域网内的实训服务器。如右图所示。这里关键的技术就是服务器C,根据服务器C采用的技术不同,方案也有所不同。
穿透原理大致可以分为如下几类:
无公网IP方案:如果自己没有公网IP,这里的服务器C需要使用内网穿透服务商提供的隧道,有收费的也有免费的,收费的方案这里不多介绍,毕竟,不管这费用出在学生身上还是教师身上,都是不合适的。免费方案有贝锐信息科技的“花生壳”,“花生壳”每帐号提供1条免费隧道映射,并免费提供二级域名,但带宽只有1M,且每月流量只有1G。神卓网络的“神卓互联”每帐号提供1条免费隧道映射,并免费域名,带宽有5M,每月流量只有1G。由于流量和带宽的限制,单个帐号不适合整个班级的接入,可以考虑分组或者一个学生一个帐号,此方案需要在内网中安装多个客户端,可以安装在每小组的被控机上。不过,创建多台Openwrt虚拟机来安装客户端也是不错的选择。
有公网IP方案:这里的服务器C就是自己可以管理的,可以根据需要自己安装相关的内网穿透软件。最理想的是一台有公网IP带宽足够的服务器,或者一台云主机。当前,家家户户都有宽带接入,且一般带宽都在100M甚至更高,一般来说ISP应该会给接入的宽带路由器分配公网IP(但也有一些ISP分配的是私有地址)。如果是公网IP地址,可以通过设置宽带路由器的“虚拟服务器”,把内网穿透需要的端口映射到家庭的某个终端上。这个终端设备可以是计算机,也可以是树莓派,或者是台Openwrt智能路由器设备。如果考虑长期使用,可以用Openwrt智能路由器替换家用的普通宽带路由器。开源的内网穿透软件,完全可以自主控制的有Frp、Ngrok、N2N。也有虽然开源,但客户端需要注册的,这里就不再介绍了。
幸运的是家里的宽带有公网IP,所以这此远程实训教学采用DDNS+树莓派+Frps,实现服务器C的功能,学校机房内安装Frpc客户端并把每小组的虚拟化服务器映射到公网。家庭宽带的公网IP都是经常变化的,所以需要结合DDNS使用,一般的家用路由器都支持DDNS,如果觉得免费的二级域名不好记,自己有域名的话,可以用别名记录。在树莓派上安装Frps,并在家庭路由器上设置“虚拟服务器”映射到树莓派上,开放足够的端口,每个小组的一台服务器对应一个端口。对每个学生来说,该方案是透明的,学生只需知道给他们使用的服务器地址和端口号即可在家里连接到学校实训机房的服务器,这和在学校机房的实训环境是一模一样的,不同的只是带宽问题。
有公网IP的此种方案自主可控,可以多种穿透软件并存在,可以根据需要设置接入策略,但缺点就是直接暴露在公网,存在一定的安全风险,且自己搭建,门槛较高发,如果是采用家庭路由器,性能上可能会差一些。通过内网穿透,可以将内网实习实训用的服务提供给外网的学生,有效地解决了学生线上课程实训环境问题,疫情后,如有必要,开放给学生做课后练习也是不错的选择。
参考文献
1、frp官方文档 官网https://github.com/fatedier/frp
作者简介:王文学,1976年出生,男,河南人,讲师,研究方向:网络安全。
作者单位:台州职业技术学院