DHCP服务器将任何urlredirect到login页面

我有一个Linux的DHCP服务器,我需要redirect所有的networkingstream量的登陆页面,将有如何在networking上注册他​​们的计算机的说明。

无论用户input什么URL,用户都需要redirect到一个网页(在DHCP服务器上)。

即:用户typesgoogle.com他们立即redirect到192.168.10.1。 这个DHCP服务器永远不会被用来访问networking。 一旦用户获得了从login页面注册计算机的指令,它们将被列入该特定DHCP服务器的黑名单,并被迫向主DHCP服务器请求IP。

我怎样才能创build这样的redirect?

Solutions Collecting From Web of "DHCP服务器将任何urlredirect到login页面"

你似乎试图建立所谓的强制门户。

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

一个简短的概述

您的网络将至少具有以下组件:

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

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

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

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

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

解决方案2:TCP拦截

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