分段流量、VLAN 或子网的最佳方法?

the*_*ird 13 networking subnet vlan

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

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

我们的总体目标是防止瓶颈、分离流量以确保安全,并更轻松地管理流量。

小智 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 层分段将导致您的网络行为与当前行为不同

您必须调查其潜在影响

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

Eva*_*son 14

(我一整天都在路上,错过了跳这个……不过,比赛已经晚了,我会看看我能做些什么。)

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

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

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

  • 希望限制/控制第 3 层或更高层主机之间的流量。您可以对第 2 层(ala Linux ebtables)的流量进行一些黑客检查,但这很难管理(因为规则与 MAC 地址相关并且更换 NIC 需要更改规则)可能导致看起来非常非常奇怪的行为(做例如,在第 2 层对 HTTP 进行透明代理,既怪异又有趣,但完全不自然,并且可能非常不直观地进行故障排除),并且通常在较低层难以做到(因为第 2 层工具就像棍棒一样)并在处理第 3+ 层问题时遇​​到困难)。如果您想控制主机之间的 IP(或 TCP 或 UDP 等)流量,而不是在第 2 层攻击问题,您应该划分子网并在子网之间使用带有 ACL 的防火墙/路由器。

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

如果您甚至没有像 MRTG 这样简单的东西,在您的交换机上运行图形化每个端口的流量统计信息,那么这确实是您的首要任务,然后您才可能开始因善意但不知情的子网划分而引入瓶颈。原始字节数是一个好的开始,但您应该通过有针对性的嗅探来跟进,以获取有关流量配置文件的更多详细信息。

一旦您了解了 LAN 上的流量如何移动,您就可以开始考虑出于性能原因进行子网划分。

就“安全性”而言,在继续之前,您需要了解很多关于您的应用程序软件以及它如何通信的信息。

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

寓意:如果您真的要尝试关闭 VLAN 之间的数据包和流级访问,请准备好使用应用软件进行大量跑腿工作,并学习/逆向工程它是如何通过网络进行通信的。限制主机对服务器的访问通常可以通过服务器上的过滤功能来实现。限制线路上的访问会提供一种错误的安全感,并使管理员自满,他们认为“好吧,我不需要安全地配置应用程序,因为可以与应用程序通信的主机受到'the网络'。” 我鼓励您在开始限制网络上的主机到主机通信之前审核服务器配置的安全性。

  • 您可以将子网划分为任意大小的子网。重要的是子网/广播域中的主机数量,而不是*可能*的主机数量(只要您有足够的地址空间)。表达方式是什么——重要的不是子网的大小,而是你如何使用它?>微笑< (4认同)
  • 我很高兴在回答建议去 /16 后看到一些理性的声音。 (2认同)

Jav*_*ier -5

我基本同意大卫·帕什利的观点:

  1. 我对所有事情都使用单个 /16。
    • 但它被划分为多个 VLAN,并通过 Linux 计算机上的软件桥连接起来。
    • 在这座桥上,我有几个 iptables 规则来过滤组之间的访问。
    • 无论您如何分段,使用 IP 范围进行分组,都可以更轻松地进行重组和处理特殊情况。

  • 这听起来像是一场噩梦! (2认同)
  • -1 你没有说你维护的网络有多大,除非你在谈论一个研究项目,否则我一辈子都想不出使用这种配置的理由。根据定义,子网是用于分组的“IP 范围”。听起来您正在通过使用 Linux 机器在第 2 层进行路由来重新发明第 3 层。这可能会产生因不必要的复杂性而隐藏的问题。这会造成其他人都难以弄清楚的事情,更不用说排除故障了。 (2认同)