значит решил я эту проблему путем сравнения!!!
#!/bin/sh
#setup
dev=eth0
mask=25
network=94.242.6.220
gate=94.242.6.129
mac=`/home/artem/random.sh`
#stuff
while :; do
echo started
match=3
host=`ping -i 0.2 -c 3 mail.ru |grep icmp_seq |wc -l`
if [ "$match" -eq "$host" ] ; then
echo ok
sleep 10m
echo ok
freeip=`nmap -sP -v $network/$mask |grep down |cut -d" " -f 2 |sort --random-sort |head -n 1`
/sbin/ifconfig $dev down
/sbin/ifconfig $dev hw ether $mac
/sbin/ifconfig $dev $freeip/$mask up
/sbin/route add default gw $gate $dev
else
echo bad
freeip=`nmap -sP -v $network |grep down |cut -d" " -f 2 |sort --random-sort |head -n 1`
/sbin/ifconfig $dev down
/sbin/ifconfig $dev hw ether $mac
/sbin/ifconfig $dev $freeip/$mask up
/sbin/route add default gw $gate $dev
fi
sleep 5;
done
random.sh:
#!/bin/bash
RANGE1=10
RANGE2=10
RANGE3=10
number1=$RANDOM
number2=$RANDOM
number3=$RANDOM
let "number1 %= $RANGE1"
let "number2 %= $RANGE2"
let "number3 %= $RANGE3"
echo 00:18:f$number3:7$number2:c8:4$number1
вроде так пока не тестировал но ошибок нет,просьба проверить скрипты
есть сомнения по поводу работоспособности /sbin/ifconfig $dev down
/sbin/ifconfig $dev hw ether $mac
/sbin/ifconfig $dev $freeip/$mask up
/sbin/route add default gw $gate $dev
вот этой связки!)
вроде работает,как добавить таймер времени слипа?
то есть что бы показывалось сколько ещё скрипт будет спать)