# $Id$ provide basic-networking require basic-system help_network_hostname() { mecho "set network.hostname [hostname]" mecho " mcore - the local hostname" } # set_network_hostname $value set_network_hostname() { local value="$1" local CONFIG [[ -z ${value} ]] && help_network_hostname && return 1 CONFIG="/etc/hostname" clearconfig addconfig "${value}" hostname "${value}" } help_network_iface() { mecho "set network.iface [iface] [networking] [ip] [netmask] [broadcast] [network]" mecho " iface - the interface name" mecho " networking - may be 'static' or 'dhcp'" mecho " ip, netmask, broadcast and network are optional and only required on static networking" } set_network_iface() { local iface="$1" local networking="$2" local ip="$3" local netmask="$4" local broadcast="$5" local network="$6" local CONFIG [[ -z ${iface} ]] && help_network_iface && return 1 [[ -z ${networking} ]] && help_network_iface && return 1 if [[ ${networking} = static ]] then [[ -z ${ip} ]] && help_network_iface && return 1 [[ -z ${netmask} ]] && help_network_iface && return 1 [[ -z ${broadcast} ]] && help_network_iface && return 1 [[ -z ${network} ]] && help_network_iface && return 1 fi CONFIG="/etc/conf.d/net.${iface}" clearconfig addconfig 'ONBOOT="yes"' case ${networking} in static) addconfig 'NETWORKING="static"' addconfig "IP=\"${ip}\"" addconfig "NETMASK=\"${netmask}\"" addconfig "BROADCAST=\"${broadcast}\"" addconfig "NETWORK=\"${network}\"" ;; dhcp) addconfig 'NETWORKING="dhcp"' # addconfig 'DHCP_PROG="/sbin/udhcpc"' # addconfig 'DHCP_START="-t3 -T3 -q -b"' # addconfig 'DHCP_STOP=""' ;; esac if [[ ! -z $(ip addr | grep "${iface}.*UP.*") ]] then set_system_service restart network "${iface}" else set_system_service start network "${iface}" fi } set_network_default_gw() { local value local CONFIG local i CONFIG="/etc/conf.d/net.routes" clearconfig addconfig "default gw ${value}" # delete other default gw first for i in $(ip route | grep default | sed 's:.*via\ \(.*\)\ dev.*:\1:') do route del default gw "${i}" done route add default gw "${value}" } set_network_dns() { local values="$@" local CONFIG local i CONFIG="/etc/resolv.conf" clearconfig for i in ${values} do addconfig "nameserver ${i}" done }