Udhcpc: Difference between revisions

From Alpine Linux
m (Categorized: Networking, Embedded Systems)
(Add example MTU hook)
Line 1: Line 1:
You may want to customize behavior of default dhcp client (udhcpc from busybox).
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 drived by the script /usr/share/udhcpc/default.script
The default behavior is driven by the script /usr/share/udhcpc/default.script


It's default configuration may be overwritten by a /etc/udhcpc/udhcpc.conf file.
Its default configuration may be overwritten by /etc/udhcpc/udhcpc.conf


Authorized key:value pair are available:
Authorized key:value pairs are:


{| cellpadding="15" border="1" class="wikitable"
{| cellpadding="15" border="1" class="wikitable"
Line 34: Line 34:
|}
|}


You may also add custom scripts /etc/udhcpc/pre-* and /etc/udhcpc/post-* to be run before and after deconfig|renew|bound dhcp events.
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.
 
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 [https://en.wikipedia.org/wiki/Maximum_transmission_unit 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


[[Category:Networking]]
[[Category:Networking]]
[[Category:Embedded Systems]]
[[Category:Embedded Systems]]

Revision as of 14:12, 28 October 2018

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.

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