DHCP服务器将任何URL重定向到登录页面

时间:2012-04-26 10:13:53

标签: linux redirect dns dhcp spoofing

我有一个Linux DHCP服务器,我需要将所有网络流量重定向到一个登陆页面,该登陆页面将提供有关如何在网络上注册计算机的说明。

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

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

如何创建这样的重定向?

1 个答案:

答案 0 :(得分:3)

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

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

简短概述

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

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

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

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

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

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

解决方案2:TCP拦截

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

相关问题