openNDS(开放网络分界服务)是一种高性能、占用空间小的强制门户。
它提供公共局域网和互联网之间的边界控制网关。
它支持从小型独立场所到具有多个门户入口点的大型网状网络的所有范围。
支持客户端驱动的强制门户检测 (CPD) 方法和网关驱动的强制门户识别方法(CPI - RFC 8910 和 RFC 8908)。
在其默认配置中,openNDS 提供动态生成的自适应启动页面序列。单击“继续”按钮即可授予互联网访问权限,并接受服务条款。一个简单的选项启用用户登录的输入表单。
该软件包包含 FAS API,允许许多灵活的定制选项。
完全支持创建复杂的第三方身份验证应用程序。
互联网托管的https 门户可以在没有安全错误的情况下实施,以激发最大的用户信心。
2.1 持续进修
强制网络门户检测 (CPD) 是一种客户端驱动的流程,适用于所有现代移动设备、大多数桌面操作系统和大多数浏览器。 CPD 进程自动发出连接到网络的端口 80 请求,作为探测强制状态的一种手段。
这个过程有时被称为“金丝雀测试”,由客户驱动,经过多年的发展,已成为可靠的事实上的标准。 openNDS 检测到此探测并向连接的客户端设备提供特殊的“启动”网页序列。
2.2 CPI - RFC 8910 和 RFC 8908
强制门户识别 (CPI) 是标准 RFC8910(DHCP 和路由器通告中的强制门户识别)和 RFC8908(强制门户 API)中定义的网关驱动过程。
网关路由器通过提供客户端可以访问进行身份验证的 URL 来通知连接客户端它处于强制状态。
客户端可以访问该 URL,以与传统 CPD 方法中相同的门户“启动”页面序列提供服务。
或者,客户端可以使用此 url 访问 RFC8908 Captive Portal API,最终获得启动页面序列以进行身份验证。
从 openNDS v9.5.0 开始,两种形式都支持 CPI 方法,并且默认启用。它可以作为配置选项禁用。
注意:在撰写本文时(2021 年 11 月),很少有客户端设备支持 CPI
安装后,将立即向连接客户端提供简单的三阶段动态 html 启动页面序列。客户端登录记录在日志中。
与“单击继续”默认设置非常相似,此选项有一个初始“登录页面”,向用户显示一个表单,用户必须在其中输入姓名和电子邮件地址。
支持数据量和数据速率阈值,无需额外依赖,独立上传和下载,并为所有客户端提供可配置的默认值或每个客户端的特定值。
如果超过数据量阈值,客户端将被取消身份验证。
如果超过速率阈值,则每个客户端使用动态桶过滤器来限制数据包级别的数据速率,要么限制速率接近阈值,要么通过增加桶大小以增加延迟为代价。
还可以使用第三方流量控制包,例如在提供内置阈值的同时提供系统范围的速率上限。
定制 openNDS 的方法有很多:
openNDS 的门户组件是其转发身份验证服务 (FAS) 。
FAS 以一组动态网页的形式提供用户验证/认证。
这些网页可能由 openNDS 本身提供服务,也可能由第三方 Web 服务器提供服务。第三方 Web 服务器可能位于远程互联网、局域网或 openNDS 路由器上。
默认的“单击继续”和“用户名/电子邮件地址登录”选项是 openNDS 本身提供启动页面序列的示例。
有关完整文档,请参阅 https://opennds.rtfd.io/
您可以选择稳定版、最新版或旧版本的历史文档。