2

我有一个 linux DHCP 服务器,我需要将所有网络流量重定向到一个登录页面,该页面将说明如何在网络上注册他​​们的计算机。

无论用户输入什么 URL,都需要将用户重定向到网页(在 DHCP 服务器上)。

即:用户键入 google.com 他们会立即重定向到 192.168.10.1。此 DHCP 服务器将永远不会用于访问 Web。一旦用户从登录页面获得注册计算机的说明,他们将被列入此特定 DHCP 服务器的黑名单,并被迫从主 DHCP 服务器请求 IP。

如何创建这样的重定向?

4

1 回答 1

3

您似乎正在尝试设置所谓的强制门户。

这有几个组件,其中一个确实是 DHCP 服务器,但这并不是最关键的。

简短概述

您的网络将至少包含以下组件:

  • DHCP 服务器
  • DNS 服务器
  • 网关
  • 登录系统

客户端将从 DHCP 服务器获得 IP 地址,并被告知使用您的 DNS 服务器和网关。

解决方案 1:基于 DNS 的重定向

在用户登录之前,您的 DNS 服务器会回复登录 Web 服务器的 IP 地址。注意在 DNS 回复上设置一个非常低的 TTL。您要确保客户端浏览器在登录后重新解析 IP 地址。

这很可能会导致除端口 80 上的 Web 浏览之外的任何应用程序出现问题。

方案二:TCP拦截

这是一个稍微困难的解决方案,但可能会更好。DNS 服务器总是为客户端试图访问的任何网站返回正确的 IP 地址。网关会将端口 80 上的 TCP 会话重定向到登录服务器。所有其他数据包都应该得到一个 ICMP 错误回复(例如网络不可达)。

于 2012-04-26T10:49:47.407 回答