Форум русскоязычного сообщества Ubuntu


За новостями русскоязычного сообщества и Ubuntu в целом можно следить на нашей страничке в Google+

Автор Тема: pdnsd, Блокирование не желательных доменных имен  (Прочитано 3851 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Unreg

  • Автор темы
  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Пример блокировки в dnsmasq

для работы dnsmasq в качестве DNS сервера можно использовать следующий файл конфигурации:
# nano /etc/dnsmasq.conf

Цитировать
# If you want dnsmasq to listen for DHCP and DNS requests only on
# specified interfaces (and the loopback) give the name of the
# interface (eg eth0) here.
# Repeat the line for more than one interface.
interface=eth1
# Include a another lot of configuration options.
conf-dir=/etc/dnsmasq.d

Блокирование не желательных URL на уровне DNS сервера
# nano /etc/dnsmasq.d/block

# Add domains which you want to force to an IP address here.
# The example below send any host in doubleclick.net to a local
# webserver.
address=/vkontakte.ru/127.0.0.1

Настройка pdnsd для этой же цели
В pdnsd.conf вношу
Цитировать
rr
{
    name = vkontakte.ru;
    a = 127.0.0.1;
}


эффекта нет
куда копать?
« Последнее редактирование: 18 Февраль 2010, 20:49:54 от Unreg »

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Не понял, почему два днс-сервера dnsmasq и pdns? Вместе они не должны ужиться на одной тачке.

В  dnsmasq это работает, например:
mamon@mamon-desktop:/etc/dnsmasq.d$ nslookup r0.ru localhost
Server: localhost
Address: 127.0.0.1#53

Non-authoritative answer:
Name: r0.ru
Address: 81.19.70.7

mamon@mamon-desktop:/etc/dnsmasq.d$ nslookup vkontakte.ru localhost
Server: localhost
Address: 127.0.0.1#53

Name: vkontakte.ru
Address: 127.0.0.1

mamon@mamon-desktop:/etc/dnsmasq.d$ cat /etc/dnsmasq.d/block
address=/vkontakte.ru/ 127.0.0.1

Пользователь решил продолжить мысль 18 Февраль 2010, 20:35:30:
С pdnsd тоже работает:

mamon@mamon-desktop:~$ nslookup odnoklassniki.ru localhost
Server: localhost
Address: 127.0.0.1#53

Non-authoritative answer:
*** Can't find odnoklassniki.ru: No answer

mamon@mamon-desktop:~$ nslookup vkontakte.ru localhost
Server: localhost
Address: 127.0.0.1#53

Name: vkontakte.ru
Address: 127.0.1.1

mamon@mamon-desktop:~$ cat /etc/pdnsd.conf

...

neg {
name=odnoklassniki.ru;
types=A,AAAA;
}
rr {
name=vkontakte.ru;
a=127.0.1.1;
}

...

Проверь, sudo netstat -netulup , кто dns обслуживает.
« Последнее редактирование: 18 Февраль 2010, 20:35:30 от Mam(O)n »

Оффлайн Unreg

  • Автор темы
  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
 :2funny: естественно работает только 1 dns сервер - pdnsd, раньше стоял dnsmasq. просто пример как в dnsmasq статические dns записи делать.

Цитировать
rr {
   name=vkontakte.ru;
   a=127.0.1.1;
}
вот тут и проблема
вношу подобную запись в pdnsd.conf и эффекта нет

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Под спойлером тот конфиг, на котором у меня этот тест сработал:
(Нажмите, чтобы показать/скрыть)

Оффлайн Unreg

  • Автор темы
  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
подправил первое сообщение

Пользователь решил продолжить мысль 18 Февраль 2010, 20:54:09:
pdnsd.conf
(Нажмите, чтобы показать/скрыть)

при том что в конфиге
neg {
        name=doubleclick.net;
        types=domain;   // This will also block xxx.doubleclick.net, etc.
}
на клиенте
>nslookup doubleclick.net
....
Non-authoritative answer:
Name:    doubleclick.net
Address:  216.73.93.8
« Последнее редактирование: 18 Февраль 2010, 20:54:09 от Unreg »

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
на клиенте
>nslookup doubleclick.net
А на сервере nslookup doubleclick.net localhost? И всёже, sudo netstat -netulup.


Пользователь решил продолжить мысль 18 Февраль 2010, 20:58:07:
B еще cat /etc/default/pdnsd

Оффлайн Unreg

  • Автор темы
  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
$ sudo netstat -netulup|grep :53
Цитировать
tcp        0      0 0.0.0.0:53380           0.0.0.0:*               LISTEN      0          15484       5744/rpc.statd
tcp        0      0 192.168.1.1:53          0.0.0.0:*               LISTEN      0          150301      5163/pdnsd
udp        0      0 192.168.1.1:53          0.0.0.0:*                           0          150302      5163/pdnsd
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           109        16841       6607/avahi-daemon:

$ nslookup doubleclick.net
Server:         192.168.0.1
Address:        192.168.0.1#53

Non-authoritative answer:
Name:   doubleclick.net
Address: 216.73.93.8
$ nslookup localhost
Server:         192.168.0.1
Address:        192.168.0.1#53

Name:   localhost
Address: 127.0.0.1


Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Беру, тупо копирую твой конфиг. Перегружаю pdnsd.
mamon@mamon-desktop:/etc$ nslookup ya.ru localhost
Server: localhost
Address: 127.0.0.1#53

Name: ya.ru
Address: 192.168.1.1

при том что в конфиге
neg {
        name=doubleclick.net;
        types=domain;   // This will also block xxx.doubleclick.net, etc.
}
Обрати внимание! Этот блок /* закомментирован  */

Пользователь решил продолжить мысль 18 Февраль 2010, 19:04:56:
$ nslookup doubleclick.net
$ nslookup localhost
Нет! Я именно так и имел ввиду, одной строчкой, nslookup doubleclick.net localhost, что означает просмотр адреса имени doubleclick.net с помощью сервера localhost!

Пользователь решил продолжить мысль 18 Февраль 2010, 21:08:34:
udp        0      0 192.168.1.1:53          0.0.0.0:*                           0          150302      5163/pdnsd
Единственное отличие, у меня он слушает на 0.0.0.0:53.

Проверь еще, может там какой трюк iptables с перенаправлением на тачке прописан?
« Последнее редактирование: 18 Февраль 2010, 21:08:34 от Mam(O)n »

Оффлайн Unreg

  • Автор темы
  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ

$ nslookup doubleclick.net 192.168.1.1
Server:         192.168.1.1
Address:        192.168.1.1#53

Non-authoritative answer:
Name:   doubleclick.net
Address: 216.73.93.8

$ dig doubleclick.net @192.168.1.1
Цитировать
; <<>> DiG 9.4.2-P2 <<>> doubleclick.net @192.168.5.1
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59439
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;doubleclick.net.               IN      A

;; ANSWER SECTION:
doubleclick.net.        697     IN      A       216.73.93.8

;; AUTHORITY SECTION:
doubleclick.net.        172600  IN      NS      ns1.doubleclick.net.
doubleclick.net.        172600  IN      NS      ns2.doubleclick.net.
doubleclick.net.        172600  IN      NS      ns3.doubleclick.net.
doubleclick.net.        172600  IN      NS      ns4.doubleclick.net.

;; ADDITIONAL SECTION:
ns1.doubleclick.net.    172600  IN      A       216.73.84.10
ns2.doubleclick.net.    172600  IN      A       216.73.87.10
ns3.doubleclick.net.    172600  IN      A       216.73.85.10
ns4.doubleclick.net.    172600  IN      A       216.73.81.10

;; Query time: 23 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Feb 18 21:12:03 2010
;; MSG SIZE  rcvd: 185



Пользователь решил продолжить мысль 18 Февраль 2010, 21:16:04:
Проверь еще, может там какой трюк iptables с перенаправлением на тачке прописан?
Нет, тогда бы вообще DNS сервер не ставил
« Последнее редактирование: 18 Февраль 2010, 21:16:04 от Unreg »

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Ну ты его раскоментировал этот блок то? Демон перегружал? nslookup ya.ru 192.168.1.1 также не работает?

Пользователь решил продолжить мысль 18 Февраль 2010, 21:21:22:
; <<>> DiG 9.4.2-P2 <<>> doubleclick.net @192.168.5.1
...
;; SERVER: 192.168.1.1#53(192.168.1.1)
Интересно, как это?

Оффлайн Unreg

  • Автор темы
  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
адреса во внутренней  сетки отличаются от опубликованных, не преемственность сохраняется
(каюсь, дурацкая привычка)

схема такая
soho router 1
(192.168.0.1/24)
                             linux-host c проблемным pdnsd             клиенты
                              192.168.1.1/24
soho router 2
192.168.2.1/24)

Пользователь решил продолжить мысль 18 Февраль 2010, 21:34:03:
cat /etc/default/pdnsd

# do we start pdnsd ?
START_DAEMON=yes
# auto-mode, overrides /etc/pdsnd.conf if set [see /usr/share/pdnsd/]
AUTO_MODE=recurse
# optional CLI options to pass to pdnsd(8)
START_OPTIONS=
« Последнее редактирование: 18 Февраль 2010, 21:34:03 от Unreg »

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Ну схему будем смотреть, когда локально заставим pdns работать. Что там с первой частью моего поста?

Пользователь решил продолжить мысль 18 Февраль 2010, 19:37:22:
# do we start pdnsd ?
START_DAEMON=yes
# auto-mode, overrides /etc/pdsnd.conf if set [see /usr/share/pdnsd/]
AUTO_MODE=recurse
# optional CLI options to pass to pdnsd(8)
START_OPTIONS=

Сотри recurse и перегрузи демон.

Оффлайн Unreg

  • Автор темы
  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
cat /etc/default/pdnsd
(Нажмите, чтобы показать/скрыть)

конфиг как есть

cat /etc/pdnsd.conf
(Нажмите, чтобы показать/скрыть)

а вот это интересно
после изменения /etc/default/pdnsd

$ sudo /etc/init.d/pdnsd restart
 * Stopping pdnsd                                                                                                                                     [ OK ]
 * Starting pdnsd                                                                                                                                     [ OK ]
Error: could not open socket /var/cache/pdnsd/pdnsd.status: No such file or directory

потом запустился

$ sudo /etc/init.d/pdnsd restart
 
Цитировать
* Stopping pdnsd                                                                                                                                     [ OK ]
 * Reloading Squid configuration files
 * Starting pdnsd                                                                                                                                     [ OK ]
 * Reloading Squid configuration files



Пользователь решил продолжить мысль 18 Февраль 2010, 17:47:29:
>ipconfig /flushdns

Настройка протокола IP для Windows

Успешно сброшен кэш распознавателя DNS.

>nslookup doubleclick.net
*** Can't find server name for address 192.168.5.1: Non-existent domain
*** Default servers are not available
Server:  UnKnown
Address:  192.168.5.1

*** No address (A) records available for doubleclick.net

>nslookup ya.ru
*** Can't find server name for address 192.168.5.1: Non-existent domain
*** Default servers are not available
Server:  UnKnown
Address:  192.168.5.1

Name:    ya.ru
Address:  192.168.5.1

^^ всё как есть, с клиента

заработало

только на кой pdnsd при рестарте squid force-reload устраивает

Пользователь решил продолжить мысль 18 Февраль 2010, 21:57:58:
Mam(O)n, спасибо
проверил pdnsd debian 5.0.4, там neg и rr директивы начинают работать после изменения в /etc/default/pdnsd
« Последнее редактирование: 18 Февраль 2010, 21:57:58 от Unreg »

Оффлайн Mam(O)n

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
только на кой pdnsd при рестарте squid force-reload устраивает
А у сквида тоже похоже кеш днс есть.

Пользователь решил продолжить мысль 18 Февраль 2010, 22:03:16:
проверил pdnsd debian 5.0.4, там neg и rr директивы начинают работать после изменения в /etc/default/pdnsd
Дело в том, что при AUTO_MODE=recurse используется другой конфигурационный файл, /usr/share/pdnsd/pdnsd-recurse.conf. Я при установке сразу указал, что править конфиг буду сам и он мне не выставил AUTO_MODE.
« Последнее редактирование: 18 Февраль 2010, 22:03:16 от Mam(O)n »

Оффлайн Unreg

  • Автор темы
  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Когда устанавливал pdnsd, приказал ему использовать корневые серверы, потом добавил ближайшие серверы
в итоге все проблемы из-за моей невнимательности и редактирования не того файла конфигурации
$ sudo cat /usr/share/pdnsd/pdnsd-recurse.conf
(Нажмите, чтобы показать/скрыть)


Пользователь решил продолжить мысль 18 Февраль 2010, 22:28:38:
$ sudo pdnsd-ctl status

(Нажмите, чтобы показать/скрыть)
Mam(O)n, еще раз спасибо
« Последнее редактирование: 18 Февраль 2010, 22:28:38 от Unreg »

 

Страница сгенерирована за 0.07 секунд. Запросов: 22.