Как я могу объединить dnsmasq и urlblacklist?

5551
Michael Lang

Есть ли способ объединить dnsmasq и популярный список urlblacklist.com?

Я думал о добавлении всех записей с флагом -A, но для обработки dnsmasq нужно много хостов, особенно на маломощных устройствах ARM, и мне нужно было бы написать скрипт для анализа черного списка каждый раз, когда это необходимо обновленный, так что я надеюсь, что есть лучший подход к этому в целом.

Чтобы уточнить флаг -A, взятый из справочной страницы для dnsmasq:

-A, --address=/<domain>/[domain/]<ipaddr>   Specify an IP address to return for any host in the given domains. Queries in the domains are never forwarded and always replied to with the specified IP address which may be IPv4 or IPv6. To give both IPv4 and IPv6 addresses for a domain, use repeated -A flags. Note that /etc/hosts and DHCP leases override this for individual names. A common use of this is to redirect the entire doubleclick.net domain to some friendly local web server to avoid banner ads. The domain specification works in the same was as for --server, with the additional facility that /#/ matches any domain. Thus --address=/#/1.2.3.4 will always return 1.2.3.4 for any query not answered from /etc/hosts or DHCP and not sent to an upstream nameserver by a more specific --server directive. 
6
когда вы говорите ** с флагом -A ** вы имеете в виду iptables -A или какую команду? cybernard 10 лет назад 0
добавлена ​​соответствующая информация о флаге -A. Michael Lang 10 лет назад 0
Нужно ли перенаправлять оскорбительный трафик или мы можем просто отбросить его? cybernard 10 лет назад 0
перенаправлены. Сейчас я на самом деле копаюсь в iptables, так как это может быть лучшим местом для решения того, что они называют «дискреционным контролем доступа (DAC)». На данный момент мне удалось получить ограниченную версию того, что я в конечном итоге хотел, с squid3 в качестве прозрачного прокси и squidguard, но это защищает только просмотр http / https, а не все порты. Michael Lang 10 лет назад 0
urlblacklist.com имеет 3 миллиона записей. "iptables" сам по себе будет отстой. Если вы объедините «iptables» с «ipset», это не приведет к снижению производительности. Одно правило таблиц «iptables» будет блокировать весь набор IP-адресов (до 65535 на набор). Вы можете создать список: набор, содержащий 8 отдельных наборов. Тем не менее, вам все равно потребуется много комплектов. Однако всю конфигурацию ipset можно сохранить как это «ipset save> all.txt» или восстановить как это «восстановление ipset» cybernard 10 лет назад 0
Ах, я не помещал данные в саму iptables. Я использовал libnetfilter_queue для передачи пакета в пользовательскую область, где я искал ip-адрес в базе данных postgresql urlblacklist для обработки не http (s) (только новые соединения). Я использовал squid и squidguard для http (s) трафика в прозрачном режиме. Производительность пока выглядит довольно солидно. Michael Lang 10 лет назад 0

1 ответ на вопрос

0
xpt

The Best Ad Blocking Method with dnsmasq is doing exactly as what you are asking for.

The urlblacklist config file is under /etc/dnsmasq.d/: /etc/dnsmasq.d/dbab.adblock.conf, exactly in the format of

address=/101com.com/192.168.2.101 address=/101order.com/192.168.2.101 ... 

For details refer to
https://sfxpt.wordpress.com/2015/11/22/dbab-from-start-to-finish/

In the section "Faq: How to blacklist those bad sites".

From the blog:

  • Block accessing to the ad sites from the DNS level.
  • All ads will be replaced by a 1×1 pixel gif image served locally by the Pixelserv server