Пытаюсь запустить скрипт /etc/ppp/auth-up:
Кто не в курсе, в этот преопределенный файл который срабатывает при авторизации ppp юзера, аргументами приходят $1 как имя интерфейса типа ppp0, ppp1, etc
$2 как имя пира (определенного, например в /ppp/chap-secrets)
#Script start
!#/bin/sh
if [ "$2" == "someusername" ]; then
echo $1 >> /var/test
route add -net 192.168.x.x/24 dev $1
fi
Когда ppp пользователь авторизуется, скрипт срабатывает, условие исполняется, так как в файл test идёт запись, и $1 имеет валидное значение(ppp0). Но роут не прописывается. Однако если вместо $1 написать например ppp0 то работает. Есть идеи?
Всем спасибо, решение было найдено. Все дело в том, что скрипт auth-up отрабатывает так быстро, что ppp устройства не успевают подняться. В нижеприведенном виде, скрипт отрабатывает успешно:
#Script start
!#/bin/sh
if [ "$2" == "someusername" ]; then
echo $1 >> /var/test
sleep 10
route add -net 192.168.x.x/24 dev $1
fi