在上次实验室购入了一台高性能服务器后,我们申请了服务器的公网 ip,这次又购入了两台高性能服务器。由于实验室有两台路由器,配置了两个网络环境之间的互通(其实就写了一条路由表),学了那么多网络知识,正好实践一下。
折腾实验室多路由器互通访问
问题背景
上次实验室购入高性能服务器后,跟博士学长一起折腾了一下多用户远程登录桌面的功能,写了一篇实验室有一台高性能服务器是一种什么样的体验?。通过路由器来解决校园网环境下多个设备上网的需求,写了一篇初探 AC2100 刷 openwrt,在实验室也用 AC2100 路由器来给大家提供上网服务。这次的调整算是两次博客的后续延伸。
原本的服务器称为 PC1,新购入的两台服务器称为 PC2 和 PC3。大致的网络拓扑模型如下。现在出现的问题是在 PC2 可以访问到 PC1,但是 PC1 不能访问 PC2,也就是说电脑在连接路由器 1 的情况下无法访问 PC2、PC3 这几台服务器了。
立刻想到的解决的方案有以下两种。在下面的实践中使用方案 1 进行解决。
- 给路由 1 加一条路由表。既然路由 1 下面的机器无法访问到路由 2 下面的机器,给路由 1 加一条路由表,让访问 PC2 时知道将包往哪个方向扔,就可以互通访问。
- 关闭路由 2 的 DHCP 功能。如果路由 2 不提供 DHCP 服务器给下级设备分配 IP 地址,统一由路由 1 分配 IP,当路由 2 只有交换机功能时,路由 1 和 2 下面的所有机器自然就在同一个局域网下。
配置校园网访问
实验室的上网方式经历了两个阶段。
- 通过路由器上配置 mentohust 程序登录校园网账号上网。(可以看下上面提到的 AC2100 刷 openwrt)
- 在有服务器之后,申请了一个公网 ip,连接到校园网,该公网 ip 不需要账号可以直接联网。
现在使用的是第二个阶段的方式,在路由器 1 上按照学校提供的网络信息配置 WAN 接口(WAN 表示外网访问的接口),具体修改 IP 和 MAC 等内容。
配置好之后路由器 1 下的所有设备就可以正常上网了,为了提供其他电脑在校园网环境下可以直接访问 PC1,还设置了 PC1 的端口映射,可以将 PC1 的端口暴露出去。
还给 PC1、PC2 和 PC3 设置了静态地址,避免以后重启后 ip 地址会发生变化,配置方式就不多赘述了。
分析问题
介绍完上网和服务器的配置方法,就该分析一下现在的问题,为什么 PC2 能访问到 PC1 而 PC1 无法访问 PC2。当前网络状态如图所示,解释一下 192.168.1.0
表示 192.168.1.x
这个网络。
我一般以五层结构来看待网络,路由器是第三层的设备,所以当 PC1 无法访问 PC2 的第一想法就是看 PC1 的路由表。
果不其然,在四条路由表中并没有目的地址为 192.168.2.0 的路由表,当时下意识认为解决方案就是配置路由表就完事。
配置路由表
在路由器 1 的路由表配置中添加静态路由配置,如图所示。
配置完成之后从 PC1 向 Router2 发起指令请求。从192.168.1.105
发起请求,发现可以找到下一跳的位置是192.168.1.153
发到了路由器 2,说明路由表配置已经生效。但显示Destination Unreachable
目的不可达,百思不得其解。
修改防火墙
找了一上午配置,发现是路由器 2 的防火墙设置没开放,经验太重要了。
将其中的转发和入站数据设置为接受,保存设置就解决问题了。配置完成后可以在 192.168.1.105
访问 192.168.2.217
。
后记
基本解决了实验室里面使用服务器的问题,远程连接确实很方便,但满载的噪音却挺令人头疼。三台服务器都放在实验室,开放式的空间在多块显卡同时工作的情况下,一直会发出嗡嗡的声音,晚上关机断电的时候会感觉到世界都清净了。
感觉这个问题不太好解决,学院和学校没有提供统一的服务器管理服务,这样看来显卡太多了好像也不太好,这算是新服务器带来强劲性能后的一个主要槽点吧。