Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Suse/OpenSuSE - как поднять VPN over VPN со скрипта?

Ответить
Настройки темы
Suse/OpenSuSE - как поднять VPN over VPN со скрипта?
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Проблема в том, что pptp не возвращается, пока не закроется сессия. Пытался так:
Код: Выделить весь код
 # pptp АДРЕС defaultroute noauth user ПОЛЬЗОВАТЕЛЬ password ПАРОЛЬ 2>&1
Using interface ppp0
Connect: ppp0 <--> /dev/pts/6
CHAP authentication succeeded
CHAP authentication succeeded
not replacing default route to wlan0 [192.168.0.1]
local  IP address ТАКОЙ-ТО
remote IP address СЯКОЙ-ТО
Script ?? finished (pid 17811), status = 0x0
Script /etc/ppp/ip-up finished (pid 17817), status = 0x0
^CTerminating on signal 2
Connect time 0.3 minutes.
Sent 0 bytes, received 0 bytes.
Terminating on signal 15
Script /etc/ppp/ip-down finished (pid 18029), status = 0x0
Connection terminated.
Modem hangup
думал типа так должно сработать:
Код: Выделить весь код
# pptp АДРЕС defaultroute noauth user ПОЛЬЗОВАТЕЛЬ password ПАРОЛЬ 2>&1 | grep if-up\ finished | pptp ...
пробую:
# pptp АДРЕС defaultroute noauth user ПОЛЬЗОВАТЕЛЬ password ПАРОЛЬ | grep if-up\ finished
# pptp АДРЕС defaultroute noauth user ПОЛЬЗОВАТЕЛЬ password ПАРОЛЬ 2>&1 | grep if-up\ finished
На экране пусто, а сессия поднялась
тупо pptp ... & sleep 10 && pptp ... делать не хочется, потому что он не следит за результатом подключения

Отправлено: 00:49, 24-02-2010

 
pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


уточняем вопрос: как с командной строки выполнить команду, если во входном потоке присутствует регулярное выражение?
awk не катит, потому что надо сделать вложенный вызов:
pptp ... | если_есть state\ =\ 0x0 route ... && (pptp ... | если_есть state\ =\ 0x0 route ... && echo "ready")
вспомогательный скрипт рассматриваю как последний вариант (если в строчку не получится), а, или можно в скрипте типа функцию вызвать?

Отправлено: 01:03, 25-02-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

pva pva вне форума Автор темы

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


в общем что-то более-менее похожее на то, что хотелось, всё-таки получается у меня только с помощью awk:
Код: Выделить весь код
pptp АДРЕС1 noauth user ПОЛЬЗОВАТЕЛЬ1 password ПАРОЛЬ1 | awk '
/Using\ interface/{ppdev=$3}
/local\ \ IP address/{ppaddr=$4}
/remote\ IP address/{ppraddr=$4}
/ip-up\ finished\ .+\ status\ =\ 0x0/{sub("\.[0-9]+$", "\.0", ppaddr);print("route add -net " ppaddr " netmask 255.255.255.0 dev " ppdev СЮДА_ВСТАВИТЬ_КОМАНДУ)|"bash"}
/ip-down\ finished/{print("route del -net " ppraddr " netmask 255.255.255.255")|"bash"}'

СЮДА_ВСТАВИТЬ_КОМАНДУ такую:

&& pptp АДРЕС2 noauth user ПОЛЬЗОВАТЕЛЬ2 password ПАРОЛЬ2 require-mppe | awk '
/Using\ interface/{ppdev=$3} /local\ \ IP address/{ppaddr=$4}
/remote\ IP address/{ppraddr=$4}
/ip-up\ finished\ .+\ status\ =\ 0x0/{sub("\.[0-9]+$", "\.0", ppaddr);print("route add -net " ppaddr " netmask 255.255.255.0 dev " ppdev)|"bash"}
/ip-down\ finished/{print("route del -net " ppraddr " netmask 255.255.255.255")|"bash"}' &
если не считать СЮДА_ВСТАВИТЬ_КОМАНДУ, то программа для awk абсолютно одинаковая, вызов pptp отличается именем, паролем, адресом и если в имени есть '\\', то добавляется require-mppe.

Три вопроса:
1) Можно как-то это причесать? чтобы, например, получился умный скрипт nested_pptp, который вызывается типа так:
Код: Выделить весь код
(echo АДРЕС1 ИМЯ1 ПАРОЛЬ1 && echo АДРЕС2 ИМЯ2 ПАРОЛЬ2) | nested_pptp
2) Будет ли работать VPN через VPN, если вконце строчки СЮДА_ВСТАВИТЬ_КОМАНДУ убрать & ? Или там чёнить самозаблокируется?

3) можно ли сделать проще/умнее (ip-up и ip-down трогать не хочется, т.к. не для любого соединения теоретически надо подсеть прописывать)

Отправлено: 00:43, 26-02-2010 | #3



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Suse/OpenSuSE - как поднять VPN over VPN со скрипта?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
FreeBSD - Как поднять VPN туннель между Cisco ASA 5520 и FreeBSD 7.0? Raven_kg Общий по FreeBSD 0 05-06-2009 16:22
VPN - VPN, ADSL и emule. Как заставить работать осла через adsl в обход включенного VPN.. Benzo Сетевые технологии 1 17-01-2008 00:48
Помогите поднять VPN Dragon_Lord Программное обеспечение Linux и FreeBSD 0 15-03-2007 17:11




 
Переход