PDA

Просмотр полной версии : Скрипт..


OMG!!
17.10.2009, 18:37
Написал простенький скрипт..

#!/bin/bash
sleep 5
IFOUT1=ppp0 # TTK
GW=`ifconfig ${IFOUT1}|grep "inet addr"|awk '{print $2}'|cut -d ':' -f 2`
/sbin/route del default
/sbin/route add default gw ${GW}&> /dev/null
exit 0



Думаю всем понятна его суть. Вопрос.. при выполнении скрипта вылезает
debian:/etc/network# ./2.sh
SIOCDELRT: No such process

Однако, скрипт отрабатывает задуманное.. роут добавляется.. но не надолго. через 1 минуту он просто ИСЧЕЗАЕТ из таблицы роутинга. в логах нет ничего.. как быть? где ошибся?

POS_troi
17.10.2009, 20:01
заместь route del default

напиши

#очистит всю таблицу
ip route flush all

если нужно удалить именно default и оставить остальные (если они есть) то команда должна быть такая

route del default gw 192.168.0.1

OMG!!
17.10.2009, 20:21
заместь route del default

напиши

#очистит всю таблицу
ip route flush all

мне не нужно удалять всю таблицу. там еще полно роутов, которые нужны..
[QUOTE=POS_troi]
если нужно удалить именно default и оставить остальные (если они есть) то команда должна быть такая

route del default gw 192.168.0.1
[code]
а причем тут это?) и 192.168 подсеть какая то )) default он и в африке дефаул. Еще раз говорю.. скрипт РАБОТАЕТ. выдается только одна ошибка.. или нотис, как угодно. Роут светится 1 минуту ( или около того ) в таблице.. и потом просто ИСЧЕЗАЕТ.

POS_troi
17.10.2009, 21:07
Еще раз говорю.. скрипт РАБОТАЕТ

Роут светится 1 минуту ( или около того ) в таблице.. и потом просто ИСЧЕЗАЕТ.

противоречиш сам себе.

а причем тут это?) и 192.168 подсеть какая то )) default он и в африке дефаул

но никто не гарантирует тебе что твоя команда отработает как нужно.

192.168.0.1 это то что в данный момент у тебя есть default.

если не нравится так то делай так

/sbin/ip route delete default


1. почитай глубже маны
2. для приличия хоть-бы указал что за система
3. твоя тема не в тему раздела.

OMG!!
17.10.2009, 21:22
POS_troi, скрипту обязано добавлять роут.. предварительно вычленив его из ifconfig. система дебиан. и он с этой задачей СПРАВЛЯЕТСЯ на ура. поэтому я себе не противоречил. это раз.
если не нравится так то делай так
/sbin/route del default аналог твоей комманды. :)

cupper
20.10.2009, 18:06
делай так и будет тебе счастье, покрайней мере ошибку не выдает.

/sbin/route del -net default
/sbin/route add -net default netmask 0.0.0.0 dev ppp0 (или тот который тебе нужен)
/sbin/route add -net default gw ${GW} dev ppp0


сам не врубаюсь почему он не глатает сразу

/sbin/route add -net default netmask 0.0.0.0 gw ${GW} dev ppp0