如何将任何主机的请求重定向到本地网络内的我的主机名

如何将任何主机的请求重定向到本地网络内的我的主机名

我有一个本地无线网络正在运行。它没有连接到互联网,并且有一个在 192.168.0.1 上运行的网络服务器 (lighttpd)

该网络服务器上有一个网站正在运行。

我想知道每当用户尝试访问此无线网络上的任何其他 IP 时,如何将其重定向到“192.168.0.1”。

我的 DNS 服务器是“dnsmasq”。

总结一下:

http://192.168.0.1“ ==> 允许访问

http://193.168.0.1“ ==> 在这个本地无线网络中没有意义,因此希望默认将用户重定向到“http://192.168.0.1

谢谢,马亨德拉。

答案1

您可以尝试将此行添加到您的 dnsmasq.conf 中:

address=/#/192.168.0.1

来自手册页:... 附加功能使 /#/ 匹配任何域。因此,对于任何未从 /etc/hosts 或 DHCP 得到答复的查询,--address=/#/1.2.3.4 将始终返回 1.2.3.4...

答案2

你可以使用 iptables 将 80 端口重定向到你的 ip

iptables -t nat -D PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1

更新

答案3

好的,我解决了这个问题。将解决方案发布在这里,希望将来能对某人有所帮助...

我通过修改 lighttpd.conf 文件解决了这个问题。我在 lighttpd.conf 文件中添加了以下内容:

$HTTP["host"] !~ "mydesiredhostname\.com" {
        url.redirect = (
                                "" => "http://192.168.0.1/"
                        )
}

我甚至必须将以下内容添加到我的 dnsmasq.conf 文件中:(感谢下面的答案)

address=/#/192.168.0.1

感谢大家抽出时间。干杯!

相关内容