1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685
|
README file for
resolvconf
Contents
~~~~~~~~
News
Introduction
Rationale
HOWTO
Order of entries in resolv.conf
Objectives
Technical overview
Usage information for developers
Usage information for administrators
FAQ
TODO
DONE
Credits
News
~~~~
* Last updated 18 June 2010 for version 1.46 -- Update status of TODO
items to reflect progress over past five years
Introduction
~~~~~~~~~~~~
Resolvconf is a framework for keeping track of the system's information
about currently available nameservers. It sets itself up as the
intermediary between programs that supply nameserver information and
applications that need nameserver information.
Rationale
~~~~~~~~~
/etc/resolv.conf was once a simple static configuration file where the
sysadmin placed a few directives that rarely needed to be changed. That
changed with the advent of mobile computing: a computer can now move
from one network to another quite often. Debian currently includes many
packages that alter resolv.conf more or less automatically. Some of
them are listed below, along with a short description of what they do
which I have tried to keep up to date. (Figures in parentheses show the
number of the package's popularity-contest votes as of 5 January 2005.)
pcmcia-cs (914)
Can overwrite resolv.conf with no backup unless (as of 3.2.5-1)
resolvconf is installed. By default, doesn't.
ppp (4533)
pppd optionally overwrites /etc/ppp/resolv.conf . By default, does.
pppconfig (3702)
Moves resolv.conf out of the way and puts it back when done.
pppoeconf (2938)
Prior to version 1.0, overwrites resolv.conf, attempting to merge
its stuff with the existing contents. Creates a backup in /etc/ but
doesn't restore it.
gnome-ppp (24)
Contains experimental code, currently commented out, that overwrites
resolv.conf.
gnome-system-tools (1349)
Allows the user to write directly to /etc/resolv.conf.
systemconfigurator (94)
Allows the user to write directly to /etc/resolv.conf.
webmin (781)
Prior to version 1.150-2, the Network Configuration|DNS Client page
can make changes to /etc/resolv.conf. As of 1.150-2 this page is
read-only when resolvconf is installed.
webmin-wvdial (8)
Copies /etc/ppp/resolv.conf over /etc/resolv.conf after PPP
connection established unless (as of version 1.160-3) the latter is
a symbolic link; restores original contents from backup file when
the connection is broken.
xisp (1 -- removed)
Adds lines to /etc/resolv.conf on PPP interface up and deletes those
lines on interface down.
totd (5)
Prior to 1.4-4, PPP hook scripts can do things to /etc/resolv.conf
but SFAICT are effectively no-ops if resolvconf is installed. Hard
to tell. Postinst does things to /etc/resolv.conf and also rewrites
dhclient_enter_hooks in a way incompatible with resolvconf. As of
1.4-4 totd plays nicely with resolvconf.
dhcp-client (4005)
Prior to version 2.0pl5-17, overwrites resolv.conf without making a
backup.
dhcp3-client (676)
Overwrites resolv.conf unless make_resolv_conf() is redefined.
Resolvconf redefines it.
dhcpcd (104)
Optionally overwrites resolv.conf . Default is not to do so. Prior
to version 1:1.3.22pl4-8, hook script overwrites
/etc/dhcpc/resolv.conf unless (as of 1:1.3.22pl4-7) resolvconf is
installed.
pump (734)
Prior to version 0.8.15, blindly overwrites resolv.conf unless nodns
option is used. No backup. As of version 0.8.15 pump calls
resolvconf if it is installed instead of overwriting
/etc/resolv.conf.
udhcpc (44)
Prior to version 0.9.8cvs20050124-2, blindly overwrites resolv.conf
without making a backup.
netenv (43)
Contains sample code that, if uncommented, would overwrite
/etc/resolv.conf without backing it up
switchconf (12)
Forcibly links selected resolv.conf file into place without making a
backup.
divine (9)
Symlinks-in a resolv.conf for the selected network. Appears to
trash whatever was in resolv.conf when it starts.
intuitively (18)
If a resolv.conf file is included in /etc/intuitively/NETWORK,
blindly overwrites /etc/resolv.conf .
laptop-netconf (23)
Symlinks in a resolv.conf for the detected network. Seems to make a
backup of resolv.conf but doesn't restore it.
whereami (23)
Contains utility scripts that modify resolv.conf
laptop-net (42)
Overwrites resolv.conf unless (as of 2.20) resolvconf is installed.
Several other packages recommend to the user that scripts be written to
alter or replace resolv.conf.
These packages do not cooperate; they simply overwrite one another's
changes. Even those that back up and restore the file will corrupt it
if interfaces are brought up and down in other than a LIFO order. Few
of them support the use of a local DNS cache.
Resolvconf (555) has been written in order to provide a framework for
managing the resolv.conf file in an way that avoids the above problems.
HOWTO
~~~~~
Resolvconf works with most interface configurers in Debian
('(*)' below meaning "with some manual configuration"):
ppp
dhcp3-client, dhcp-client, dhcpcd, pump, udhcpc
ifupdown, laptop-net
DNS caches:
bind9(*), djbdns dnscache, dnsmasq, pdnsd, totd
DNS recursing nameservers:
bind9(*), pdns-recursor(*)
and with any program that uses a DNS client library that consults
/etc/resolv.conf to obtain its list of nameservers:
the GNU C Library resolver library
adns
the djbdns resolver library
FireDNS
Take the following steps to set things up. Unfortunately, it is not
always simply a matter of installing the resolvconf package --
especially if you have already tried to deal with the above problems
locally by customizing your configuration.
0. You may have already installed resolvconf at this point. OK.
1. Stop obsolete programs from writing to /etc/resolv.conf
* netenv
+ Purge or make sure that /sbin/netenv hasn't been configured such
that it overwrites /etc/resolv.conf
* switchconf
+ Purge or make sure that there are no resolv.conf files under the
/etc/switchconf/ directory
* xisp
+ Purge, or eliminate the parts of /etc/ppp/ip-up.d/0xisp-dns and
/etc/ppp/ip-down.d/0xisp-dns that overwrite /etc/resolv.conf .
* divine
+ Purge
* intuitively
+ Purge or make sure that there are no resolv.conf files under the
/etc/intuitively/ directory
* laptop-netconf
+ Purge or edit configuration files such as
/etc/laptop-netconf/<profile> so that these will not touch
/etc/resolv.conf
* whereami
Purge or make sure that you aren't using the "setresolver",
"bind-forwarders" or "setdnsmasq" utility scripts.
* etc.
Delete or disable local scripts of any kind that futz with
/etc/resolv.conf
2. Update packages to versions that are compatible with resolvconf
* dhcp3-client and dhcp3-common >= 3.0+3.0.1rc11-5
Earlier versions lack the hooks required to stop dhclient from
overwriting /etc/resolv.conf and to interface with resolvconf.
You may need to upgrade samba in order to upgrade dhcp3-*.
* dhcp-client >= 2.0pl5-18
Earlier versions overwrite the target of /etc/resolv.conf and
don't interface with resolvconf
* dhcpcd >= 1:1.3.22pl4-7
Earlier versions lack the hooks to interface with resolvconf
* pump >= 0.8.15-1
Earlier versions overwrite the target of /etc/resolv.conf and
don't interface with resolvconf
* udhcpc >= 0.9.8cvs20050124-3
Earlier versions overwrite the target of /etc/resolv.conf and
don't interface with resolvconf properly
* pcmcia-cs >= 3.2.5-1
Earlier versions overwrite /etc/resolv.conf if certain
configuration options are enabled in /etc/pcmcia/network.opts
* dnsmasq >= 1.18-2
Versions earlier than 1.13-2 lack the hooks to interface with
resolvconf.
Versions earlier than 1.18-2 fail when installed or upgraded
at the same time as resolvconf is first installed.
* pdnsd >= 1.1.10par-4
Versions earlier than 1.1.10par-1 lack the hooks to interface
with resolvconf.
Versions earlier than 1.1.10par-4 don't interface properly
with resolvconf.
* totd >= 1.4-4
Versions earlier than 1.4-4 had a postinst that wrote to
/etc/resolv.conf and that (via the totdconfig program)
altered /etc/dhclient-enter-hooks in a way incompatible with
resolvconf; these versions did not get their nameserver
information from resolvconf
* pppconfig >= 2.3.1
Some earlier versions contain PPP hook scripts
/etc/ppp/ip-up.d/0dns-up
/etc/ppp/ip-down.d/0dns-down
that futz with /etc/resolv.conf. Make sure that you tell dpkg to
install the scripts that ship with the latest version of the
package. Also make sure that they have execute permission if you
want to use them to incorporate per-provider resolver
configuration options into the resolver configuration file.
* pppoeconf >= 1.0
Earlier versions contain a PPP hook script
/etc/ppp/ip-up.d/000usepeerdns
that futzes with /etc/resolv.conf. After upgrading pppoeconf make
sure that this script is not present. N.B.: The ppp package's
/etc/ppp/ip-up.d/0000usepeerdns and
/etc/ppp/ip-down.d/0000usepeerdns (with four zeroes) are OK: they
disable themselves if resolvconf is installed.
* laptop-net >= 2.21-1
Earlier versions can't be prevented from overwriting
/etc/resolv.conf and don't interface with resolvconf.
* webmin-wvdial >= 1.160-3
Earlier versions overwrite /etc/resolv.conf even if it is a
symbolic link.
3. Configure packages not to overwrite /etc/resolv.conf and to work
properly with resolvconf
3.1 ppp
* Make sure that the usepeerdns option is used. With this option,
pppd will obtain nameserver addresses from the peer and these will
be added to resolvconf's database.
3.2 pump
* Make sure that neither the nodns nor the noresolvconf option is
used -- either in pump.conf or on the command line
3.3 dhcpcd
* Make sure that SET_DNS is not set anywhere in /etc/dhcpc/config .
(In recent versions of dhcpcd, on initial installation, SET_DNS
is not set.)
3.4 ifupdown
* Remove any "up" or "down" commands from /etc/network/interfaces
that futz with /etc/resolv.conf and remove any scripts from
/etc/network/if-*.d/ that futz with /etc/resolv.conf.
* For each inet static logical interface through which a nameserver is
accessible, add lines like the following to /etc/network/interfaces .
dns-nameservers 11.22.33.44 55.66.77.88
dns-search foo.org bar.com
Other recognized option words are 'dns-domain' and 'dns-sortlist'.
These option names correspond to the option names used in the
resolv.conf file with one exception: whereas one lists several
nameserver addresses in /etc/resolv.conf on several "nameserver"
lines, here one should list them all on a single "dns-nameservers"
line. See resolv.conf(5) for more information. The lines entered
in /etc/network/interfaces will be added to the resolver
configuration file (without the "dns-" prefix, of course) when a
physical interface is brought up as that logical interface.
Note that the resolver configuration is updated AFTER all the "up"
commands have been run; therefore "up" commands cannot make use of
nameservers listed on "dns-nameservers" lines in the same logical
interface stanza. Changing this will require modifying ifupdown
so that it talks to resolvconf; currently resolvconf hooks into
ifupdown using the script /etc/network/if-up.d/000resolvconf. Note
too that scripts in /etc/network/if-up.d/ CAN make use of the
added nameservers because those scripts run after 000resolvconf.
3.5 bind9
* Change the /etc/bind/named.conf file so that it includes
/var/run/bind/named.options instead of /etc/bind/named.conf.options.
The former will be generated from the latter, as needed, by
inserting or updating the "forwarders" statement inside the
"options" statement with a current list of forwarders.
3.6 bind
* Change the /etc/bind/named.conf file so that it includes
/var/run/bind/named.options instead of /etc/bind/named.conf.options.
The former will be generated from the latter, as needed, by
inserting or updating the "forwarders" statement inside the
"options" statement with a current list of forwarders.
* Change /etc/init.d/bind to:
+ At the bottom of start(), after the start-stop-daemon line, add:
if [ "$?" = 0 ] && [ -x /sbin/resolvconf ] ; then
echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo.named
fi
+ At top of stop(), before the start-stop-daemon line, add:
if [ -x /sbin/resolvconf ] ; then
/sbin/resolvconf -d lo.named
fi
This tells resolvconf when named is available to resolve names.
4. Install the resolvconf package if you have not already done so.
If you have already done so then consider dpkg-reconfigure'ing it.
Agree to symlink /etc/resolv.conf to /etc/resolvconf/run/resolv.conf.
You can decline the offer to append the original static resolver
configuration file to the end of the dynamically generated resolver
configuration file because you have already modified
/etc/network/interfaces as directed above.
5. Ifdown and then ifup all interfaces; restart DNS caches.
6. Check /etc/resolv.conf to make sure that its contents make sense.
If /etc/resolv.conf is not symlinked to /etc/resolvconf/run/resolv.conf
then a warning message will be printed when /sbin/resolvconf is run.
If you want to keep resolvconf installed but for some reason do not want
/etc/resolv.conf to be symlinked to /etc/resolvconf/run/resolv.conf then
you can disable the warning message by setting REPORT_ABSENT_SYMLINK=no
in /etc/default/resolvconf.
Order of entries in resolv.conf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Some of the information in the resolver configuration file consists of
a set of entries whose order is significant. Specifically, the order of
nameserver lines
nameserver x1.x2.x3.x4
nameserver y1.y2.y3.y4
determines the order in which nameservers are consulted and the order of
items on the search line
search da1.da2.org db1.db2.com
determines the order in which domain names are tried.
Resolvconf orders these entries according to the names of the interfaces
to which they relate. (More truthfully, it orders them according to the
record names in which they are stored, but it is a convention that
records are named like the interfaces for which they are the records,
possibly with a some suffix.) The particular order is determined by the
/etc/resolvconf/interface-order file. See interface-order(5) for more
information.
If you use ifrename, nameif or udev in order to assign stable names to
your network interfaces, I recommend that you employ names that begin
with the traditional pattern but differ from those names that the kernel
uses as defaults. E.g., the kernel names Ethernet interfaces 'eth0',
'eth1', and so on, so you might rename your Ethernet interfaces to
"eth_3com", "eth_cisco", etc.. Similarly you might rename your Wi-Fi
interfaces "wlan_airo" and "wlan_atmel". If you follow this advice then
you won't have to modify the default interface-order file.
Using a static file to order the entries is obviously not very flexible;
however, it is adequate in most usage situations. Situations for which
it is not adequate are generally situations in which it is better to use
a local caching nameserver that can do things like monitoring and load
balancing.
Objectives
~~~~~~~~~~
I hope that resolvconf meets the following objectives
* Be opaque
Resolvconf must be as opaque as possible. It must have a stable
interface and mustn't require that maintainers know about its
internals.
* Be order-independent
Interfaces going up and down in arbitrary order must be handled
properly.
* Be locally configurable
Administrator choices must be respected.
* Support DNS caches
Local DNS cache programs must be able to arrange for nameserver
addresses supplied by interfaces to be passed to them for use as
forwarders. The libc resolver should use any local DNS caches that
are available.
* Be compatible with a read-only root filesystem
Variable files must be easily relocated out of /etc/.
* Be portable
* Be simple
Technical overview
~~~~~~~~~~~~~~~~~~
* The /etc/resolvconf/ directory contains:
+ resolv.conf.d/
Files related to the libc resolv.conf file
- resolv.conf.d/head
The head of the dynamically generated resolv.conf
- resolv.conf.d/tail
The tail of the dynamically generated resolv.conf
- resolv.conf.d/base
Information always included in the resolv.conf file. Dynamic
information gets merged with this information. E.g., if base
contains 'search a.b.c' and another record is added that contains
'search x.y.z' then the resulting file will have
'search a.b.c x.y.z'.
+ run/
Directory where run time files are stored. This can be replaced by
a symlink to a directory on another filesystem if the admin so
desires -- e.g., to /lib/init/rw/resolvconf/ .
+ update.d/
Scripts to run when nameserver information is updated
+ update-libc.d/
Scripts to run when the resolv.conf file changes
* Symlink /etc/resolv.conf -> /etc/resolvconf/run/resolv.conf
* Configurers of interfaces call /sbin/resolvconf to provide
resolv.conf-like information after the interface is brought up. They
call it again to delete the information when the interface is brought
down. /sbin/resolvconf then does the equivalent of
"/etc/init.d/resolvconf reload".
* "/etc/init.d/resolvconf reload" calls scripts in
/etc/resolvconf/update.d/ which update DNS cache configuration file
fragments, reload daemons and regenerate /etc/resolv.conf. If
the latter has changed then nscd is restarted and scripts in
/etc/resolvconf/update-libc.d/ are run.
Usage information for developers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Interface configurers send resolver information to resolvconf in the
format of the familiar /etc/resolv.conf file. Thus, for example, a
program that has configured interface $IFACE would do the following
after generating a resolv.conf file named 'new-resolv.conf'.
resolvconf -a $IFACE < new-resolv.conf
This command updates the resolver information related to interface
$IFACE. Any information previously sent for this interface is
overwritten. On bringing the interface down, the configurer would do
the following.
resolvconf -d $IFACE
For another example, the proxy script for pppd forwards to
resolvconf the resolver information that is made available to
ip-up.d/ and ip-down.d/ scripts in environment variables DNS1, etc.
echo "nameserver $DNS1" | resolvconf -a $IFACE
For additional examples, look at the hook scripts for dhcp3-client
and ifupdown. Support for other configurers including dhcpcd, pump,
dhcp-client, udhcpc and laptop-net has been added to those packages.
In general, any package that currently overwrites /etc/resolv.conf
can be adapted to work with resolvconf while preserving backward
compatibility by introducing a code fragment like the following.
if [ -x /sbin/resolvconf ] ; then
if [ "$DIRECTION" = "up" ] ; then
echo -n "$RESOLVINFO" | /sbin/resolvconf -a "$IFACE"
else
/sbin/resolvconf -d "$IFACE"
fi
else
(... existing resolv.conf cleverness ...)
fi
/sbin/resolvconf stores the information sent to it and then runs the
scripts in /etc/resolvconf/update.d/ . One of the latter generates
the libc resolver configuration file. Another generates the options
portion of the BIND named configuration file, containing a
"forwarders" statement listing available nameserver forwarders.
(This allows named effectively to be used as a DNS cache on a system
whose network environment varies, e.g., on a laptop.) Others
generate lists of forwarders for dnsmasq or pdnsd to use. Any other
program that needs to take action when resolver information is
updated could likewise employ a script in /etc/resolvconf/update.d/ .
Usage information for administrators
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The generation of the resolv.conf file can be controlled by editing
/etc/resolvconf/update.d/libc . Different strategies can be
followed. E.g., one possible strategy would be to put only the most
recently provided information into resolv.conf . The current default
strategy is to put *all* available resolver information into
resolv.conf, ordered by interface type as follows: lo, eth*, ppp* .
The admin can of course disable resolv.conf automagic by deleting the
/etc/resolv.conf symlink and putting a static file at that location.
Once you have installed resolvconf properly you don't normally need
to run /sbin/resolvconf from the command line. However, I once
encountered a situation in which I did that. Perhaps it is a useful
illustration. My ISP's nameserver went down and thus my caching
nameserver could not resolve names. I knew of another host belonging
to by ISP that I could use so I simply did:
# echo "nameserver ww.xx.yy.zz" | resolvconf -a dummy
This added the necessary nameserver line to /etc/resolv.conf and to
dnsmasq's nameserver list. When my ISP's regular nameserver was fixed
I did:
# resolvconf -d dummy
to restore the original situation.
FAQ
~~~
Q. Why call it 'resolvconf' instead of 'update-resolver' or so?
A. Debian's update-* commands are mostly maintainer programs that update
static configuration files in /etc/. Mostly they run at package
install time. Resolvconf, in contrast, is a run-time configurer.
Q. Why use 'dns-nameservers' instead of 'dns-nameserver' as the option
name in /etc/network/interfaces?
A. Because 'dns-nameservers' can take several address arguments whereas
the 'nameserver' line in /etc/resolv.conf can take only a single
argument, and because there can be only one instance of any given
option in a logical interface definition.
TODO
~~~~
* resolvconf
See the Wishlist items at http://bugs.debian.org/resolvconf
* gnome-ppp
# 258064: Writes to /etc/resolv.conf
- NO ACTION for several years
* gnome-system-tools
# 258553: Incompatible with resolvconf
- OKed by maintainer but NO ACTION has been taken for several years
* systemconfigurator
# 272475: Please support resolvconf
- NO REPLY for several years
* ppp
# 208095: Please suggest resolvconf
- WONTFIX
* pppconfig
# 266819: Please suggest resolvconf
- NO REPLY for several years
* ifupdown
+ Handle dns-* commands natively so that the resolver is configured
before "up" commands are run
* nscd
# 266817: Please suggest resolvconf
- WONTFIX
* bind
+ Drop support for this obsolete version of BIND
* bind9
+ Adopt /etc/resolvconf/update.d/bind
- The right thing to do, in theory. Low priority.
+ Automatically use /var/run/bind/named.options if present instead of
/etc/bind/named.conf.options
* dnscache-run (from djbdns)
# 582755: Add resolvconf support
- SUBMITTED
* maradns
+ Add resolvconf support
- Needs more investigation
- Its initscript should probably do
echo "nameserver 127.0.0.1" | resolvconf -a lo.maradns
as dnsmasq and pdnsd do.
- Could it have an update script that sets the "upstream_servers"
variable?
* libadns1
+ It consults resolv.conf so it should already be supported.
However, someone should test it.
* libares0
+ It consults resolv.conf so it should already be supported.
However, someone should test it.
* libdjbdns1
+ It consults resolv.conf so it should already be supported.
However, someone should test it.
+ Someone should investigate whether it could be supported better.
Perhaps /etc/dnsrewrite should be dynamically updated?
* libfiredns0.9
+ It consults resolv.conf so it should already be supported.
However, someone should test it.
+ Someone should investigate whether it could be supported better.
Perhaps /etc/firedns.conf should be dynamically updated?
* Net::DNS
+ It consults resolv.conf so it should already be supported.
However, someone should test it.
+ Someone should investigate whether it could be supported better.
* Users of resolver libraries
For any package that contains a program that uses resolver(3) or a
compatible library, add a /etc/resolvconf/update-libc.d/ script to
notify running instances of the program that the resolver
configuration file has changed.
DONE
~~~~
* resolvconf
+ Created and added to dialup and broadband tasks
* ppp
+ Use resolvconf via /etc/ppp/ip-(up|down).d/
- DONE in resolvconf package
* pppconfig
# 242092: Disable pppconfig's futzing with /etc/resolv.conf
- DONE in 2.3.1
* pppoeconf
# 212756: Eliminate /etc/ppp/ip-up.d/000usepeerdns
- DONE in 1.0
* dhcp3-client
+ Use resolvconf via /etc/dhcp3/dhclient-enter-hooks
- DONE in resolvconf package
# 171798: dhclient-script should source hook scripts, not run-parts them
- DONE in 3.0+3.0.1rc11-5
* dhcp-client
# 248399: Needs resolvconf support
- DONE in 2.0pl5-18
* dhcpcd
+ Support resolvconf without requiring local changes
- DONE in 1:1.3.22pl4-7
* pump
# 194204: Please add proper resolvconf support
- DONE in 0.8.15-1
* udhcpc
# 302019: Please use resolvconf
- DONE in 0.9.8cvs20050124-3
* pcmcia-cs
# 212823: pcmcia-cs: please add support for the resolvconf package
- DONE in 3.2.5-1
* laptop-net
+ Use resolvconf instead of overwriting /etc/resolv.conf .
- DONE in 2.21-1
* ifupdown
+ Use resolvconf via /etc/network/if-(up|down).d/
- DONE in resolvconf package
* debian-installer
# 255187: Please add resolvconf support
- PENDING
* nscd
# 252251: Please add resolvconf support
- DONE in resolvconf 1.15
* bind9
+ Create script /etc/resolvconf/update.d/bind to:
. Convert /etc/bind/named.options.sed into /var/run/bind/named.options
(which is to be included in /etc/bind/named.conf)
. Then run "/etc/init.d/bind9 reload" or "/etc/init.d/bind reload"
- DONE in resolvconf package
# 199255: Please support resolvconf
- DONE in 1:9.2.3-1
# 252232: Please use 'lo.named' as resolvconf record name
- DONE in 1:9.3.2-2
# 252285: Please Suggest resolvconf
- DONE in 1:9.4.2-2
* dnsmasq
+ Create script /etc/resolvconf/update.d/dnsmasq to
generate /var/run/dnsmasq/resolv.conf
- DONE in resolvconf package
+ Support resolvconf without requiring local changes
- DONE in 1.13-2
+ Include /etc/resolvconf/update.d/dnsmasq
- DONE in 1.13-3
* pdns-recursor
# 308677: /etc/init.d/pdns-recursor: Please add resolvconf calls
- DONE in 2.9.18-4
* pdns-server
# 304528: Please add resolvconf update script in order to automate
the creation of the recursors list
- DONE in 2.9.18-4
* pdnsd
# 247946: Fix resolvconf support
- DONE in pdnsd 1.1.10par-4
# 254768: Should conflict with resolvconf << 1.15
- NO REPLY
* totd
+ Use resolvconf to update resolv.conf and to get updated
nameserver list
* fetchmail
+ Use resolvconf to trigger restart on change of nameserver info
- DONE in 6.2.5-4
* postfix
# 212552: Please reload on change of /etc/resolv.conf -- resolvconf hook
- DONE in 2.0.16-4
* squid
# 200572: Please use resolvconf resolver-update notification
- DONE in 2.5.3-7
* webmin-core
# 223483: Please play nicely with resolvconf
- DONE in 1.150-2
* webmin-wvdial
# 288481: Deletes symlink at /etc/resolv.conf
- DONE in 1.160-3
Credits
~~~~~~~
The basic idea for resolvconf was expressed by Emile van Bergen on
debian-devel. I claim any braindamage in the implementation as my own.
I thank all the maintainers who have helped with this effort by adding
resolvconf support to their packages.
Werner Heuser, Joe Nahmias and Andreas Barth have been helpful sponsors.
This document was written by Thomas Hood <jdthood_AT_yahoo.co.uk> using
some material written by John Hasler.
This document is part of resolvconf.
|