Comments 34

Спасибо!


Создание базы можно подсунуть в скрипт


    volumes:
      - /opt/docker/mysql/data:/var/lib/mysql
      - /opt/docker/mysql/structure/:/docker-entrypoint-initdb.d

тогда база будет создаваться сама.


UPD: а, у вас maria, надо посмотреть, умеет ли их image такую штуку
UPD2: да, умеет, тут у них с mysql совместимость

Не думаю, что это вынужденная необходимость: блокировать всю рекламу скопом.
Поскольку в настоящее время, это решение работает лучше, чем решение с «приемлемой» рекламой, мы вынуждены блокировать всю рекламу.
Пока нет возможности отфильтровать только порнуху, мошенников и неприемлемые форматы, блокироваться будет всё.
Она становится мемом, судя по тому, что творится в интернетиках на этот счет.
dnsmasq потребляет память в килобайтах, делает всё то же самое, работает даже на роутерах с 16мб оперативки.
зачем этот велосипед было городить — непонятно.
Вы в него пробовали запихнуть 400 тысяч доменов?
Пробовали управлять всем этим делом?
Как быстро он стартует с таким багажом?

Сомневаюсь, что он сможет это все адекватно переваривать.
root@router:/etc/dnsmasq.d# cat ad* | wc -l
635317
стартует минуту на слабом железе.
На самом деле причина такой колосальной разницы между «настоящими» DNS и dnsmaq в том, что большие DNS сделаны для того, чтобы обслуживать крупные авторитативные DNS в интернете. Поэтому они сразу тащат все в память, предполагая, что производительность важнее и хостер с 400к доменов уж может себе позволить 5G памяти.

А dnsmasq сделан именно как прокладка между локальным компом или максимум локальной сеткой и большим миром, поэтому логика его работы совсем другая. Если не пытаться разом обратится ко все 600К доменам, то и память он не должен так кушать.
Тоже использую dnsmasq для блокировки рекламы.
# cat /etc/dnsmasq.hosts | wc -l
48306

Базы обновляю при помощи скрипта в cron.
#!/bin/bash
#
if test -s /tmp/hosts_list.*
then
    rm -f /tmp/hosts_list.*
fi
wget --no-check-certificate -O /tmp/hosts_list.1 http://hosts-file.net/ad_servers.txt &&
wget --no-check-certificate -O /tmp/hosts_list.2 https://adaway.org/hosts.txt &&
cat /tmp/hosts_list.* | grep -v ^# | sort -u > /etc/dnsmasq.hosts &&
rm -f /tmp/hosts_list.* &&
/bin/systemctl reload dnsmasq
так же быстр nsd, хотя да, dnsmasq есть во всех роутерах,
А уж цеплять скуль к днс — сильное снижение времени ответа
$ dig @127.0.0.1 ya.ru

; <<>> DiG 9.9.5-3ubuntu0.8-Ubuntu <<>> @127.0.0.1 ya.ru
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30975
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;ya.ru.             IN  A

;; ANSWER SECTION:
ya.ru.          6685    IN  A   213.180.193.3
ya.ru.          6685    IN  A   93.158.134.3
ya.ru.          6685    IN  A   213.180.204.3

;; Query time: 44 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Nov 02 15:46:33 EET 2016
;; MSG SIZE  rcvd: 82

Да вроде не сильно снижает время ответа. ;)

Это, прошу прощения, в сравнении с чем?
у меня вафлероутер (на атоме вроде) говорит за 1(кеш) и 4 (not cached) msec, т.е. в 11 раз быстрее, что всё-таки является показателем, имхо.
Про unbound забыл, тоже очень быстрое/простое поделие, но сие для диких нагрузок

Вот и я говорю — в сравнении с чем… Меня это время ответа устраивает. Я из дома не устраиваю гонки на бирже. Меня больше волнует отсутствие рекламы дома.


На работе я не использую PowerDNS, само собой. Там все по другому.

UFO landed and left these words here
Проще чем bind, ни вьюх, ни плагинов, бэкенд не поменяешь для зон.
Из исходников? я подобным только на проектах с BSD занимаюсь, а там j4, минимум.
Снизойдите ко мне, если я совсем в танке…
Я, в общем знаю, что такое DNS, а вот Bind и прочее — не сильно.

Из статьи я понял, как настроить сёрвис, нокак вот сделать так, чтобы мои устройства дома использовали этот сёрвис?
— нужно ли будет в каждом устройстве прописывать DNS server, указывая на мой?
— или это каким-то образом надо будет сделать на роутере, чтобы он всем раздавал это в настройках сети через DHCP?
dhcp в стандартных прошивках роутеров обычно указывает себя в качестве днс-сервера, всё зависит от модели
Ну да. Поэтому я и спрашиваю — как заставить это всё работать?
Нужно чтобы роутер умел указывать на нужный DNS? Или он указывает на себя, а сам смотрит на поставленный PowerDNS вместо провайдера?
Или надо на конечных устройствах указывать на свой PowerDNS сервер?
Only those users with full accounts are able to leave comments. Log in, please.