与业主协会的另一名成员一起,我的任务是为我们的公寓楼设计和设置共享的高速互联网接入。我们的预算非常少,并且希望能够做到这一点,而硬件已经在手边(意思是不是最先进的)。
作为系统管理员,我有十多年的经验,但专注于服务器端。虽然对(大部分)术语并不陌生,并且至少在设置较小的网络方面有一些实践经验,但设计这样的设置肯定超出了我的主要能力范围。
我对如何做到这一点有一个想法,但我可能没有考虑到所有事情,当然欢迎第二个意见和健全性检查。
虽然这个问题是基于我的具体挑战,但我认为答案将形成一种普遍合理的方法,以在预算紧张的情况下建立公平共享、分段、多租户的互联网访问。我希望这个网站可以接受。
这怎么做最好?
范围
环境
- 54 套现有 CAT5e 布线的公寓
- 公寓将大约 50/50 分成两个配线间,中间有一根 CAT5e 电缆(以后可能会添加另一根)
- 基于光纤的互联网连接,最初上限为 300 Mbps,将在一个配线间终止
- 没有对 Internet 路由器的管理访问权限
硬件软件
所有硬件至少使用 5 年。有些是我们不久前买的,有些是送给我们的,因为它对于该公司的生产用途来说太旧了(昂贵的服务、性能等等)。
- HP Proliant DL380 G6,双 Xeon CPU,32 GB RAM,4 个千兆网卡
- 2 x Dell PowerConnect 5324 千兆托管交换机
- 2 个 HP ProCurve 2524 托管 100 Mbit 交换机
- 由于现有知识和经验,pfSense 作为网关/防火墙的首选
- 首选在 VMWare ESXi 上运行虚拟防火墙,因为它具有可管理性(快照、完整映像备份、硬件抽象)以及运行小型 Web 服务器的可能性,而无需额外的工具包
要求和目标
- 我们必须能够共同利用我们支付的互联网带宽
- 我们希望将来能够支持更高的带宽
- 作为 100 Mbps 交换机,我们需要能够将至少两条上行链路从 HP 中继/组合到 Dell 交换机
- 公寓之间不应有通道
- IP 地址必须由 DHCP 分配给公寓
- 我们还将运行 Web 服务器和邮件服务器,它们必须可以从内部和外部访问
- 有什么明显的遗漏吗?
粗略的设计理念
物理网络
- 在每个补丁室安装戴尔千兆交换机
- 通过配线间之间的单根电缆连接两台戴尔交换机
- 使用链路聚合通过两条上行链路将 HP 100 Mbit 交换机连接到每个戴尔交换机
- 将所有服务器网卡连接到千兆端口,保留一些额外的千兆端口以供将来使用
- 将尽可能多的公寓连接到可用的千兆端口,其余的连接到 100 Mbit 端口
局域网设置
- 为每间公寓创建一个 VLAN
- 将未标记的单个 VLAN 分配给每个公寓交换机端口
- 分配在(聚合)上行链路端口上标记的必要 VLAN
- 将上行链路上标记的所有公寓 VLAN 分配给“公寓 LAN”的服务器 NIC
- 将上行链路上未标记的默认 VLAN (ID 0) 分配给“管理 LAN”的服务器 NIC
服务器
- 为“Apartment LAN”专用一个物理服务器网卡,一个用于“Administrative LAN”,一个用于“WAN”,一个用于“DMZ”
- 安装 VMWare ESXi,为每个公寓创建虚拟 NIC(使用它们的 VLAN ID),链接到“公寓 LAN”物理 NIC
- 将“WAN”服务器网卡连接到互联网路由器
- 安装和配置 pfSense 以处理路由,添加所有公寓 vNIC,
问题
- 我们的想法是否通过了您的健全性检查?设计中有任何明显的缺陷或缺陷吗?
- 期望从运行虚拟化的 pfSense 中获得 300+ Mbps 的路由是否合理?
- 我们可以/应该使用哪种链路聚合将两个不同品牌的交换机连接在一起——最好同时提供容错和n倍 100 Mbps 上行链路
- 我们能否期望 VLAN 按预期工作,结合标记和未标记、跨不同品牌的交换机、通过链路聚合并传递到 VMWare?
- 鉴于所提议的设计,我不太确定我们将如何处理路由并允许从选定公寓(管理设置的公寓)访问管理 VLAN,但总的来说,这是一件小事。
编辑:我们最终得到了什么
很抱歉无线电静音,但我们费了很大力气才能按照我们的意愿进行网络设置。事实证明这是一个真正的 PITA,试图为每个交换机端口设置隔离,跨越各种品牌的交换机。
我们得到的特定型号的戴尔交换机是少数不支持专用 VLAN 的型号之一。相反,我们购买了一台旧的 48 端口 Allied Telesis 交换机,但是虽然“私有”端口无法相互通信,但每个端口都没有与我们要求的管理网络隔离。惠普的“端口隔离”功能如宣传的那样工作,但他们没有足够的端口。
经过一番努力,我们设法获得了 1 个 48 端口和 2 个 24 端口 Cisco Catalyst 2950 - 每个都有 2 个千兆上行链路端口,其余 100 Mbit。这有什么不同!无需再为使同一功能的不同供应商变体一起工作而烦恼。
我们运行 pfSense 虚拟机,以及一些低强度的 VM,并且可以轻松地路由 300 Mbps,而不会让服务器出汗。
在总结的项目符号形式中,这是我们为实现目标所做的,也是我们目前正在运行的。希望这可以证明对某人有用。感谢您的输入!
物理网络
- 与服务器和互联网在同一房间的 48 端口交换机 - 一个千兆上行链路到服务器中的租户 NIC,另一个到另一个房间的 24 端口交换机
- 另一个房间的两台24口交换机之间的千兆上行
- 100 Mbit 端口连接到服务器中的管理 NIC
- Internet 路由器连接到服务器中的 WAN NIC
开关配置
- 免费的 Cisco Network Assistant 软件用于从同一界面配置所有设备。强烈推荐!
- VLAN 1 被指定为我们的管理网络
- 在每个租户端口上配置受保护的端口(隔离)和端口安全性(每个端口的 MAC 地址有限)
- 由于交换机只是通过以太网链接,而不是堆叠,因此“受保护端口”在交换机之间没有任何影响。也就是说,一个交换机中的租户端口可以与其他交换机上的所有租户端口通信。为了解决这个问题,我们为每个交换机创建了一个单独的租户 VLAN,(VLAN ID 与交换机 IP 地址的第四个八位字节匹配)
- 配置了“Smartports”的交换机之间的上行链路端口,以启用中继。本机 VLAN 设置为 1,允许所有其他 VLAN(已标记)
- 在交换机 A 中,租户上行链路到服务器 NIC,配置为运行租户 VLAN A 本机、VLAN B 和 C 标记
pfSense(和一点 VMWare)配置
- 为 WAN、管理 LAN、租户 LAN 服务器 NIC 设置单独的 vSwitches (VMWare)
- 租户 vSwitch (VMWare) 从 VLAN ID 0(无)更改为 4095(全部)
- 在 pfSense 中分配的接口,相应标记(WAN、管理员、租户)
- 两个 VLAN 添加到租户 NIC,租户 VLAN B 和 C 的 ID(因为 VLAN A 已经运行未标记) - 现在我们在 pfSense 中有 3 个租户接口
- 添加了三个租户接口的接口组,以简化防火墙规则的管理
这几乎就是与我的问题有关的配置。我们还添加了用于远程管理员访问的 OpenVPN,从 Windows PC 自动配置备份,添加了 DMZ 接口,并继续微调和改进我们现在超级强大的 6 接口防火墙/路由器!:-)
我会考虑在 pfSense 中处理 VLAN 接口,而不是用 54 个额外的 NIC 来搞乱 ESXi,它并不需要知道(个人偏好)。
您没有提及任何有关您的寻址的信息,但假设您使用的是 RFC1918 私有地址(因此您可以完全控制),请确保寻址有意义。就个人而言,我喜欢确保我的 VLAN 标签与我的子网匹配。在这种情况下,我会做这样的事情:
我在 VLAN 中添加了 100,因为您不想将 VLAN 1 用于 Apartment 1。我还将管理子网和公寓子网保存在单独的 /16 中,这样您就可以在未来如果需要。
当租户想要有公寓间的交通时,你将如何处理?(例如,我和邻居是好朋友,我想和他/她分享我 NAS 上的视频)。这与其说是一个技术问题,不如说是一个政策问题。
你最终会在 pfSense 中得到很多 NIC,你必须确保它们之间不能路由。我已经多年没有使用 pfSense,但原则上你需要设置一个默认的 DENY 策略。这将阻止 Apt X 将流量路由到 Apt Y,而无需手动确保策略始终到位。然后创建单独的 ALLOW 策略,只让每个 apt 通过 Internet 连接。
当您使用千兆网卡时,我不明白为什么不这样做。虚拟化不会增加那么多开销。
LACP。
802.1q 是一个“标准”...根据交换机的使用年限,如果它们是在 802.1q 仍在最终确定时设计的,它们可能会做一些“奇怪”的事情,但你应该很安全。
默认拒绝策略会阻止这种情况,因此您只需要添加明确的 ALLOW 来允许它。