Версия 2. Исправленная и дополненная.
Преамбула.
Продолжаю начатое
тут.
Обычно тоннель поднимается командой
pppd call providername
где
providername
– файл настроек соединения в
/etc/ppp/peers
. Команда особого интерактива не дает, а хотелось бы, например, чтоб выводился «прогресс-бар», когда соединение устанавливается, а по прошествии максимального времени ожидания, если соединение так и не поднялось, выводилось сообщение о таймауте. Если соединение поднялось до истечения таймаута – выводилось сообщение об успехе.
Скрипту будет передаваться единственный параметр – имя необходимого файла настроек соединения из
/etc/ppp/peers
Что должен делать скрипт.
1. Проверить собственные параметры, и если файл настроек не указан – выдать соответствующее сообщение и прекратить работу.
2. Проверить наличие переданного файла настроек
3. Проверить, не поднято ли уже это соединение, если поднято – выдать сообщение и прекратить работу
4. Проверить параметр настройки
unit
– номер будущего интерфейса ppp. Если его нет – найти первый свободный (его и использует
pppd
). Если параметр
unit
присутствует, то проверить, свободен ли он, если нет – найти первый свободный.
5. Запустить установку соединения.
6. В цикле проверять, установилось ли оно, или истек заданный таймаут
7. По завершению цикла оповестить пользователя об успехе или истечении таймаута.
Недочет предыдущей версии скрипта.
Главный недочет предыдущей версии скрипта — жестко заданная проверка наличия соединения командой
ping
, после получения сведений об установленном соединении из вывода команды
ifconfig
. Пинговался адрес полученного шлюза. Дело в том, что некоторые провайдеры не позволяют пинговать шлюз, или вообще отключают возможность использования протокола ICMP, поэтому необходимо дать пользователю возможность через параметры командной строки указать, нужно ли использовать дополнительную проверку с помощью
ping
и какой адрес в случае необходимости пинговать.
Заодно мною были добавлены дополнительные информационные сообщения, а также немного видоизменен основной рабочий цикл.
Read more…
Скрипт на pastebin
Скачать с mega.nz
Бонусом сделал еще одну версию
Куда прикрутил обратный отсчет времени с мельницей, скрестив этот скрипт с вот
этим.
Скрипт на pastebin
Скачать с mega.nz
Это перепост заметки из моего блога на LJ.ROSSIA.ORG
Оригинал находится здесь: http://lj.rossia.org/users/hex_laden/329224.html
Прокомментировать заметку можно по ссылке выше.