#!/bin/bash # ============================================================================ # DarkForge Linux — dhcpcd service # ============================================================================ # DHCP client daemon for ethernet. Uses interface from rc.conf. # ============================================================================ . /etc/rc.conf DAEMON="/usr/sbin/dhcpcd" PIDFILE="/run/dhcpcd-${NETWORK_INTERFACE}.pid" case "$1" in start) echo " Starting dhcpcd on ${NETWORK_INTERFACE}..." if [ "${NETWORK_DHCP}" = "yes" ]; then ${DAEMON} -q "${NETWORK_INTERFACE}" && echo " dhcpcd started" else # Static IP configuration ip addr add "${NETWORK_IP}/${NETWORK_MASK}" dev "${NETWORK_INTERFACE}" ip link set "${NETWORK_INTERFACE}" up ip route add default via "${NETWORK_GATEWAY}" if [ -n "${NETWORK_DNS}" ]; then echo "# Generated by rc.d/dhcpcd" > /etc/resolv.conf for dns in ${NETWORK_DNS}; do echo "nameserver ${dns}" >> /etc/resolv.conf done fi echo " Static IP configured: ${NETWORK_IP}" fi ;; stop) echo " Stopping dhcpcd..." if [ -f "${PIDFILE}" ]; then ${DAEMON} -x "${NETWORK_INTERFACE}" 2>/dev/null fi echo " dhcpcd stopped" ;; restart) $0 stop sleep 2 $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac