分割流量,VLAN或子网的最佳方法?


13

我们拥有约200个节点的中型网络,目前正在用可堆叠或机箱式交换机替换旧的菊花链式交换机。

现在,我们的网络通过子网分解:生产,管理,知识产权(IP)等,每个子网都位于单独的子网中。创建VLAN而不是子网会更有益吗?

我们的总体目标是防止瓶颈,为安全起见将流量分开,并更轻松地管理流量。


1
可能您的不同VLAN将用于在其中具有单独的子网。
pQd

1
您可能会发现我问过一段时间的埃文(Evan)对这个问题的回答很有帮助:serverfault.com/questions/25907/…–
凯尔·布​​兰特

Answers:


16

VLAN子网解决了不同的问题。VLAN在第2层工作,从而更改了广播域(例如)。子网在当前上下文中是第3层

一个建议是同时实施

例如,针对您的不同设备类型(开发,测试,生产,用户等)具有VLAN 10-15

VLAN 10,您可能具有子网192.168.54.x / 24 VLAN 11,您可能具有子网192.168.55.x / 24

等等

尽管这将要求您的网络中有一个路由器

哪种故障取决于您(您比以往任何时候都更了解您的网络)。如果您认为广播域的大小会引起问题,请使用VLAN。如果您认为网络管理域的大小(例如,管理网络),则可能使用的网络更接近于/ 16,而不是/ 24

您的200个节点将适合/ 24,但这显然并没有太大的增长空间

听起来,您已经为不同的设备类型使用了不同的子网。那么,为什么不坚持呢?如果需要,可以将每个子网绑定到VLAN。第2层细分会导致网络的行为与当前的行为有所不同

您将不得不调查其潜在影响


2
+1-几乎说了我想说的一切。如果要废弃当前的子网划分设计,我唯一的建议是探索使用/ 22或/ 23设置地址空间。如果发现需要更多子网,则可能“删除”位。毕竟,我们不仅限于/ 16或/ 24。然后,将每个子网放在其自己的VLAN中以减少广播流量。
rom09年9

13

(我整天都在路上,错过了参加这一比赛的机会。不过,在游戏后期,我将拭目以待。)

通常,您在以太网中创建VLAN,并将IP子网一对一映射到它们上。有很多方法不能做到这一点,但是要在一个严格的“普通香草”世界中创建一个VLAN,想出一个要在VLAN中使用的IP子网,为该VLAN中的某个路由器分配一个IP地址,然后将该路由器附加到VLAN(具有路由器上的物理接口或虚拟子接口),将某些主机连接到VLAN,并在您定义的子网中为它们分配IP地址,然后将其流量路由进出VLAN。

除非有充分的理由,否则您不应该开始对以太网LAN进行子网划分。最好的两个原因是:

  • 缓解性能问题。以太网LAN不能无限扩展。广播过多或帧泛滥到未知的目的地将限制其规模。这两种情况中的任何一种都可能由于使以太网LAN中的单个广播域太大而引起。广播流量很容易理解,但是将帧泛洪到未知目的地则更加晦涩难懂。如果设备太多,导致交换机MAC表溢出,则如果帧的目的地与MAC表中的任何条目都不匹配,则交换机将被迫将非广播帧泛洪到所有端口。如果您在以太网LAN中有一个足够大的单个广播域,并且其流量配置文件不经常托管通话(即,

  • 限制/控制在第3层或更高层的主机之间移动的流量的需求。您可以做一些黑客检查第2层(ala ebtables)上的流量,但这很难管理(因为规则绑定到MAC地址,而更改NIC则需要更改规则)可能导致看起来非常非常奇怪的行为(这样做例如,第2层的HTTP透明代理是古怪而有趣的,但是完全不自然,并且可能很不直观地进行故障排除),并且通常在下层很难做到(因为第2层工具就像棍子一样)和处理第3层以上关注的问题)。如果要控制主机之间的IP(或TCP或UDP等)流量,而不是在第2层上攻击问题,则应建立子网,并在子网之间使用ACL固定防火墙/路由器。

带宽耗尽问题(除非它们是由广播数据包或帧泛滥引起的)通常无法通过VLAN和子网划分来解决。之所以会发生这种情况,是因为缺乏物理连接(服务器上的NIC太少,聚合组中的端口太少,需要提升到更快的端口速度),因此无法通过子网划分或部署VLAN来解决。不会增加可用的带宽量。

如果您甚至没有像MRTG这样简单的东西在您的交换机上运行每个端口的流量统计图,这实际上是您的首要任务,那么在开始潜在地引入意图不充分但子网不明的瓶颈时,您就必须先行。原始字节计数是一个不错的开始,但是您应该在目标嗅探之后进行后续操作,以获取有关流量配置文件的更多详细信息。

了解了局域网中流量的流向后,出于性能原因,您可以开始考虑子网划分。

就“安全性”而言,在继续之前,您需要了解有关应用程序软件及其通讯方式的大量信息。

几年前,我为医疗客户设计了一个大小合理的LAN / WAN,并被要求将访问列表放在第3层实体(Cisco Catalyst 6509主管模块)上,以通过“工程师”,他实际上并不了解实际需要哪种支腿工作,但对“安全性”非常感兴趣。当我提出一项研究每个应用程序以确定必要的TCP / UDP端口和目标主机的建议时,我对“工程师”的回答感到震惊,并指出这不应该那么困难。我听说他们最后运行的是没有访问列表的第3层实体,因为他们无法使所有软件可靠地运行。

道理:如果您真的要尝试限制VLAN之间的数据包和流级别访问,请准备好使用应用程序软件进行大量工作,并学习/反向工程它在网络上的通信方式。通常,可以通过服务器上的筛选功能来实现主机对服务器的访问限制。限制对网络的访问会给人一种错误的安全感,并使管理员感到自满,他们认为“嗯,我不需要安全地配置该应用程序。因为可以与该应用程序进行通信的主机受到'the网络'。” 我建议您先审核服务器配置的安全性,然后再开始限制网络上的主机到主机通信。


2
我很高兴看到答案建议/ 16后听到一些理性的声音。
pQd

4
您可以将子网划分为任意大小的子网。重要的是子网/广播域中的主机数量,而不是可能的主机数量(只要您有足够的地址空间)。表达是什么-子网的大小并不重要,而是如何使用它?>微笑<
Evan Anderson

@埃文·安德森:我确实知道。但是您必须承认64k太多了,可能永远不会使用,并且在需要引入路由时(例如,连接远程DC /办公室等)可能会导致问题。
pQd

1

在99%的时间内,子网应等同于VLAN(即,每个访问子网应映射到一个且仅一个VLAN)。

如果您在同一VLAN中有多个IP子网中的主机,则会破坏VLAN的作用,因为这两个(或更多)子网将位于同一广播域中。

或者,如果将一个IP子网放入多个VLAN,则除非您的路由器启用了代理ARP,否则IP子网中的主机将无法与另一个VLAN中的主机进行通信。


-1-VLAN拆分了广播域。冲突域由网桥或多端口网桥(通常称为交换机)拆分。通常情况下,IP子网和广播/冲突域彼此无关。在以太网上IP的特定情况下,通常将IP子网映射到单个广播域(因为ARP,用于将IP地址解析为以太网硬件地址的协议是基于广播的),但是可以通过代理使用巧妙的技巧具有子网的ARP跨越多个广播域。
埃文·安德森

@Evan:好点-那会教我在凌晨的时候写答案。:)我坚持其余观点;同一VLAN中有多个子网将导致您的L2广播流量跨越多个子网;同一子网具有多个VLAN可以工作,但是如果可以避免的话,代理ARP确实不是您应该使用的东西。
Murali Suriar,2009年

-1已删除-您说的其他所有内容当然都是正确的。我也同意:代理ARP:除非我有非常强烈的令人信服的理由,否则我不会在“现实世界”中使用它。
埃文·安德森

通常情况下,IP子网和广播/冲突域彼此无关。不,他们肯定会在一般情况下这样做。每个子网都有一个网络号和一个关联的广播地址。除ARP外,您还有其他广播数据包。使该语句不知道他们的网络上是否有多播流量将是错误的。DHCP客户端使用IP广播来了解DHCP服务器。
基洛

1
@Evan Anderson我在这里想念什么。您撤回-1。冲突域由交换机端口溢出。在冲突域中说2个或子网是胡说八道。我认为他在广播域中表示2个或更多子网。
JamesBarnett 2011年

-5

我大体上同意David Pashley的观点

  1. 我对所有内容都使用一个/ 16。
    • 但它被分割为几个VLAN,并由Linux机器上的软件桥连接。
    • 在这座桥上,我有几个iptables规则来过滤组之间的访问。
    • 无论您如何细分,都可以使用IP范围进行分组,这样可以简化重组和特殊情况。

2
这听起来像一场噩梦!
埃文·安德森

2
-1您没有说您维护着一个多大的网络,除非您正在谈论一个研究项目,我一生都无法想到使用这种配置的理由。根据定义,子网是用于分组的“ IP范围”。听起来您好像是通过使用Linux盒在第2层进行路由来重新构造第3层。这可能会产生不必要的复杂性所掩盖的问题。这会导致其他任何人都很难找出解决问题的方法。
里克·施耐德
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.