#!/bin/bash ###################### # LOOPBACK FUNCTIONS # ###################### # Function to bring up the loopback interface. If loopback is # already up, do nothing. lo_up() { if grep lo: /proc/net/dev 1> /dev/null ; then if ! /sbin/ifconfig | grep "^lo" 1> /dev/null ; then echo "/etc/rc.d/rc.inet1: /sbin/ifconfig lo 127.0.0.1" | $LOGGER /sbin/ifconfig lo 127.0.0.1 echo "/etc/rc.d/rc.inet1: /sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo" | $LOGGER /sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo fi fi } # Function to take down the loopback interface: lo_down() { if grep lo: /proc/net/dev 1> /dev/null ; then echo "/etc/rc.d/rc.inet1: /sbin/ifconfig lo down" | $LOGGER /sbin/ifconfig lo down fi } ###################### # ETHERNET FUNCTIONS # ###################### eth_up() { DHCPRESULT=`dhcpcd -d -R -t 3 | grep -c ""` if [ $DHCPRESULT == 2 ] ; then echo "Konfiguruje bez DHCP" IPADDR="153.19.107.206" NETMASK="255.255.255.224" GATEWAY="153.19.107.193" DNS1="nameserver 153.19.250.100" DNS2="" DNS3="" BROADCAST=`/bin/ipmask ${NETMASK} ${IPADDR} | cut -f 1 -d ' '` /sbin/ifconfig eth0 ${IPADDR} broadcast ${BROADCAST} netmask ${NETMASK} /sbin/route add default gw ${GATEWAY} metric 0 2>&1 if [[ ${DNS1} != "" ]] ; then echo ${DNS1} > /etc/resolv.conf fi if [[ ${DNS2} != "" ]] ; then echo ${DNS2} >> /etc/resolv.conf fi if [[ ${DNS3} != "" ]] ; then echo ${DNS3} >> /etc/resolv.conf fi else echo "Skonfigurowalem z DHCP" fi } eth_down() { /sbin/dhcpcd -k -d eth0 || /sbin/ifconfig eth0 down sleep 1 /sbin/ifconfig eth0 down } ## MAIN ## ########## case "$1" in 'start') # "start" brings up all available interfaces: lo_up eth_up ;; 'stop') lo_down eth_down ;; 'restart') lo_down eth_down lo_up eth_up ;; *) echo "usage: ${0} start|stop|restart" esac