Udhcpc: Difference between revisions
m (Categorized: Networking, Embedded Systems) |
(Add example MTU hook) |
||
Line 1: | Line 1: | ||
You may want to customize behavior of default | 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 | 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 | Authorized key:value pairs are: | ||
{| cellpadding="15" border="1" class="wikitable" | {| cellpadding="15" border="1" class="wikitable" | ||
Line 34: | Line 34: | ||
|} | |} | ||
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