如何保护低预算网络免受恶意 DHCP 服务器的侵害?

Ken*_*ned 22 networking dhcp

我正在帮助一位朋友管理一栋有 80 间公寓的公寓大楼的共享互联网连接 - 8 个楼梯,每个楼梯有 10 间公寓。网络布置在大楼一端的互联网路由器上,连接到第一个楼梯上的廉价非管理 16 端口交换机,前 10 套公寓也连接到这里。一个端口连接到下一个楼梯中的另一个 16 端口便宜的交换机,这 10 个公寓连接到那里,依此类推。有点像交换机的菊花链,每个“菊花”上有 10 个公寓作为辐条。该建筑是一个 U 形,大约 50 x 50 米,20 米高 - 因此从路由器到最远的公寓,包括上下楼梯在内,大约有 200 米。

我们有一些问题,人们以错误的方式连接 wifi 路由器,创建流氓 DHCP 服务器,这些服务器会中断大量用户,我们希望通过使网络更智能(而不是进行物理拔掉二进制搜索)来解决这个问题)。

由于我的网络技能有限,我看到了两种方法 - DHCP 侦听或将整个网络拆分为每个公寓的单独 VLAN。单独的 VLAN 为每个公寓提供了与路由器的专用连接,而 DHCP 侦听仍将允许 LAN 游戏和文件共享。

DHCP 侦听是否适用于这种网络拓扑,还是依赖于处于适当中心辐射配置的网络?我不确定是否有不同级别的 DHCP 监听——比如昂贵的 Cisco 交换机可以做任何事情,但是像 TP-Link、D-Link 或 Netgear 这样的廉价交换机只能在某些拓扑结构中做吗?

对于这种拓扑,基本 VLAN 支持是否足够好?我想即使是廉价的管理型交换机也可以用它自己的 VLAN 标签来标记来自每个端口的流量,但是当菊花链中的下一个交换机在它的“下行链路”端口上接收到数据包时,它不会剥离或用它自己的 VLAN 标签替换主干标签(或主干流量的任何名称)。

钱很紧,而且我认为我们买不起专业级的思科(我多年来一直在为此进行竞选),所以我想请教一下哪种解决方案对低端网络设备的支持最好,如果有的话有什么具体型号推荐吗?例如低端 HP 交换机甚至预算品牌,如 TP-Link、D-Link 等。

如果我忽略了解决这个问题的另一种方法,那是因为我缺乏知识。:)

Dan*_*Dan 20

我认为您应该采用多 VLAN 路由 - 而不仅仅是因为 DHCP 服务器问题。目前,您拥有一个大型扁平网络,虽然在某种程度上,用户应该注意自己的安全,但我个人认为这是一种非常不可接受的设置。

唯一需要管理的交换机是您的。除此之外,您在特定 VLAN 上为每个公寓提供一个端口 - 任何下游的设备都将完全不知道 VLAN,您可以正常运行。

就您的交换机而言 - 交换机到交换机端口需要配置为中继端口,并且您需要与您的 VLAN ID 保持一致。换句话说,VLAN100 必须对应于网络上其他地方的 VLAN100。

除此之外,您可以设置“棒上路由器”配置,每个 VLAN(及其关联的 IP 池*)仅配置为往返互联网而不是其他内部网络。

*我想不出其他地方可以坚持这一点,但请记住,理想情况下,您应该为您的 VLAN 提供自己的 IP 池。最简单的方法是保持八位字节之一与 VLAN ID 相同,例如

192.168.100.x - VLAN100
192.168.101.x - VLAN101
192.168.102.x - VLAN102
Run Code Online (Sandbox Code Playgroud)

一旦所有这些都到位,如果您愿意,您就可以真正开始使用诸如服务质量、流量监控等功能!

“LAN Games”请求对我来说似乎是一个相对小众的请求,当然我不会考虑。他们仍然可以通过出入互联网并返回来正常通过 NAT 进行游戏——这并不理想,但与拥有自己的连接的每间公寓没有什么不同,这在英国是常态。不过,根据具体情况,您可以在希望以这种方式共享网络的公寓之间添加完整的 VLAN 间路由。

事实上,您可以在任何地方添加完整的 VLAN 间路由 - 这将解决您的 DHCP 问题,允许 QoS 但在我看来仍然是一个巨大的安全问题。

我在这里没有涉及的一件事是您的 DHCP - 大概您目前有一个适用于所有客户端的范围。如果将它们放在单独的网络上,则需要为每个 VLAN 管理单独的范围。这真的取决于设备和基础设施,所以我暂时不做这个。

  • +1 这是唯一的飞行方式。不过,您需要在部署 IPv6 之前或作为部署 IPv6 的一部分添加 VLAN 间路由。 (4认同)
  • @Rex 我认为从来没有任何需要新交换机的问题 - OP 似乎知道他当前的非托管交换机不够好。 (2认同)
  • +1 Vlans 为每间公寓以及 DHCP 提供安全保障。您还应该提及网络授权、服务条款和带宽限制(每个 Vlan 限制、每个协议限制)。您可能会调查内容缓存(netflix、vudu、etal)。 (2认同)

Jef*_*eff 6

根据您的预算,至少选择一台管理型交换机并将每个楼层放在一个 VLAN 上。

为了彻底解决您的安全和 DHCP 问题,如果布线允许,请每两层楼配备一个 24 端口的管理型交换机。如果布线不允许,使用配线架来延长线路可能比更多的交换机便宜。

您可以通过使用 10/100 管理型交换机来节省设备,但是,根据供应商的不同,它可能需要大量的专业知识来设置(思科)。

作为一名程序员,在使用光纤的 8 层办公楼中设置了 1000 多个端口的网络,我可以说 D-link 管理型交换机 GUI 与手册配对将允许您做任何您需要的事情。我不是说您必须使用 D-Link,我只是说我认为您不会失望。D-Link 管理型交换机(2+ 级)价格实惠,可以在交换机上运行 DHCP(不推荐这样做,但它是一种选择)。他们有一个较低的“智能”开关层,可以做你需要的一切。

如果您在每层设置一个 VLAN,则 /23(512 台主机)应该就足够了(如果您打算推出无线网络,则可以更大一些)。如果您为每个公寓设置 VLAN,则应该使用 /27(30 台主机)。

在我看来,为多个 VLAN 执行 DHCP 的最简单方法是获取 raspberry PI 并使用ISC DHCP。您可以使用任何具有支持 VLAN 的 NIC 的低功耗机器。(就我个人而言,我会99 美元购买一个EdgeMax 路由器并在其上运行 DHCP!)

只需为每个 VLAN 选择一个 IP 范围/子网,您的 VLAN 的 ISC DHCP 配置可能如下所示:

subnet 10.4.0.0 netmask 255.255.192.0 {
        interface net0;
        option routers 10.4.0.20;
        option subnet-mask 255.255.192.0;
        pool {
                range 10.4.1.1 10.4.63.254;
        }
}
Run Code Online (Sandbox Code Playgroud)

您可以在每个范围之外保留全局选项,因此至少您最终会得到如下结果:

option domain-name "well-wired--apts.org";
option domain-name-servers 4.2.2.2, 8.8.8.8, 8.8.4.4;
default-lease-time 3600;
ddns-update-style none;
Run Code Online (Sandbox Code Playgroud)

如果每间公寓有多个网络插孔,则设置生成树协议以避免环路。如果您没有正确配置它,这可能会减慢速度,导致每个端口需要 30 秒或更长时间才能启动,因此请确保对其进行测试。您需要启用一个选项,我相信 Cisco 将其称为 PortFast。

我没有亲自做过这件事,但显然 Windows 服务器可以很容易地设置它。

还要考虑:

  • 本地缓存 DNS 转发器、流量整形和 VoIP 的 QoS 可能会提高整体响应能力(如果您的硬件能够以线速运行所述服务)。

  • 如果您计划升级安全摄像头或推出无线网络,那么购买 POE 设备可能是值得的。

  • 由于许多便宜的无线路由器不能作为独立的 AP 运行,因此您最好的希望是租户将使用双 NAT。如果每个人都通过 WAN/Internet 端口将他们的路由器插入您的网络,这将提高安全性并消除 DHCP 问题。带有常见路由器品牌的印刷良好的说明书可能会为您节省一些设备和麻烦;然而,完全遵守将是困难的。

  • 使用namebench 之类的工具为您的 ISP 查找最快的 DNS 服务器。

祝你好运!

  • 当我为一家为酒店(500-1000 个站点)提供基于访客的网络的公司担任软件开发经理时,我们在 500 个以上的站点上运行 Squid。我们测量了大约一年的 Squid 缓存命中率,发现我们的缓存命中率 < 2%,因此我们关闭了 Squid,网络性能有所提高。 (2认同)