核心:戴尔 N4032 (6.3.0.18) 访问:戴尔 N2048 (6.3.1.13)
我们正在建立一个服务式办公室,为多个企业提供服务。每个“客户”自然会在自己的 VLAN 上,每个 VLAN 都需要访问 Internet 和其他一些 VLAN。
将有一些开放的 VLAN,例如“公共打印”VLAN 等等。还有可能所有其他 VLAN 都需要访问的“服务器”VLAN(或者有些可能不需要,即过滤)
我们有核心 L3 交换机、20 台 L2 接入交换机和两个 HA 防火墙。
问题是我们是在 L3 交换机本身上还是通过防火墙为 VLAN 进行路由。
我的想法 - 如果我们通过防火墙(即棒上的路由器)进行路由,则所有 VLAN 间流量都将不得不通过我们的防火墙设备,这自然会增加其整体吞吐量(尤其是启用 DPI 的情况下) . 优点是,以这种方式在 VLAN 之间配置防火墙要容易得多。
如果我们通过 L3 交换机进行路由,我们将受益于 WAN 防火墙的全部吞吐量(这将是 1Gbps 连接),但是必须在 2 个核心交换机上使用“基于策略的路由”,这通常是疼痛管理。
在这种情况下有最佳实践吗?我应该考虑什么才能做出决定?
更新
在交换机上使用 ACL 的问题如下。
- 最多有 100 个 ACL
- 我们将拥有需要访问 Internet、VOIP VLAN、服务器 VLAN 和打印 VLAN 的“客户 VLAN”。
- 但是,他们不应访问其他“客户 VLAN”。
问题是所有“客户”都在一个 /16 之内 - 即
[Parent subnet being 10.100.0.0/16]
Customer 1 - 10.100.0.0/24
Customer 2 - 10.100.1.0/24
Customer 3 - 10.100.2.0/24
我需要在 VLAN 上应用 ACL,以便当流量到达该 VLAN 时,它会被阻止访问其他客户 VLAN。
目前我有这样的事情:
1000 deny 10.100.0.0 0.0.255.255 192.168.50.0 0.255.255.255
1010 deny 10.100.0.0 0.0.255.255 192.168.60.0 0.255.255.255
1020 permit any any
然后将其应用于所有客户 VLAN 接口。这解决了阻止访问服务器 VLAN 和其他专用 VLAN 的问题,但是,这并不能阻止这些 VLAN 随后访问其他客户 VLAN(在 10.100.0.0/16 内)。
问题是我们最终可能拥有 50 多个客户,这意味着 ACL 的数量是难以想象的(假设每个 ACL 只能有 10 个条目,并且每个 ACL 需要为每个其他客户提供一个 ACE)。这几乎立即达到了交换机支持的最大 ACL 数。
在这个阶段,如果不使用我们的防火墙作为“棒上的路由器”,我就看不到另一种方法。任何意见是极大的赞赏。
更新 #2
奇怪的是,我今天尝试在客户 VLAN 上使用 ACL 如下(在接口上应用“IN”)
1000 deny 10.100.0.0 0.0.255.255 192.168.50.0 0.255.255.255
1010 deny 10.100.0.0 0.0.255.255 192.168.60.0 0.255.255.255
1015 deny 10.100.0.0 0.0.255.255 10.100.0.0 0.0.255.255
1020 permit any any
更新 #3
应用下面建议的 ACL 时 - 它会阻止同一 VLAN 上的设备之间的访问。ACL 是 L3:
ip access-list Block_Customers
1000 deny ip any 10.100.0.0 0.0.255.255
1020 permit any any
!
但是,此 VLAN 上的两个设备(IP 可以相互通信,即 10.100.1.0/24)不能再相互 ping 通。如果我删除了 ACL,它们就可以再次互相 ping 通。
这是错误的,我在一个 VLAN 上的流量是 L2,为什么要应用这个 L3 ACL?
更新 #4
如果我按照建议应用 ACL 并且...
不同交换机上同一 VLAN 上的两台设备,它们无法相互 ping 通(没有 ACL,它们可以 ping 通,因此中继线必须正常工作)。他们可以ping Internet。
同一VLAN上的两台设备,在同一台交换机上,可以互相ping通,但是不能ping通那个VLAN上核心交换机上的SVI IP地址。然而,他们可以 ping 互联网,因此流量可以到达该 IP。