promov писал(а): ↑11.02.2008 12:01
команды "pon <какое-то слово>". Что она запускает?
собственно вот текст скрипта pon
Код: Выделить всё
#!/bin/sh
PPP_ON_BOOT=/etc/ppp/ppp_on_boot
case "$1" in
-*) echo "
Usage: pon [provider] [arguments]
If pon is invoked without arguments, $PPP_ON_BOOT file will be
run, presuming it exists and is executable. Otherwise, a PPP connection
will be started using settings from /etc/ppp/peers/provider.
If you specify one argument, a PPP connection will be started using
settings from the appropriate file in the /etc/ppp/peers/ directory, and
any additional arguments supplied will be passed as extra arguments to
pppd.
"
exit 0
;;
esac
if [ -z "$1" -a -x "$PPP_ON_BOOT" ]; then
exec "$PPP_ON_BOOT"
fi
if [ -z "$1" -a ! -f /etc/ppp/peers/provider ]; then
echo "
Please configure /etc/ppp/peers/provider or use a command line argument to
use another file in /etc/ppp/peers/ directory.
"
exit 1
fi
if [ "$1" -a ! -f "/etc/ppp/peers/$1" ]; then
echo "
The file /etc/ppp/peers/$1 does not exist.
"
exit 1
fi
exec /usr/sbin/pppd call ${@:-provider}
вобщем насколько я могу судить скрипт проверяет ряд условий и завершается при невыполнении хотябы одного из них с соответствующим сообщением об ошибке
если же все они выполнены выполняется последняя строчка
всё что делает "pon" непосредственно для поднятия впн-туннеля это запускает программу /usr/sbin/pppd передавая ей два параметра первый: команду call второй имя файла из директории /etc/ppp/peers/ которое мы передали скрипту при запуске
или иначе говоря при правильно настроенном соединении (а оно настроено правильно если вы всётаки можете попасть с помощью него в интернет)
выполнение
равносильно выполнению команды
из всего вышеперечисленного следует что за запуск скриптов при создании/разрыве ppp канала отвечает вовсе не pon, а программа /usr/sbin/pppd или же какая нибудь другая программа выполнение которой запускает опять же /usr/sbin/pppd
zh0rzh писал(а): ↑11.02.2008 09:34
Дык у меня тоже обрабатывается скрипт
/etc/ppp/ip-up, и у
promov`а тоже он. Вписывал я в него роутинг - всё равно что-то не пашет. Ну да ладно, разберусь.
Вобщем я с этой темы (ну и ранее тоже) понял, что:
1) в инструкции на
http://ru.posix.wikia.com/wiki/PPTP есть ошибка - в листинге скрипта ip-up нет записи маршрута
ДНС-шлюз:
"Роутинг на всю эту прорву серверов нам нужно один раз внести в файл /etc/ppp/ip-up и привести файл к следующему виду:
......"
Если не так - объясните почему.
2) в Дебиане (специально поставил себе, чтобы симметрично отслеживать действия
promov`а) путаница со скриптами
ip-up, ip-down, ip-up.local, ip-down.local, ip-up.d, ip-down.d - непонятно зачем столько скриптов, и почему один ссылается на другой, тот в свою очередь на третий.
1)Возможно "это не бага, а фича" © както связанная с особенностями корбиновской сетки, а возможно и нет
Вобщем вики на то и вики что писать в неё и редактировать написанное может любой желающий, в связи с чем в ней вполне могут содержаться ошибки, но ничего лучше всё равно не придумали. Да и содержащейся в статье информации вполне достаточно чтобы немного пораскинув мозгами обеспечить себе работоспособный доступ в интернет.. Я кстати именно этой статьёй пользовался и очень благодарен авторам ибо из всего остального что я читал в интернете на эту тему она оказалась наиболее доступной для моего понимания
2)Хм... Мне не совсем понятно ваше желание использовать при автоматизации всю эту кучу скриптов располагая при этом тем простым фактом что при старте pptp соединения у вас исполняется именно скрипт ip-up
давайте исходить из того что раз он запускается то с ним мы и будем работать
т.е
1)всю автоматизацию мы пишем в него
2)все ненужные/незнакомые нам команды мы в нём стираем/комментируем
таким образом в случае неудачи в благом деле автоматизации поле поиска проблемы сужается до самого скрипта ip-up
для начала:
вот из опыта моих (успешно решённых) проблем с автоматизацией:
для начала давайте проверим есть ли у него права на исполнение
по опыту собственных ошибок могу сказать чтов случае если их нет в выводе команды
мы можем увидеть:
Код: Выделить всё
Can't execute /etc/ppp/ip-up: Invalid argument
если же скрипт нормально выполняется, а маршруты в таблицу маршрутизации добавляться не желают рекомендую проверить наличие в скрипте уже указанной мной в предыдущем посте строки
у меня до её добавления скрипт корректно работать отказывался (про это кстати в вики тоже не писали)