我有一个本地无线网络正在运行。它没有连接到互联网,并且有一个在 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
感谢大家抽出时间。干杯!