хе-хе, а рецепт простой,
вносим нужные FQDN имена в файл /etc/hosts а dnsmasq сам их от туда читает.
вот что написал для BIND
$ cat /opt/etc/named/named.conf
options {
listen-on { 192.168.1.1; };
allow-notify { none; };
allow-query { 192.168.1.0/24; };
allow-transfer { none; };
allow-recursion { 192.168.1.0/24; localhost; };
recursive-clients 50;
version "BLABLABLA";
};
logging {
channel "default_syslog" {
syslog local7;
severity info;
print-time no;
print-category yes;
};
channel "security_syslog" {
syslog local7;
severity info;
print-time no;
print-category yes;
};
category default { default_syslog; };
category security { security_syslog; };
category lame-servers {null;};
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndc-key; };
};
key "rndc-key" {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
};
$ cat /opt/etc/named/rndc.conf
options {
default-server localhost;
default-key "rndc-key";
};
server localhost {
key "rndc-key";
};
key "rndc-key" {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
};
$ cat /opt/etc/named/rndc.key
key "rndc-key" {
algorithm hmac-md5;
secret "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
};
а это для DHCP
$ cat /opt/etc/dhcpd.conf | grep -v '#'
option domain-name "local";
option domain-name-servers localhost;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;
log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.10;
option domain-name-servers 192.168.1.1;
option domain-name "local";
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
}
host host1 {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 192.168.1.2;
}
host host2 {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 192.168.1.3;
}
host host10 {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 192.168.1.10;
}
ЗЫ проверка заключалась в дампе кэша bind и беглом его изучении, секюрности обращений к серверу извне и с чужих сетей. DHCP вообще не проверял на безопасность, вот прикрутить бы его на br0 по хорошему, а то хацкеры все адреса растащат поработаю над этим как-нибудь потом, если время будет..
хе-хе, а рецепт простой,
вносим нужные FQDN имена в файл /etc/hosts а dnsmasq сам их от туда читает.
хм... как то оно странно работает с этими хостами... не совсем понятно по какому принципу.
Есть DNS-ы, как заставить их работать в нужном мне порядке?
echo "nameserver 217.70.106.5" >> /etc/resolv.conf
echo "nameserver 217.70.119.181" >> /etc/resolv.conf
echo "nameserver 217.70.96.34" >> /etc/resolv.conf
echo "nameserver 80.64.93.130" >> /etc/resolv.conf
echo "nameserver 80.64.94.2" >> /etc/resolv.conf
Это "чудо" делает всё до наоборот. Т.е.:
echo "nameserver 80.64.93.130" >> /etc/resolv.conf
echo "nameserver 80.64.94.2" >> /etc/resolv.conf
echo "nameserver 217.70.96.34" >> /etc/resolv.conf
echo "nameserver 217.70.106.5" >> /etc/resolv.conf
echo "nameserver 217.70.119.181" >> /etc/resolv.conf
Как его заставить не упорядочивать по ip?
Ну надобности надобностями, но всё же ........
Меня этот dnsmasq уже раздражает, с каждым днём всё больше и больше
DNS, которые я прописал в post-boot для добавления в resolv.conf подставляются в этот фаил как мне надо, но на выходе вообще бред, он их ставит по возрастанию, а не как в конфиге
Может в новой версии этот баг исправили?
Моё пожелание - отключить negative caching в конфиге и добавить возможность отключения dns relaying'a в принципе, как в длинках. Пару раз замечал, что dnsmasq перестаёт отдавать определённые домены. Тем более, что у клиентов (Windows) по умолчанию тоже включено кэширование.
(Вообще не понимаю, для чего придумали dns relay. Что мешает железке отдавать клиенту провайдерские днс, а клиенту их использовать? Меньше почвы для глюков будет.)
Last edited by djet; 14-01-2008 at 22:38.
По апгрейду версии - с нашим текущим uClibc, максимальная версия dnsmasq собирающаяся без переделок - 2.27. Более свежие дистрибутивы используют системный вызов prctl() которого в 0.9.19 нет.
Ну или какой-нибудь другой DNS сервер, который будет нормально собирать в кучу многие DNS сервера и отдавать одним DNS'ом.
а что мешает поставить последнюю версию dnsmasq через ipkg?
dnsmasq - 2.40-1 - DNS and DHCP server
Экономия на спичках ценой усложнения схемы. Чем проще система, тем она стабильнее.
1) Трафик мизерный.
2) Слабые линии - это pstn/isdn. Всё остальное - broadband.
3) Время отклика неизменно и для новых записей, и для кэшированных (у клиентов есть собственный кэш, иногда многоуровневый за счёт ПО).
4) Мне - не мешает. Это моя точка зрения и со стороны пользователя, и с позиции инженера провайдера. "Залипание" записей в отрицательном кэше с трудом поддаётся диагностике. Отваливание dnsmasq - тоже неприятное и неочевидноя явление.
Last edited by djet; 15-01-2008 at 17:28.
Негативное кеширование уже отключено в превью версии.
Почему используется внутренний - всё просто. Клиент получает адрес по DHCP раньше, чем устанавливается соединение с провайдером. В конце-концов нужные адреса можно поставить на страничке DHCP Server.
Однако его можно отключить в DSL-ных длинках, а коннект в них устанавливается ощутимо дольше, чем в Ethernet (у меня, например, это 11-15 секунда). А вручную прописывать - это совершенно не то.. Тем более, что я хотел бы, чтобы эта опция была доступна и для чайников. Подумаю пока, как это можно реализовать.