Авторизация

Вы можете войти через одну из учетных записей:

ИЛИ



Напомнить пароль
Регистрация

Заметкиpdnsd - легкий кэширующий dns сервер для дома за 5 минут

pdnsd — это легкий кэширующий dns сервер, которые отлично подойдет людям с узким каналом, повышенной любознательностью и свободным временем.Почему он? Его довольно легко ставить\настраивать + имеет возможность сохранять\восстанавливать кэш при перезагрузке.

Установка
Пакет pdnsd давно входит в репозитарии большинства распространённых дистрибутивов, так что с установкой оного проблем быть не должно.

Настройка
мною будет рассмотрена минимальная рабочая «домашняя» конфигурация.Пример pdnsd.conf с обширными коминтариями можно найти в /etc/pdnsd.conf.sample(в arch'е он был там)

— копируем /etc/pdnsd.conf.sample в /etc/pdnsd.conf
— открываем любимый редактор и правим
вот что получилось у меня
global {
        perm_cache=2048;
        cache_dir="/var/cache/pdnsd";
        pid_file = /var/run/pdnsd.pid;
        run_as="nobody";        #проверьте,что такой пользователь существует в системе
        server_ip = 127.0.0.1;  # Use eth0 here if you want to allow other
                                # machines on your network to query pdnsd.
        status_ctl = on;        #ставим on чтобы управлять с помощью специальной утилиты pdnsd-ctl
        paranoid=on;       # This option reduces the chance of cache poisoning
                           # but may make pdnsd less efficient, unfortunately.
        query_method=udp_tcp;
        min_ttl=15m;       # Retain cached entries at least 15 minutes.
        max_ttl=1w;        # One week.
        timeout=10;        # Global timeout option (10 seconds).
        neg_domain_pol=on;
}

server {
        label= "provider";
        ip = x.x.x.x , 
             x.x.x.x ;  # вместо x вставляем ip своего провадйера
#       proxy_only=on;     # Do not query any name servers beside your ISP's.
                           # This may be necessary if you are behind some
                           # kind of firewall and cannot receive replies
                           # from outside name servers.
        timeout=4;         # Server timeout; this may be much shorter
                           # that the global timeout option.
        uptest=if;         # Test if the network interface is active.
        interface=eth0;    # The name of the interface to check.
        interval=10m;      # Check every 10 minutes.
        purge_cache= on;   # Keep stale cache entries in case the ISP's
                           # DNS servers go offline.
}
server {
        label = "root-servers";
        root_server = discover; # Query the name servers listed below
                                # to obtain a full list of root servers.
        randomize_servers = on; # Give every root server an equal chance
                                # of being queried.
        ip =    198.41.0.4,     # This list will be expanded to the full
                192.228.79.201; # list on start up.
        timeout = 5;
        uptest = query;         # Test availability using empty DNS queries.
        interval = 30m;         # Test every half hour.
        ping_timeout = 300;     # Test should time out after 30 seconds.
        purge_cache = off;
        exclude = .localdomain;
        policy = included;
        preset = off;
}


сохраняем и добавляем в /etc/resolv.conf

nameserver 127.0.0.1

— запускаем демон специфическим для вашего дистрибутива способом
— проверяем работу

pdnsd-ctl status

Opening socket /var/cache/pdnsd/pdnsd.status
pdnsd-1.2.8-par running on desktop.

Cache status:
=============
2048 kB maximum disk cache size.
9780 of 2107392 bytes (0.464%) memory cache used in 36 entries.

Thread status:
==============
server status thread is running.
pdnsd control thread is running.
tcp server thread is running.
udp server thread is running.
23 query threads spawned in total (0 queries dropped).
0 running query threads (0 active, 0 queued).

Configuration:
==============
Global:
-------
Cache size: 2048 kB
Server directory: /var/cache/pdnsd
Scheme file (for Linux pcmcia support): /var/lib/pcmcia/scheme
Server port: 53
Server ip (0.0.0.0=any available one): 127.0.0.1
Ignore cache when link is down: off
Maximum ttl: 604800
Minimum ttl: 900
Negative ttl: 900
........................приведены только первые 30 строк


на прекрасном сайте translated.by давно есть переведенная man страница с описанием всех опций конфигурационного файла

Проверяем

утилиту dig можно найти в пакете dnsutils

time2die@desktop:~$ dig welinux.ru

; <<>> DiG 9.7.1-P2 <<>> welinux.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15278
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
;welinux.ru.	 IN	A

;; ANSWER SECTION:
welinux.ru.	 900	IN	A	77.222.56.31

;; AUTHORITY SECTION:
welinux.ru.	 900	IN	NS	ns2.spaceweb.ru.
welinux.ru.	 900	IN	NS	ns1.spaceweb.ru.

;; Query time: 41 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Oct 30 20:34:27 2010
;; MSG SIZE rcvd: 89

time2die@desktop:~$ dig welinux.ru

; <<>> DiG 9.7.1-P2 <<>> welinux.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3182
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
;welinux.ru.	 IN	A

;; ANSWER SECTION:
welinux.ru.	 896	IN	A	77.222.56.31

;; AUTHORITY SECTION:
welinux.ru.	 896	IN	NS	ns2.spaceweb.ru.
welinux.ru.	 896	IN	NS	ns1.spaceweb.ru.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Oct 30 20:34:31 2010
;; MSG SIZE rcvd: 89


источник
  • 0
  • android
  • 30 октября 2010, 17:27
  • add twitter 

Комментарии (0) Вконтакте (0) facebook (0)

Комментарии (0)

rss свернуть / развернуть

Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.