设置具有两个 Internet 连接的基于 Linux 的负载平衡路由器

设置具有两个 Internet 连接的基于 Linux 的负载平衡路由器

(抱歉,文字太长了。底部有具体的问题,但由于缺乏经验,我将非常感谢慷慨的社区对软件选择和一般建议的任何评论。)

我正在计划/尝试为我们的小办公室设置一个基于 Linux 的软件路由器(“服务器”)。主要用途是在内部 LAN 和(至少)两个外部世界(即互联网)连接之间实现互联网访问负载平衡。

我们有大约 30 台计算机(“客户端”),它们通过电线连接到大约 10 台非托管交换机,而这些交换机又连接到位于我们的连接树根部的一个非托管交换机。“服务器”也插入到这个根交换机中。所有这些客户端都运行 Windows,还有几台 Mac 和 Linux 机器。

此外,还有大约 50 台无线设备(手机、平板电脑和偶尔的笔记本电脑)连接到 5 个 WiFi 接入点之一,这些接入点连接到上述任一交换机。这些设备也需要互联网接入,但在我们的设置中被视为次要设备。

该服务器的主要功能是:

  1. 利用所有可用的 ISP 连接(目前为两个)为整个办公室提供互联网访问。为此,我将iptables{2}按照网上的许多指南进行配置,或使用一些专门的软件,例如互联网服务提供商 (ISP) 余额

  2. 充当所有设备的 DHCP 服务器。

  3. 为我们的git存储库和各种 Samba 共享提供服务。(这是我之前做过几次的部分,预计问题最少。祝你好运!)

  4. (这个是可选的,但是是可取的。)我也想运行类似 RADIUS 服务器的东西,并对连接到网络(以及通过我们的网络连接到互联网)的每个用户/设备进行身份验证。虽然我们并不特别需要限制任何人的访问,但我希望有每个人/设备的实时带宽使用情况报告,并且可能能够从中提取估计的工作时间。

现在,这是我的具体问题,但我非常感谢任何其他建议和意见:

  1. 我计划使用通用的 Ubuntu 服务器(可能是 18.04 LTS),而不是某些特定任务的发行版(例如零壳或类似的。)我认为这不会造成任何问题(除了可能更多的配置文件编辑等)。我的假设正确吗?

  2. 社区对实现/配置互联网连接之间的负载平衡有何评论?我没有任何特定的 QoS 或其他限制,从我的角度来看,ISP 连接是相同的(可能除了速度之外)。我以前从未配置过路由器,但我(我想我)了解所涉及的概念和协议(但我只需要静态路由表,对吗?)

  3. 我应该使用哪个 DHCP 服务器?我最多只有约 100 个连接设备,甚至可以选择静态 IP 分配(加上“访客”WiFi SSID,供访客使用。)

  4. RADIUS 是否是适合我的用例的正确协议?我希望我的同事在开始工作时能够登录,这样他们的设备就可以访问互联网,并且可能在他们离开办公室之前注销(或者更现实的是,由于他们忘记注销,因此在一小时不活动后注销。)

  5. 如果 RADIUS 是正确的工具,那么我应该使用什么服务器软件?

  6. 如果 RADIUS 是正确的工具,我可以使用什么客户端软件?我需要 Windows、Android、iOS 和 OSX 客户端。

  7. 一般来说,我没有任何内部安全方面的担忧,因为我们所有人基本上都应该可以访问所有内容。但是我们的大多数访问(git、RADIUS、WiFi 等)都是使用密钥对(git)或密码(对于其他所有内容,除了 Samba,它基本上是免费的)进行身份验证的。如果有一个地方可以管理我的用户和密码,这将大大简化我的生活。我不需要任何奢侈的东西,也许我会为每个真实用户创建一个 Linux 用户,然后从那里开始。任何提示都将不胜感激。

  8. 网页管理是否仍然是从我自己的工作站管理此“服务器”的好选择?我以前用过它,不知道社区是否已经转向更好的东西。

谢谢你们。

相关内容