Udhcpc: Difference between revisions
(Add example MTU hook) |
(Note that the hook scripts must be marked as executable) |
||
Line 38: | Line 38: | ||
RESOLV_CONF="no" # Prevents overwriting of /etc/resolv.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. | 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 [https://en.wikipedia.org/wiki/Maximum_transmission_unit on ADSL] (which uses 8 bytes): | 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): |
Revision as of 14:27, 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 - 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