Nefunguje. Zkuste si třeba jedno z těch rozhraní zastavit. Ve skutečnosti zastavíte všechno na eth0
To by mi asi nefungoval můj skriptík "samba harbík", který jsem napsal asi před 10 lety - část "server":  

#!/bin/bash
#Tento spustitelny soubor se ma chovat jako daemon.
#Spousti se prikazem:
#nohup /cesta/cikl1server >&/dev/null&
#`nohup /cesta/cikl1server >/dev/null 2>&1&`
#Ukoncuje se prikazem:
#kill $(pgrep cikl1server) >/dev/null 2>&1
#Program na zalohovani dat potrebuje prava root pro programy
#ifconfig, /etc/rc.d/init.d/smb, ping a ip (balicek iproute)
#Upravi se soubor /etc/sudoers, aby vypadal takto:
#uzivatel jmenopc=bez_hesla: /prikaz
#karlik     karlikp3=NOPASSWD: /usr/sbin/hibernate
#uzivatel  vse=bez_hesla: /prikaz
#karlik1     ALL=NOPASSWD: /etc/rc.d/init.d/smb
#karlik1     ALL=NOPASSWD: /bin/ping
#karlik1     karlikp3=NOPASSWD: /sbin/ifconfig
#karlik1     karlikp3=NOPASSWD: /usr/bin/rsync
#karlik1     karlikp3=NOPASSWD: /sbin/ip
ipnet="192.168.5.0"
ipbcast="192.168.5.255"
ipgateway="192.168.5.254"
ipdnsserver="192.168.5.254"
ipserver="192.168.5.34"
ipsmbserver="192.168.5.33"
ethsmbserver="eth0:0"
mylog="/datalog_bin/kiss-heartbeat/logcikl"
#Pokud dojde k pokusu ukoncit skript pomoci kill, trap vola funkci skonci.
#Skript se tedy ukonci az po pruchodu cele smycky.
#Na konci smycky je umisteno:
#[ "$prerus" == "ano" ] && exit 1
# Number     SIG        Meaning
#  0         0          On exit from shell
#  1         SIGHUP     Clean tidyup
#  2         SIGINT     Interrupt
#  3         SIGQUIT    Quit
#  6         SIGABRT    Abort
#  9         SIGKILL    Die Now (cannot be trap'ped)
#  14        SIGALRM    Alarm Clock
#  15        SIGTERM    Terminate
#Poznamka - signal kill -9 (kill -SIGKILL) je nezachytitelny a ukoncuje proces "natvrdo".
trap 'skonci' 1 2 3 6 15
prerus="ne"
function skonci {
prerus="ano"
}
#############################################################################
#Zacatek cyklu
#############################################################################
for ((; )
)
do
#Nedavat tento radek na jine misto. Zacykleni zaruceno, funguje poze SIGKILL (kill -9)
#Nedavat tento radek na jine misto. Zacykleni zaruceno, funguje poze SIGKILL (kill -9)
if [ "$prerus" = "ano" ]
  then     
    caskonec=`date +"%Y%m%d%H%M"`
    echo "$caskonec Program ukoncen. Ukoncuji Sambu na ipsmbserver. Odpojuji eth0:0 " >>"$mylog"
    /etc/rc.d/init.d/smb stop >/dev/null 2>&1
    #Clear ARP Cache
    #Flush all arp enties on interface eth0:0
    ip neigh flush dev "$ethsmbserver"
    #Flush arp entry for all hosts in network 192.168.5.0/24
    ip neigh flush "$ipnet" >/dev/null 2>&1
    #Flush all arp entries:
    #ip neigh flush all
    ifconfig "$ethsmbserver" down >/dev/null 2>&1
    exit 1
fi
sleep 60
cas2=`date +"%Y%m%d%H%M"`
#Pokud nejede ethernet, preskoc na konec skriptu (pred done)
#if ! ping "$ipserver" -c 2 -W3 >/dev/null 2>&1
#  then
#     echo "$cas2 Sit nejede." >>"$mylog"
#     continue
#fi
 
#Pokud nejede ethernet, preskoc na konec skriptu (pred done)
if [ "$(cat /sys/class/net/eth0/carrier)" = "0" ]
  then
    echo "$cas2 Sit nejede." >>"$mylog"
    continue
fi
pgrep smbd >/dev/null 2>&1
clientsmbd=$?
#clientsmb="$?"
#clientsmb=$(($?))
smbclient -N -L "$ipsmbserver" >/dev/null 2>&1
#smbclient -U% -L "$ipsmbserver" >/dev/null 2>&1
serversmbd=$?
#pokud smb na PC nejede a smb na ipsmbserver nejede a ethernet jede, spust smb na ipsmbserver
if [ "$clientsmbd" = "1" ] && [ "$serversmbd" = "1" ] && [ "$(cat /sys/class/net/eth0/carrier)" = "1" ]
  then
    echo "$cas2 Samba na PC nejede a ipsmbserver nejede. Spoustim Sambu na ipsmbserver." >>"$mylog"
    /sbin/ifconfig "$ethsmbserver" "$ipsmbserver" 
    /sbin/ifconfig "$ethsmbserver" up
    #Clear ARP Cache
    #Flush all arp enties on interface eth0:0
    ip neigh flush dev "$ethsmbserver"
    #Flush arp entry for all hosts in network 192.168.5.0/24
    ip neigh flush "$ipnet"
    #Flush all arp entries:
    #ip neigh flush all
    #Ping the gateways and DNS to clear the ARP cache
    ping -c 2 -w 3 -I "$ipsmbserver" "$ipdnsserver"
    ping -c 2 -w 3 -I "$ipsmbserver" "$ipgateway"
    #Ping the external broadcast addres to clear the ARP cache
    ping -c 2 -b -w 3 -I "$ipsmbserver" "$ipbcast"
    /etc/rc.d/init.d/smb start
fi
#pokud smbd na PC jede a smbd na ipsmbserver nejede, ukonci smb na PC
#(Spustena Samba, na chvili odpojen ethernetovy kabel)
if [ "$clientsmbd" = "0" ] && [ "$serversmbd" = "1" ]
  then
  echo "$cas2 Samba na PC jede a serversmbd nejede. Ukoncuji Sambu na ipsmbserver." >>"$mylog"
  /etc/rc.d/init.d/smb stop >/dev/null
  #Clear ARP Cache
  #Flush all arp enties on interface eth0:0
  ip neigh flush dev "$ethsmbserver"
  #Flush arp entry for all hosts in network 192.168.5.0/24
  ip neigh flush "$ipnet"
  #Flush all arp entries:
  #ip neigh flush all
  /sbin/ifconfig "$ethsmbserver" down
fi
done
A ano, mělo by se používat 
ip. Ovšem co se týče dokumentace 
ip, je to tragické...