On Monday 05 March 2007 18:41, Victor Wagner wrote: > > Иногда приходится "на лету" менять используемый DNS. В /etc/resolv.conf > > поправить легко, а вот как сделать, чтобы без перезагрузки система > > (sarge) начала юзать новый DNS? > > Система, насколько я помню, DNS не юзает. Только userland программы.
Так точно. > Теоретически, в libc существует API, которое позволяет программе > переинициализировать резолвер, но практически мало кто этим пользуется. > > Поэтому в норме на юзерской машине при смене DNS-сервера достаточно > перелогиниться. При этом перезапустятся все запущенные от твоего имени > программы (браузер, почтовка, IM-клиент), а кроме них в общем-то никому > долгоживущему DNS и не нужен. Ну локальному MTA, если он есть. Но MTA > скорее всего из dhcp-шных или ppp-шных скриптов как раз пнут. Если бы всё было так просто... Но даже вновь запущенный ping не работает с новым DNS, пока я систему не перезагружу. Я не понял, почему. > > И кстати, просьба подсказать надёжный DNS, с которым это будет не надо :) > > Лично я использую для этой цели pdnsd. Это такой специальный DNS-сервер, > который ставится на локальную машину и работает как прокси. > В результате resolv.conf всегда > показывает только на localhost, а при изменении адресов внешних > неймсерверов, про которые рассказывает dhclient либо pppd, приходится > объяснять это только pdnsd. А, понятно. У меня не тот случай - адреса прописываются локально, а не получаются по DHCP. Изменение адреса - тоже руками. Нужно это потому, что DHCP раздаёт хардварный роутер. А я хочу "прибить" IP адрес, для доступа с других машин внутренней сети (ну не с локальным же DNS возиться). -- Yours, Mikhail Ramendik

