I'm running Ubuntu server on a computer used as a wireless AP, but this AP should resolve all DNS requests to an internal IP address rather than actually performing the lookup.

I want to do the same thing that paid public WiFi hotspots do - you can connect but if you attempt to load any websites they show a default page. I've noticed that they do this by resolving all domains to an internal IP address.

I've added these lines to /etc/dnsmasq.conf:

# Add domains which you want to force to an IP address here.
# The example below send any host in double-click.net to a local
# web-server.
address=/com/192.168.2.1
address=/uk/192.168.2.1
address=/org/192.168.2.1
address=/gov/192.168.2.1
address=/net/192.168.2.1
address=/us/192.168.2.1

which works fine for those TLD's, but I'd like to be able to do it with all domains so I can sleep at night.

link|improve this question

2  
why not just use a captive portal like sputnik or the like? How do you plan to change DNS after they login? – Paul Ackerman Jan 18 at 16:33
Trying to achieve this? If you edit your dhcpd and then do iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -j DNAT --to-destination 192.168.2.1 – user Jan 18 at 16:40
@PaulAckerman I used public WiFi as an example. This AP will never allow real DNS requests to be made. I'll try the iptables thing. – Matt Jan 18 at 17:18
feedback

1 Answer

up vote 1 down vote accepted

As the dnsmasq manual says …

… just use # for a wildcard:

address=/#/192.168.2.1

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.