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_PEER_DNS||yes||<anything but yes>|
|RESOLV_CONF||/etc/resolv.conf||no ; NO ; -|
|NO_DNS||-||<list of iface names>|
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.
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