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

我们(和我一起工作的科技公司)生活在一个偏远的北方城镇,互联网接入有点奢侈,带宽相当有限。 在这里,每月几百到几千美元的超额费用并不less见。 我自己定期收取月费,只是通过我在家常规的互联网使用(我被允许10G为60CAD!)

作为我工作的一部分,我发现自己涉及到几家正在感受这一点的酒店。 我知道我可以想出一些办法来解决这个问题,但是我对系统pipe理还比较陌生,我不希望我的梦想能够克服现实。

所以,我把这些想法传达给你,那些比我有更多经验的人,希望你能分享一些你的想法和关注。

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

  • 必须能够帮助客户减less他们的使用(鱿鱼)
  • 允许有限的(吞吐量和总使用量)免费的互联网,因为这往往是特许经营政策。
  • 允许用户跟踪他们的带宽使用情况
  • 允许(可选)更高的速度和/或使用额外收费。 这笔费用可以在退房时在前台索取,不应要求使用PayPal或信用卡。
  • 不幸的是,一些特许经营有荒谬的政策,需要使用一个
    第三方远程服务来validation您的networking访客。 这意味着WPA不在了,这也意味着在互联网使用之前我不authentication,这将是他们的工作。 但是,如果酒店没有这个政策,我确实需要能够对互联网接入进行authentication。 我仍然需要跟踪带宽(默认情况下是来宾账户),并提供相同的限制,但客人往往需要一个完整的“无限”访问,存在,而不是吞吐量。
  • 为没有任何东西,办公室和访客networking隔离的酒店提供防火墙function(其中一些人在访客networking上运行他们的办公室,没有encryption,还有一个简单的TOS服务!)
  • 防止客人连接到其他客人,但提供了一种方法,让这种情况发生。 IE浏览器。 每个访客连接到一个页面,并允许其他客人,这写了一个iptables规则(与python-netfilter),并允许两个房间玩游戏,例如。

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

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

路由器防火墙规则

  • 访客可以只与路由器通话,通过路由器到达他们需要去的地方,包括互联网服务。
  • 如果现有的解决scheme不到位,Office可以用来将Office连接到Internet,否则,它只能用于networking可访问的Web(webmin + python-webmin?)界面。

路由器软件:

  • OpenVZ为我不太信任的一些服务提供虚拟化。 鱿鱼,FreeRADIUS和Apache。 唯一可以直接访问的服务是Apache。
  • Apache有mod_wsgi和django,因为我可以使用django快速编写,而且我的需求很低。 它也可能有FreeRADIUS mod,但似乎有一些注意事项。
  • 使用iptables在路由器上处理防火墙规则。
  • Webmin(或者一个自定义的django应用程序)可以抽象地控制员工可能需要访问的任何function。
  • Python,如果你还没有猜到它是我觉得最舒服的语言,我几乎可以用它来做任何事情。

最后,这是否已经完成,这是一个过于庞大的项目,不值得为一个人,还有一些我错过的工具,可以让我的生活更轻松?

为了logging,我对Python相当不错,但对许多其他语言不太熟悉(我可以通过PHP来努力,这是一个整体问题)。 我也是一个狂热的Linux用户,并且熟悉configuration文件和命令行。

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

编辑:我的道歉,如果这不是一个Q&A的意义,有些人期待,我只是在寻找的想法,并确保我没有试图做的事情已经完成。 我正在寻找pfSense作为我所需要的一个可能的开始。

现在看了pfSense项目后,我认为这将提供一些我需要的一些configuration。 它支持Captive Portal,可以通过Radius服务器进行设置,也可以使用Squid进行透明代理设置,而且似乎对stream量有很大的控制权。 我仍然接受任何可能有帮助的想法。 谢谢!

随意的想法:

  • 首先,从networking图开始。 不要担心启动Visio; 只是在纸上画一个。 一旦确定从哪里开始,请在此重新发布一些具体问题。 这张贴太密集了。 做一口大小会让你更好,更深思熟虑的答案,解决具体问题。

  • “防止客人连接到其他客人…”你不能在防火墙上做到这一点,因为每个人都在同一个内部局域网。 你必须在交换机上做,所以你需要一个托pipe(智能)交换机。

  • Python是这样的理想语言。 不要担心不知道PHP。 PHP不是正确的语言。 PHP从来不是正确的语言。 为了任何东西。

  • 除非你是自虐的,否则你不会想要维护你的iptables规则。 看看使用Shorewall来代替。 它只是一个在iptables之上的瘦configuration层,使其更容易pipe理。

有准备好的安装提供您正在谈论的那种服务。 通常是一个mini-itx系统,操作系统已经安装在小型闪存上。 通常可以在免费访问和支付系统之间进行select。 我假设你来自加拿大,但我只知道英国的具体例子。

一个Mikrotik热点将完成你所列的一切。 你应该能够运行每个450G或类似的位置。