【发布时间】:2013-03-11 05:36:55
【问题描述】:
我想构建一个节点 js 互联网网关/强制门户。所以我可以让用户“授权”他的mac地址或ip地址,如果mac地址不可能像wifi热点那样使用
所以我想到的是节点可以有一个 dhcp 服务器,它提供它的 IP 地址作为网关。因此,如果用户在 Web 浏览器上加载一个页面,它会给他们一个身份验证屏幕,然后他们可以登录,然后网关可以正确路由其数据包。
我如何使用 node.js 进行授权步骤,所以如果他们没有登录,它会显示一个登录页面并且他们是否要正确路由数据包?
【问题讨论】:
-
我会使用您的 Node.js 应用程序来管理客户端和 Web 界面,但使用您系统的路由功能。很酷的项目。我希望有一个好的解决方案。
-
谢谢!。我正在考虑使用 iptables 使用节点路由和更改规则,但我不确定当用户没有会话时如何将流量重定向到强制门户
-
一种方法是使用强制门户的 IP 响应 DNS 查询。但是这是有问题的,因为客户端通常已经缓存了一些 DNS 条目。此外,带有恶意软件的客户端通常会将一些 DNS 查询重定向到本地主机或外部 DNS 服务器。最后,客户端可能手动配置了自己的 DNS 服务器。您需要做的是透明地将端口 80 上的所有 TCP 流量重定向到您的服务器。我不知道该怎么做。
-
我想弄清楚你的问题:所以你基本上想使用 node.js 作为你的网络操作系统的一部分(安装在你的路由器上),有效地充当你网络上的默认网关?可以编写一个在端口 80 上接收连接的应用程序,然后在客户端发送并返回请求和响应后延迟转发连接(隧道)......但是将该 node.js 配置为默认网关是一些事情别的。所以请澄清一下,也许我可以帮忙。
-
我不确定这是否会达到相同的最终目标 - 但在节点中创建 HTTP/SOCKS 代理并在顶部添加一些身份验证会快得多。如果您希望我详细说明,请告诉我,我可以留下正确的答案..
标签: node.js routing wifi iptables