#!/bin/bash # run dhclient.d scripts in an emulated environment PATH=/bin:/usr/bin:/sbin ETCDIR=/etc/dhcp SAVEDIR=/var/lib/dhclient interface=$1 for optname in "${!DHCP4_@}"; do newoptname=${optname,,}; newoptname=new_${newoptname#dhcp4_}; export "${newoptname}"="${!optname}"; done [ -f /etc/sysconfig/network ] && . /etc/sysconfig/network [ -f /etc/sysconfig/network-scripts/ifcfg-"${interface}" ] && \ . /etc/sysconfig/network-scripts/ifcfg-"${interface}" if [ -d $ETCDIR/dhclient.d ]; then for f in $ETCDIR/dhclient.d/*.sh; do if [ -x "${f}" ]; then subsystem="${f%.sh}" subsystem="${subsystem##*/}" . "${f}" if [ "$2" = "up" ]; then "${subsystem}_config" elif [ "$2" = "dhcp4-change" ]; then if [ "$subsystem" = "chrony" -o "$subsystem" = "ntp" ]; then "${subsystem}_config" fi elif [ "$2" = "down" ]; then "${subsystem}_restore" fi fi done fi