De préférence quelque chose de similaire à iptables
. Fondamentalement, je veux faire un filtrage de domaine / liste blanche / liste noire comme je le ferais avec des IP iptables
. Y a-t-il des recommandations sur la façon de procéder?
12
iptables
peut être fait mais cela peut être risquéRéponses:
Si vous supprimez le trafic à l'aide de la résolution de noms avec des règles iptables, les noms seront résolus lors de la création de cette règle. Si quelque chose change, votre règle ne sera plus valide. Cela pourrait être une solution (pas une belle ...):
Depuis un autre hôte à l'intérieur du LAN:
Fondamentalement, vous dites à chaque paquet DNS (
udp/53
) dont la chaîne hexadécimalewww.facebook.com to
est supprimée. Notez que cela supprimera la résolution de nom et non le trafic http lui-même.Les nombres hexadécimaux séparés par des tuyaux (
|03|www|08|facebook|03|com
) sont la représentation du.
simbole de points sur les requêtes DNS. Il indiquera combien des caractères suivants représenteront chaque partie d'un FQDN (hôte, domaine, domaine de premier niveau). Exemple:hôte:
mail.google.com
représentation hexadécimale:
04 6d 61 69 6c 06 67 6f 6f 67 6c 65 03 63 6f 6d
"représentation visuelle:
04mail06google03com
Obtenir le paquet avec tcpdump:
Mais rappelles-toi:
Sources: ici et ici
la source
Peut-être que la réponse à votre question est trop tardive, mais récemment j'ai dû résoudre un problème similaire et Google m'amène ici
Après des recherches infructueuses, j'ai écrit un petit utilitaire en C qui intercepte les réponses DNS, compare le nom de domaine qu'il contient avec l'expression régulière donnée et répertorie les adresses IP correspondantes. Le voici: https://github.com/vmxdev/sidmat/
Vous n'avez pas besoin de configurer votre propre serveur DNS, l'utilitaire peut intercepter les réponses DNS de n'importe quel serveur
Par exemple, pour voir les adresses IP facebook.com (et sous-domaines) qui sont résolues en ce moment, vous pouvez exécuter
où eth0 est l'interface réseau sur le routeur (ou où les réponses DNS passent)
Vous pouvez facilement l'intégrer avec iptables (ou iptables avec ipset)
Mais:
la source
Pour la liste noire, le moyen le plus simple consiste probablement à utiliser dnsmasq
Installer
dnsmasq
et ajoutez cette ligne à
/etc/dnsmasq.conf
Cela bloquera facebook.com et tous ses sous-domaines.
Remarque: pour ubuntu, consultez cet article .
la source
Si vous exécutez un bind9 de mise en cache local, il est souvent réalisé par un
dummy-block
et le
dummy-block
fichier:Voir également:
Exécution de BIND9 et ISC-DHCP avec un
facebook.com
exemple.Une approche simple basée sur DNS pour bloquer la publicité Web
la source