如何将任何主机的请求redirect到本地networking中的主机名

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

这个networking服务器上有一个网站运行。

我想知道,当他/她尝试访问此无线networking上的任何其他IP时,如何将用户redirect到“192.168.0.1”。

我有“dnsmasq”作为我的DNS服务器。

总结:

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

“ http://193.168.0.1 ”==>在这个本地无线networking中没有意义,所以想把用户默认redirect到“ http://192.168.0.1 ”

谢谢,马亨德拉。

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

address=/#/192.168.0.1 

从手册页:…与/#/匹配任何域的附加function。 因此,–address = /#/ 1.2.3.4将永远返回1.2.3.4的任何查询没有从/ etc / hosts或DHCP应答…

您可以使用iptables将80端口redirect到您的ip

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

更新

好的,我解决了这个问题。 希望这个解决scheme能在未来帮助别人

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

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

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

address=/#/192.168.0.1

谢谢大家的时间。 干杯!