我有一个小型计算机实验室(8 个 HP 工作站、1 个 HP 服务器、2 个 NAS 盒、1 个 HP 联网打印机),目前所有设备都直接连接到我所在大学的网络。每个设备都有一个由网络通过 DHCP 分配的 IP 地址(但有人告诉我,这些 IP 地址实际上与 MAC 地址绑定了很长时间,因此设备每次启动时都会获得相同的 IP),并且我已为每个设备分配了主机名,由大学的 DNS 服务器管理。
我遇到的问题是,一旦连接到大学网络,这些设备就会对互联网上的任何人开放;例如,没有校园范围的防火墙。我想将这些设备中的部分或全部与互联网隔离,这样我就可以控制这些设备上的哪些端口/服务可以从大学内部访问(例如,我的同事想要打印、在 NAS 盒上存储数据/从 NAS 盒访问数据),哪些可以从大学网络之外访问。我提到的所有设备都位于同一物理位置(一个计算机房),但我的工作站位于单独的房间,我想自己访问每个设备以进行管理。
所有工作站都(或将)运行 Scientific Linux。NAS 盒是运行其自己的操作系统的 Synology 产品。
我应该如何设置这个微型网络?将所有设备放在路由器后面是否有意义?如果我这样做,是否仍然可以通过已配置的主机名连接到每个设备(例如从不在路由器后面的工作站),如果可以,我需要设置什么才能实现这一点?
答案1
为了跟进@KatherineVillyard 所说的内容,如果您需要从校园访问您的 NAS 或其他系统,我会这样做:
校园联系
与管理校园路由器的人交谈,并要求他们为您保留一个 256 个 IP 地址块,我将其称为 ABC0/24。A、B 和 C 的值特定于您的校园。如果您无法获得 256 个地址,您将生存,但至少获得 16 个。较小的保留块会将 0 和 /24 更改为不同的数字,如果您只分配了 16 个 IP,则最多为 /28。
他们还需要配置各种校园路由器,以便通过不同网络块中的特定 IP 地址(例如已经到达您房间的 IP 地址)路由您的保留块。
如果您无法获得预留的地址块,那么您将很难让校园的其他地方访问您的 NAS,但其他一切都应该可以正常工作,从网络内部到外部。这当然并非不可能,但可能不值得付出额外的努力。尽可能努力获取地址块——如果第一个人不明白您需要什么,您可能需要与几个不同的人交谈。
如果您获得了保留地址块,则需要记录该块的网络地址和网络掩码,以及该块将通过的外部 IP。如果您没有获得保留地址块,则最终可能会使用家用路由器/防火墙,并且您可以直接使用其默认设置。
如果校园 IT 部门确实很容易合作,您也可以为您的实验室申请一个委派的 DNS 子域。例如 gavinslab.campus.edu。如果他们不给您这个,其实并不重要,但它很方便。
身体的
如果校园 IT 部门为您预留了一块地址,那么您可以找一台可以安装三个网络接口的旧 PC。它根本不需要功能强大。我曾经在一台原装 Pentium 上路由过 100 Mbit 流量,在一台 Pentium III 上路由过千兆流量。我实际上没有测试过下限,只是使用任何容易获得的东西。
如果校园 IT 无法为您分配一个地址块,那么就使用家用路由器/防火墙吧。
然后,从某个地方获取千兆以太网交换机。只要有足够的端口,家庭办公室交换机就足够了。如果你让 IT 分配一个地址块,那就获取二交换机。将一个交换机标记为“DMZ”,将另一个标记为“内部”。如果他们没有为您分配地址块,则只需获取一个交换机。
路由/防火墙(假设没有分配网络块)
如果您没有获得地址块,只需将家用路由器与插入校园的外部网络接口连接起来,将一个内部网络接口插入千兆交换机即可。将房间视为家庭网络,您可以毫无问题地访问校园和外界,但校园和外界将很难回复您。
路由/防火墙(分配网络块)
如果您确实获得了一组地址,则将旧 PC 的板载网络接口连接到校园网络。我通常会在其上安装 Debian。
之后,我将安装第二和第三张网卡,然后使用我的防火墙引导程序tarball 来配置防火墙、DNS、DHCP 和其他关键服务(在我运行实验的课程中,我们已经彻底解决了该脚本的问题,但欢迎进行更广泛的测试和反馈)。如果您有经验,请随意做其他等效的事情。
其余一切(分配网络块)
将一个通电的交换机插入防火墙中的一个附加网络接口。检查内核消息以查看哪个以太网接口刚刚启动。如果您使用我的脚本,您需要确保内部交换机位于 eth1 上,而 DMZ 交换机位于 eth2 上。
将需要从房间外部直接访问的系统插入 DMZ 交换机。将所有其他系统插入内部交换机。
从那以后,老实说,您需要根据需要提出更多问题。我相信我的脚本会为两个网段设置有效的 DNS 和 DHCP 设置,并默认阻止外部连接。但其他一切都往往是特定于站点的。
答案2
首先,作为一名逃离学术界的人,我向您表示诚挚的慰问。与上面的评论者不同,我完全相信您没有校园防火墙。
最简单、最优雅的方法是建立校园防火墙。下一个最佳解决方案(取决于您希望谁可以访问您的实验室)是建立某种部门防火墙,让所有需要访问的人都位于该部门防火墙内。
如果你不能做到这两点——我担心你不会做到——你可能必须配置一个防火墙,使其“允许来自 [校园 IP 范围]/拒绝来自其他所有人”。如果你想从防火墙外部访问这些机器,你可能必须使用校园的可路由号码。
正如您在评论中所说:
谢谢,如果我使用自己的防火墙,我要么相应地配置我提到的每个单独的设备(Linux 上的 iptables),要么必须安排去往这些设备的流量通过单独的防火墙设备。
正确。我可能会绝望地举手使用 iptables,但其他人可能会为您提供更好的答案。
最后,我只想确认这一点:
每个设备都有一个由网络通过 DHCP 分配的 IP 地址(但有人告诉我,这些地址长期有效地与 MAC 地址绑定,因此设备每次启动时都会获得相同的 IP),并且我已为每个设备分配了主机名,由大学的 DNS 服务器进行管理。
意味着您有一个静态 DHCP 保留。否则,如果这些数字发生更改,大学的 DNS 服务器将必须更新。
祝你好运!