Я установил pdnsd: это правильно работает.
Моя проблема состоит в том, что это игнорирует opendns сервер, который я обеспечил в разделе "сервера" маркированного "resolvconf" pdnsd.conf: вместо него он использует сервер, который обеспечивается dhcp.
С другой стороны, если я меняю имя раздела сервера к чему-то еще, затем pdnsd правильно использует opendns сервер, но resolvconf помещают DNS, предоставленный dhcp в resolv.conf, таким образом, pdnsd обойден.
Так, мой вопрос: как у меня может быть resolv.conf набора resolvconf к 127.0.0.1, И pdnsd используют opendns сервер, когда запрос не кэшируется?
Одно обходное решение, которое я нашел, должно установить в администраторе сети, "DHCP (обращаются только)", для соединения, но проблема с этим состоит в том, что это должно быть установлено для каждого различного соединения: это означает, что при использовании ноутбука, необходимо изменить его для каждого Wi-Fi, с которым Вы соединяетесь!
Я думаю, что нашел меня решением: добавление
supersede domain-name-servers 127.0.0.1;
кому: /etc/dhcp/dhclient.conf
делает задание.
Таким образом, возможно, для кого-то еще может быть полезно, если я пишу, мое короткое практическое руководство, чтобы иметь работу pdnsd в человечности с фиксированным (скажите, opendns), сервер доменных имен, независимо от используемого соединения.
/etc/NetworkManager/NetworkManager.conf
и комментирование #dns=dnsmasq
Вынудите администратора сети установить DNS на 127.0.0.1 для каждого соединения путем добавления
supersede domain-name-servers 127.0.0.1;
кому: /etc/dhcp/dhclient.conf
/etc/default/pdnsd
и набор START_DAEMON=yes
Настройте pdnsd для использования любимого DNS. Например, для использования opendns Ваш /etc/pdnsd
должен быть похожим как
global {
perm_cache=16536;
cache_dir="/var/cache/pdnsd";
max_ttl=604800;
run_as="pdnsd";
paranoid=on;
status_ctl=on;
neg_rrs_pol=on;
par_queries=1;
}
server {
label="opendns";
ip="208.67.222.222","208.67.220.220";
timeout=30;
interval=30;
uptest=ping;
ping_timeout=50;
purge_cache=off;
proxy_only=on;
}
source {
ttl=86400;
owner="localhost.";
file="/etc/hosts";
}
Перезапустите pdnsd и сетевое соединение:
sudo service pdnsd restart
sudo invoke-rc.d network-manager restart