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