Заметки → pdnsd - легкий кэширующий dns сервер для дома за 5 минут
pdnsd — это легкий кэширующий dns сервер, которые отлично подойдет людям с узким каналом, повышенной любознательностью и свободным временем.Почему он? Его довольно легко ставить\настраивать + имеет возможность сохранять\восстанавливать кэш при перезагрузке.
Установка
Пакет pdnsd давно входит в репозитарии большинства распространённых дистрибутивов, так что с установкой оного проблем быть не должно.
Настройка
мною будет рассмотрена минимальная рабочая «домашняя» конфигурация.Пример pdnsd.conf с обширными коминтариями можно найти в /etc/pdnsd.conf.sample(в arch'е он был там)
— копируем /etc/pdnsd.conf.sample в /etc/pdnsd.conf
— открываем любимый редактор и правим
вот что получилось у меня
сохраняем и добавляем в /etc/resolv.conf
— запускаем демон специфическим для вашего дистрибутива способом
— проверяем работу
на прекрасном сайте translated.by давно есть переведенная man страница с описанием всех опций конфигурационного файла
Проверяем
Установка
Пакет 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
Комментарии (0)
rss свернуть / развернутьТолько авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.