校网环境下的私人服务器解决方案
CS狗一枚,几乎每天都需要携带电脑。最近感觉轻薄本性能不太够用,但是游戏本又太厚太重、散热续航也不太行,于是想到在寝室部署一台台式机,然后远程访问计算资源的方案。考虑到校网拓扑的复杂以及供电等原因,最近先进行了一些理论验证,并成功组建了一个个人网络以及一些个人网络服务。以下是过程的简单记录。 一、路由器的必要性与选购 在ZJU,寝室要想访问外网,只有两个方案——学校的WiFi或者有线网VPN拨号。考虑到ZJUWLAN严重的丢包问题,以及时不时被踢下需要重新验证的问题,我毫不犹豫地选择了有线网。 但是由于学校的另一条规定——每个VPN账号只能在一台电脑上登录,而我手上的需要联网的设备远不止两台,因此路由器的出现就很有必要了。 使用路由器的另一个好处是如果VPN掉线会自动重新拨号,在之后的服务搭建中,虚拟服务器功能也起到了极大的作用。因此路由器是非常必要的。 至于选购的话,其实只要支持L2TP即可,不过最近很多家用路由器都取消了这个功能,所以采购的时候还是留点心为好,至少不要以为所有路由器都支持这玩意。 二、网络拓扑的设计以及IP地址的获取 1. 有线连接与无线连接的选择 寝室需要一直联网的设备: Windows电脑一台 树莓派3b+ 这两个设备均采用有线连接,特别是Windows电脑,因为RDP需要传输图像,并且出于鲁棒性考虑同时也连接了无线网,以免出现有线网卡莫名出故障导致无法访问的意外 树莓派连有线是因为需要高带宽,毕竟作为下载机(校内P2P下载) 当我回到寝室时,可能iPhone和小米都要联网,以及我的kindle和Ubuntu笔记本 这些设备直接使用无线网连接好了,毕竟连接外网的带宽也就12Mbps,有线网带宽可谓是绰绰有余 2. 不使用DMZ的原因 不安全,直接把某一台电脑的所有端口直接暴露在外网中是一件极其危险的事情 DMZ只能转发请求到一台设备,但是我的Windows和Pi都需要跑服务,各自有不同的端口需要转发,这是DMZ不支持的 因此,我选择使用虚拟服务器进行配置 3. 虚拟服务器实现端口转发 目前需要的服务: 服务 端口号 Windows上的RDP 3389 Windows上WSL中的Jupyter Lab 8080 Windows上WSL的SSH 22 Pi上的FTP 21 Pi上的BT下载监控 9091 Pi上的Web服务 8080 Pi上的SSH 22 将相应端口进行分别转发即可 对于Windows上Lab和Pi上Web等端口相同的问题,直接在外网设置不同的端口,再分别转发即可,甚至出于安全考虑,更加推荐避免内外端口一致,以防闲的没事的人(暗指某室友)突然访问你的各种服务……(当然他要是知道了我的IP还是可以一个端口一个端口逐个扫描……)...