我们(和我一起工作的技术人员和我自己)住在一个偏远的北方小镇,那里的互联网接入有点奢侈,而且带宽非常有限。在这里,从每月几百美元到几千美元不等的超额费用并不少见。我自己只是通过在家中经常使用互联网而产生每月定期费用(我可以花 60 加元获得 10G!)
作为我工作的一部分,我发现自己参与了几家有这种感觉的酒店。我知道我可以想出办法来解决这个问题,但我对系统管理还比较陌生,我不希望我的梦想战胜现实。
所以,我把这些想法传递给你,那些比我更有经验的人,希望你能分享你的一些想法和担忧。
这个系统必须具有成本效益,是的,这里的收费很高,但对技术的信任是我见过的最低的。
- 必须能够帮助客户减少使用量(鱿鱼)
- 允许有限的(吞吐量和总使用量)免费互联网,因为这通常是特许经营政策。
- 允许用户跟踪他们的带宽使用情况
- 允许(可选)更高的速度和/或额外收费的使用。此费用可在结账时在前台索取,无需使用 PayPal 或信用卡。
- 不幸的是,一些特许经营店有荒谬的政策,要求使用
第三方远程服务来验证您网络的客人。这意味着 WPA 已经退出,也意味着我在使用 Internet 之前不进行身份验证,这将是他们的工作。但是,如果酒店没有此政策,我确实需要 ABILITY 执行 Internet 访问身份验证。我仍然必须跟踪带宽(默认情况下在访客帐户下)并提供相同的限制,但是访客通常需要完整的“无限制”访问,就存在而言,而不是吞吐量。 - 为没有任何东西的酒店提供防火墙功能,办公室和访客网络隔离(其中一些人在访客网络上运行他们的办公室,没有加密,并且使用简单的 TOS!)
- 防止客人连接到其他客人,但提供允许这种情况发生的方法。IE。例如,每个访客连接到一个页面并允许其他访客,这会编写一个 iptables 规则(使用 python-netfilter)并允许两个房间玩游戏。
我对如何实现这一点的想法。一个像样的盒子(我们现在称它为路由器)有很多内存和 3 个 NIC:
- 互联网
- 办公室
- 客人(接入点 + 室内以太网)
路由器防火墙规则
- 客人只能与路由器交谈,通过路由器将他们路由到他们需要去的地方,包括互联网服务。
- 如果没有现有解决方案,Office 可用于将 Office 连接到 Internet,否则,它仅适用于网络可访问的 Web(webmin+python-webmin?)界面。
路由器软件:
- OpenVZ 为一些我不太信任的服务提供虚拟化。鱿鱼、FreeRADIUS 和 Apache。客人可以直接访问的唯一服务是 Apache。
- Apache 有 mod_wsgi 和 django,因为我可以使用 django 快速编写,而且我的需求很低。它也可能具有 FreeRADIUS 模块,但似乎有一些警告。
- 防火墙规则在路由器上使用 iptables 处理。
- Webmin(或自定义 django 应用程序)提供对员工可能需要访问的任何功能的抽象控制。
- Python,如果你没有猜到它是我感觉最舒服的语言,我几乎在所有事情上都使用它。
最后,这是否已经完成,这是一个过于庞大的项目,不值得一个人承担,和/或是否有一些我缺少的工具可以让我的生活更轻松?
作为记录,我对 Python 相当了解,但对许多其他语言不是很熟悉(我可以通过 PHP 挣扎,这是一个表面问题)。我也是一个狂热的 linux 用户,并且熟悉配置文件和命令行。
感谢您的宝贵时间,我期待着阅读您的回复。
编辑:如果这不是一些人所期待的问答,我很抱歉,我只是在寻找想法并确保我没有尝试做已经完成的事情。我现在将 pfSense 视为我需要的一个可能的开始。