32

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.

Matt
  • 625
  • 1
  • 7
  • 14
  • 4
    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 '12 at 16:33
  • [Trying to achieve this?](http://www.ex-parrot.com/pete/upside-down-ternet.html) 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 '12 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 '12 at 17:18

2 Answers2

59

As the dnsmasq manual says …

… just use # for a wildcard:

address=/#/192.168.2.1
JdeBP
  • 3,970
  • 17
  • 17
  • 7
    rtfm indeed but god bless you anyway :D – Pitto May 10 '13 at 13:41
  • 4
    Which manual? 'man dnsmasq' gives me a BOAT LOAD of command line options, but almost no information on config file layout. – Avian00 Jun 11 '13 at 11:31
  • 10
    I know this is late, but in case someone finds this useful: all the long options in the dnsmasq man page are valid in config files as well - all you need to do is drop the preceding dashes (and put each option on its own line). Event the argument syntax remains the same. – jaymmer - Reinstate Monica Jul 13 '15 at 01:23
0

Beware that although dnsmasq's manual might say anything in its version 2.86

address=/#/…IP.IP.IP.IP…

no longer works — a bug probably.

poige
  • 9,171
  • 2
  • 24
  • 50