如何保护低预算的网络免受流氓DHCP服务器的攻击?


22

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

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

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

DHCP侦听是否可以使用这种网络拓扑,还是依赖于网络处于正确的星型配置中?我不确定是否存在不同级别的DHCP侦听-就像昂贵的Cisco交换机可以做什么,但是像TP-Link,D-Link或Netgear这样的廉价交换机只能在某些拓扑结构中工作吗?

基本的VLAN支持是否足以满足此拓扑要求?我想即使便宜的托管交换机也可以使用其自己的VLAN标签来标记每个端口的流量,但是当菊花链中的下一个交换机在其“下行”端口上接收到数据包时,它不会剥离或使用自己的VLAN标签来替换trunk-tag(或骨干网流量的名称)。

资金紧张,而且我认为我们买不起专业级的思科(多年来我一直在为此努力),所以我想就哪种解决方案在低端网络设备上获得最佳支持提供一些建议。有哪些推荐的特定型号?例如低端HP交换机,甚至是TP-Link,D-Link等预算品牌。

如果我忽略了解决此问题的另一种方法,那是由于我缺乏知识。:)


很难互相保护用户并允许同时进行LAN游戏。您确实必须做出选择。也许把梨切成两半,然后做1个VLAN /楼梯?
mveroone

您使用哪种路由器?
longneck

7
您提到过Cisco几次。您也应该关注ProCurve,尤其是因为在eBay上可以便宜地购买二手设备,并提供终身保修,并且几乎具有所有相同的功能。我得到了我支持的家庭和小型企业网络的二手ProCurve设备,并且绝对喜欢这些东西。如果您对“二手”一无所知,那么可以使用经过翻新,认证的,几乎是新设备的“ ReNew”计划。当然,对于那些有零钱掉落的人来说,总是有新的可用。
克里斯·S

该路由器是在Debian上运行iptables的Excito B3。
肯尼德(Kenned),2013年

感谢大家的意见。这是我需要说服其他人购买一堆二手Procurve 26xx交换机并为每个公寓设置单独的VLAN的弹药(这可能会引起我更多的疑问)。:)
肯尼德(Kenned)2013年

Answers:


20

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

唯一需要管理的开关是您的。除此之外,您还可以为每个单元分配一个特定VLAN上的单个端口-下游的任何内容都将完全不知道VLAN,并且可以正常工作。

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

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

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

192.168.100.x - VLAN100
192.168.101.x - VLAN101
192.168.102.x - VLAN102

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

对我来说,“局域网游戏”请求似乎是一个相对利基的请求,当然我也不会考虑。他们仍然可以通过NAT正常访问互联网,然后再回到Internet进行游戏-并不理想,但是与拥有自己连接的每间公寓没有区别,这在英国是很普遍的。不过,您可以逐个案例地在想要以这种方式共享其网络的公寓之间添加完整的VLAN间路由。

实际上,您可以在所有地方添加完整的VLAN间路由-可以解决DHCP问题,允许QoS,但我认为仍然是一个严重的安全问题。

我这里没有介绍的一件事是您的DHCP-大概目前您的所有客户都只有一个作用域。如果将它们放在单独的网络中,则需要为每个VLAN管理单独的范围。这确实取决于设备和基础架构,因此我暂时不做介绍。


他走这条路线的问题是,此时他的交换机是不受管理的,因此他无法设置中继端口配置(甚至此时无法设置每个端口的VLAN)。他至少需要进行新的切换。
Rex

2
@Rex我认为没有任何需要新交换机的问题-OP似乎知道他当前的非托管交换机还不够好。
2013年

4
+1这是唯一的飞行方式。不过,您需要在部署IPv6之前或之中添加VLAN间路由。
迈克尔·汉普顿

2
+1 VLAN为每个公寓和DHCP提供安全性。您还应该提到网络授权,服务条款和带宽限制(每个Vlan限制,每个协议限制)。您可能会研究内容缓存(netflix,vudu等)。
ChuckCottrill

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的最简单方法是获取树莓派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;
        }
}

您可以将全局选项放在每个作用域之外,因此至少会得到如下所示的结果:

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;

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

我尚未亲自完成此操作,但是显然Windows Server使设置它非常容易。

同时考虑:

  • 本地缓存DNS转发器,流量调整和VoIP的QoS可能会改善整体响应能力(您的硬件应该能够以线路速度运行所述服务)。

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

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

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

祝好运!


“使用配线架扩展运行时间”是什么意思?配线架不会给您任何额外的最大布线距离。
Justus Thane 2013年

我指的不是最大布线距离。我只是在说,如果电线太短以至于每隔一个楼层都无法进行开关操作,那么使用开关将配线架移到最近的地板就可以解决问题。
杰弗里

2
当我是一家为酒店(基于500-1000个站点)提供基于访客网络的公司的软件开发经理时,我们在超过500个站点上运行了Squid。我们测量了Squid缓存命中率大约一年,发现缓存命中率<2%,因此我们关闭了Squid,网络性能得到了改善。
ChuckCottrill

1
查克(Chuck),出色的表现,有大量的后盾。您的命中率很有意义,因为大多数网络现在都在使用SSL。在部署中,我在公司拥有的设备上缓存和过滤SSL内容。我很伤心地说,我没有看到鱿鱼玩类似矿山企业部署的角色之外。
杰弗里

1

如果您有一个不错的路由器,一种可能的解决方案是在每个单元间设置一个VLAN,并为每个VLAN分配一个/ 30地址。还为每个仅分配一个IP地址的VLAN创建一个DHCP作用域。

例如:

  • VLAN 100
    • 子网10.0.1.0/30
    • 路由器10.0.1.1
    • 用户10.0.1.2
  • 第104章
    • 子网10.0.1.4/30
    • 路由器10.0.1.5
    • 用户10.0.1.6

由于路由器可以在公寓之间路由,因此解决了公寓之间游戏的问题。它也解决了流氓DHCP问题,因为DHCP流量隔离到该公寓的VLAN,并且它们仅获得一个IP地址。


-2

我会选择PPPOE和一个简单的服务器,例如... mikrotik或任何支持它的服务器。这似乎是简单的方法。我敢肯定您现在已经解决了,但是对于任何人都会有这个问题... pppoe是最快的答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.