Utilisation de dnsmasq pour résoudre tous les hôtes à la même adresse

29

J'exécute un serveur Ubuntu sur un ordinateur utilisé comme AP sans fil, mais cet AP devrait résoudre toutes les demandes DNS vers une adresse IP interne plutôt que d'effectuer réellement la recherche.

Je veux faire la même chose que les points d'accès Wi-Fi publics payants - vous pouvez vous connecter, mais si vous essayez de charger des sites Web, ils affichent une page par défaut. J'ai remarqué qu'ils le font en résolvant tous les domaines en une adresse IP interne.

J'ai ajouté ces lignes à /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

ce qui fonctionne bien pour ces TLD, mais j'aimerais pouvoir le faire avec tous les domaines afin que je puisse dormir la nuit.

Mat
la source
4
pourquoi ne pas simplement utiliser un portail captif comme spoutnik ou similaire? Comment prévoyez-vous de changer le DNS après leur connexion?
Paul Ackerman
Vous essayez d'y parvenir? Si vous modifiez votre dhcpd et faites ensuite iptables -A PREROUTING -s 192.168.0.0/255.255.255.0 -p tcp -j DNAT --to-destination 192.168.2.1
user
@PaulAckerman J'ai utilisé le WiFi public comme exemple. Cet AP ne permettra jamais de faire de vraies requêtes DNS. Je vais essayer la chose iptables.
Matt

Réponses:

53

Comme le dnsmasqdit le manuel…

… Utilisez simplement #un caractère générique:

adresse = / # / 192.168.2.1

JdeBP
la source
7
rtfm en effet mais que Dieu vous bénisse quand même: D
Pitto
4
Quel manuel? 'man dnsmasq' me donne une CHARGE BATEAU des options de ligne de commande, mais presque aucune information sur la disposition du fichier de configuration.
Avian00
8
Je sais que c'est tard, mais au cas où quelqu'un trouverait cela utile: toutes les longues options de la page de manuel dnsmasq sont également valides dans les fichiers de configuration - tout ce que vous devez faire est de supprimer les tirets précédents (et de placer chaque option sur sa propre ligne ). Si la syntaxe d'argument reste la même.
jaymmer