适用于带宽有限的小型酒店的无线 AAA

Ant*_*cox 8 router internet radius pfsense bandwidth-control

我们(与我一起工作的技术人员和我自己)住在一个偏远的北部小镇,在那里互联网接入有点奢侈,而且带宽非常有限。在这里,每月从几百美元到几千美元不等的超额费用并不少见。我自己只是通过在家中定期使用互联网而产生每月定期费用(我可以花 60 加元获得 10G!)

作为我工作的一部分,我发现自己参与了几家感受到这种情况的酒店。我知道我可以想出一些办法来解决这个问题,但我对系统管理比较陌生,我不希望我的梦想战胜现实。

所以,我将这些想法传递给那些比我更有经验的人,希望你能分享一些你的想法和担忧。

这个系统必须具有成本效益,是的,这里收费很高,但对技术的信任是我见过的最低的。

  • 必须能够帮助客户减少使用量(鱿鱼)
  • 允许有限(吞吐量和总使用量)数量的免费互联网,因为这通常是特许经营政策。
  • 允许用户跟踪他们的带宽使用情况
  • 允许(可选)更高的速度和/或使用额外收费。这笔费用可在结账时在前台获得,不需要使用 PayPal 或信用卡。
  • 不幸的是,一些特许经营权有荒谬的政策,要求使用
    第三方远程服务来验证您网络的访客身份。这意味着 WPA 已过时,也意味着我在使用 Internet 之前不进行身份验证,这将是他们的工作。但是,如果酒店没有此政策,我确实需要 ABILITY 对 Internet 访问执行身份验证。我仍然需要跟踪带宽(默认情况下在来宾帐户下)并提供相同的限制,但是来宾通常需要完整的“无限制”访问,就存在而言,而不是吞吐量。
  • 为什么都没有的酒店提供防火墙功能,办公室和访客网络隔离(其中一些人在访客网络上运行他们的办公室,没有加密,并且有一个简单的 TOS 上手!)
  • 阻止客人连接到其他客人,但提供一种允许这种情况发生的方法。IE。例如,每个访客连接到一个页面并允许另一个访客,这会编写一个 iptables 规则(使用 python-netfilter)并允许两个房间玩游戏。

我对如何实现这一点的想法。一个体面的盒子(我们现在称它为路由器)有很多内存和 3 个网卡:

  1. 互联网
  2. 办公室
  3. 访客(AP + 室内以太网)

路由器防火墙规则

  • 访客只能与路由器通话,通过路由器将他们路由到他们需要去的地方,包括互联网服务。
  • 如果没有现有解决方案,Office 可用于将 Office 桥接到 Internet,否则,它仅适用于网络可访问的 Web(webmin+python-webmin?)接口。

路由器软件:

  • OpenVZ 为一些我不太信任的服务提供虚拟化。Squid、FreeRADIUS 和 Apache。客人可以直接访问的唯一服务是 Apache。
  • Apache有mod_wsgi和django,因为我用django写起来很快,需求低。它也可能有 FreeRADIUS mod,但似乎有一些警告。
  • 防火墙规则在路由器上使用 iptables 处理。
  • Webmin(或自定义 django 应用程序)提供对员工可能需要访问的任何功能的抽象控制。
  • Python,如果你没有猜到它是我感觉最舒服的语言,我几乎用它做所有事情。

最后,这是否已经完成,这是一个不值得一个人承担的过于庞大的项目,和/或我缺少一些可以让我的生活更轻松的工具吗?

作为记录,我对 Python 相当好,但对许多其他语言不是很熟悉(我可以通过 PHP 挣扎,这是一个表面问题)。我也是一个狂热的 linux 用户,并且熟悉配置文件和命令行。

感谢您的时间,我期待着阅读您的回复。

编辑:如果这不是某些人所期望的问答,我很抱歉,我只是在寻找想法并确保我没有试图做已经完成的事情。我现在正在将 pfSense 作为我需要的可能的开始。

jam*_*ieb 0

随意的想法:

  • 首先,从网络图开始。不用担心启动 Visio;只需在纸上画一个即可。一旦您弄清楚从哪里开始,请在此处重新发布一些具体问题。这个帖子太密集了。使其精简将为您提供针对特定问题的更好、更周到的答案。

  • “防止访客连接到其他访客...”您将无法在防火墙上执行此操作,因为每个人都位于同一内部 LAN 上。您必须在交换机上执行此操作,因此您需要获得托管(智能)交换机。

  • Python 是此类事情的理想语言。不用担心不懂 PHP。PHP 不是正确的语言。PHP 从来都不是正确的语言。为了任何东西。

  • 你不会想要手动维护你的 iptables 规则,除非你是受虐狂。考虑使用Shorewall来代替。它只是 iptables 之上的一个薄配置层,使其更易于管理。