我们的办公楼里有八个独立的小办公室。未来我们希望共享一个互联网连接。为了确保我们不会访问彼此的网络,我们正在寻找一种可以创建八个子网/局域网段的设备。
当然,每个防火墙都可以完成这项任务。问题是我们不想花 2000 美元购买一台可以使用 1Gbit/s 互联网接入的设备。实际上,我们不会使用防火墙的 90% 的功能。实际上,我们只是想要一个为每个端口创建单独子网的路由器。是否有我可以寻找的特殊设备类别?
答案1
最好的办法是购买一台便宜的迷你电脑并运行pfSense
。
pfSense
是极高级别的防火墙/路由器的软件部分,可在商用硬件(x64 PC)上运行。它在企业和小商店中被广泛使用。而且它是免费的。
答案2
如果您能找到一台价格实惠且具有足够网络端口(或足够 PCI-e 插槽用于附加扩展卡)的迷你电脑,则可以将其用作 L3 路由器。使用 Linux 的内置防火墙来阻止子网之间的转发。示例iptables
设置如下:
*filter
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
-A FORWARD -i lan+ -o lan+ -j REJECT --reject-with icmp-net-unreachable
COMMIT
上述防火墙设置假设连接到您的 LAN 的端口被命名lan0
为lan7
或类似名称(+
末尾的匹配任何接口开始端口名称为 192.168.1.1(带名称),而 WAN 口则命名为其他名称(wan0
也可以)。
您可以使用 Arch Linux 来确保始终获得最新的内核,更有趣的是,对于您的用例,主机甚至不需要一千兆字节的 RAM。
答案3
这有点像 XY 问题:您真正想要的是隔离,但您认为需要子网来实现它——事实并非如此!
任何有能力的 LAYER 2 管理交换机都可以使某些端口“隔离”,即它们只能与非隔离端口交换流量。路由器(我假设来自 ISP)将插入非隔离端口,每个办公室的交换机将插入配置为隔离的端口。这将完成隔离部分,但它不会提供子网:但您实际上并不需要子网。所有节点都将位于同一子网上,但任何一个办公室中的节点都无法与其他办公室中的节点交换任何流量。
您现在可以考虑将一些管理权限委托给每个办公室 - 即让每个办公室分配一些静态 IP 地址,而不必担心冲突。如果您采用现代化方法并让所有内部节点仅运行 IPV6,那么这不是问题:如果您正确分配静态地址(即非前缀部分必须是随机的),实际上不会发生任何 IP 地址冲突。无需“子网划分”。
如果你想支持 IPV4,你可以“假设”有静态地址的机器有“子网”。首先,假设路由器的 LAN 子网配置为 10.0.0.0/16。然后你可以同意每个办公室只在某个固定的 10.0.x/24 块中分配静态 IP 地址 - 但这仅用于地址分配,子网不会改变。这将是将静态地址分配权限委托给办公室的一种实用方法。例如,办公室 1-8 将被允许静态分配 10.0.office.n 形式的地址,其中 office=1..8。路由器上的 DHCP 服务器当然会配置为分配固定范围之外的地址,例如它可以分配从 10.0.16.1 到 10.0.23.254 的地址。只要动态分配的地址范围不与静态分配的地址范围重叠,一切就都很好。端口隔离由最基本的托管交换机处理,因此所有这些都很容易设置并且是一个可行的解决方案。
如果您想采用完整的“每个办公室子网”路线,您也可以选择以下几种方式:
如果 ISP 提供的路由器处理 VLAN,那么您可以采用经典的“每个 VLAN 一个子网”方式。在路由器端,您将为每个子网分配一个 VLAN。然后在 LAYER 2 交换机上,配置每个办公室的端口,使其将该 VLAN 视为“本机”,即匹配的 VLAN 流量在离开端口时会被剥离 VLAN 标记,而未标记的流量在进入端口时会附加 VLAN 标记。您还可以禁止/丢弃办公室端口上的所有标记流量,这样办公室就绝对不会处于“错误”的网段中。路由器将只看到 VLAN 标记的流量,办公室端口将看到未标记的流量并自动对其进行标记/取消标记,一切正常。
如果 ISP 提供的路由器不处理 VLAN,那么它至少应该支持 LAN 端口的多个 IP 地址(以及子网),因此也应该支持每个子网的单独 DHCP 服务器配置。那么,第 2 层交换机上的端口隔离就足够了。如果路由器“半胜任”并为每个 LAN 端口提供多个 IP 地址,但不处理多个 DHCP 子网,那么有时“第 2/3 层”交换机可能会让您为每个子网配置一个 DHCP 服务器。
如果 ISP 提供的路由器既不处理 VLAN,也不处理 LAN 端口上的多个 IP 地址,则必须为路由器配置“大子网”10.0/16 和单个 IP 地址。然后,交换机需要提供一些功能,以便根据 MAC 或 IP 地址将数据包从路由器带入单个 VLAN(VLAN 将完全是虚拟的,并且仅在交换机内)。各种“第 2/3 层”或“第 3 层”交换机对此的处理方式不同,因此如果不阅读特定交换机的详细文档,可能无法提前知道。例如,Aruba/HPE 交换机(我熟悉 5400 系列)通常不进行数据包重写,但它们的数据包过滤器可以进行数据包分类,因此可以将给定类别中的数据包发送到给定端口,让发往路由器的数据包“逃离”其 VLAN 并转到路由器端口)。
如果 ISP 提供的路由器太笨或有太多错误,无法满足需要,另一种选择是将路由器配置为桥接模式,并在路由器和办公室之间插入专用路由器盒。有各种价格实惠但专有的“小型企业”路由器,它们具有所需的端口数量和带宽,可以轻松完成这项工作。如果您想要一个非专有的解决方案,那么 pfSense“盒子”就可以了 - 然后由您决定硬件的优劣。有定制的 pfSense 兼容硬件,包装在“类似路由器”的盒子中,本质上是一个专用的 Linux 盒子(带有英特尔或 ARM CPU)。或者您可以购买任何具有至少两个 PCI-E 插槽的现成 PC,并将两个 4 端口千兆卡插入插槽。上游端口将是主板上的端口。您会发现,如果性能水平相同,许多“竞争”解决方案最终的成本大致相同,因此不可能提出“这是唯一的方法”的建议。
很大程度上取决于您愿意为此投入多少管理/维护工作。以下是一些选项的细分:
一种“无需干预”但又经济实惠的解决方案,加上廉价的“隔夜”保修服务,很可能用过的HPE/Aruba 路由器或 L2/3 交换机仍在支持中(即您可以在 HPE 网站上看到相对较新的固件下载),因为它们具有相当慷慨的终身保修(但当然要检查一下),而且新品时价格昂贵,足以弥补成本 - 您可能不想为支持合同付费。除了偶尔的固件升级(如果安全修复需要的话),这些不需要任何维护。大多数其他企业供应商不提供免费支持,例如,如果您购买二手非消费者思科设备,您必须支付支持合同才能获得固件更新(据我所知)。
一种“无需动手”的解决方案,即“只需购买新的”,而且价格便宜,那就是一些品牌的“小型企业”甚至“专业消费者”路由器 - 这些路由器由许多供应商提供,例如华硕,任何当前产品都将具有您需要的端口速度和吞吐量,并且应该支持端口隔离和每个子网的 VLAN(但当然要检查一下)。他们对固件支持的投入程度可能不如大型企业品牌,但仍会有相对及时的更新来修复安全漏洞 - 无论如何,这才是您最关心的。
一种不太“放手”的解决方案可能是任何类型的 pfSense 盒子,尽管如果设置正确,它们也可以非常容易地升级和继续使用 - 甚至可能比企业级设备更容易 - 关键是让基本软件包支持配置,而这正是您所想的情况。我建议不要试图添加“花哨的东西”,因为这些很容易引入各种问题,需要花费时间进行故障排除/配置。例如,不要担心本地 DNS 代理等。将功能限制在您绝对需要的范围内,并抵制除了对稳定的 pfSense 版本进行必要的软件升级之外进行修改的冲动。
至于 WiFi 方面该怎么做:我在家里使用 UniFi,但这不是全部。UniFi 接入点很棒,但它们的路由解决方案(UniFi Dream Machine [Pro])不值得:使用专用设备进行路由/防火墙,并使用 UniFi Cloud Key(当前一代)运行管理接入点所需的控制器。在家里,我选择了 UniFi Dream Machine Pro,这是一个相当棘手的设置 - “统一”的所谓好处在纸面上很好,但实践中的功能集有许多未实现的角落。另一方面,根据我的经验,使用 Cloud Key 运行 UniFi 控制器来管理接入点非常有效。再加上专业消费者/游戏华硕路由器,几乎就是您所需的全部功能,具有有线和无线链接。接入点支持 VLAN 到 SSID 映射,因此可以实现无缝漫游,每个办公室都使用自己的 SSID,同时保持在其 VLAN 内。