Udhcpc

From Alpine Linux
Revision as of 14:27, 28 October 2018 by Brebs (talk | contribs) (Note that the hook scripts must be marked as executable)
Jump to: navigation, search

You may want to customize the behavior of the default DHCP client (udhcpc from busybox), which is called by /sbin/ifup by having "dhcp" in /etc/network/interfaces.

The default behavior is driven by the script /usr/share/udhcpc/default.script

Its default configuration may be overwritten by /etc/udhcpc/udhcpc.conf

Authorized key:value pairs are:

key default value possible values
NO_GATEWAY - <list of iface names>
IF_METRIC - <metric value>
IF_PEER_DNS yes <anything but yes>
RESOLV_CONF /etc/resolv.conf no ; NO ; -
NO_DNS - <list of iface names>

Example /etc/udhcpc/udhcpc.conf:

RESOLV_CONF="no" # Prevents overwriting of /etc/resolv.conf

Custom scripts can be added as /etc/udhcpc/pre-* and /etc/udhcpc/post-* to be run before/after deconfig/renew/bound DHCP events - they must be marked as executable by root, e.g. chmod 744

As an example, /etc/udhcpc/post-bound/mtu could contain, to change the interface MTU from the default (1500) to 1492, which is useful if on ADSL (which uses 8 bytes):

r=$(/sbin/ip route | grep ^default | head -n 1)
# Needs iproute2 package, rather than busybox's "ip", to change mtu
/sbin/ip route replace $r mtu 1492