Перейти к содержимому
Калькуляторы

А pppшки accel запускает отдельными процессами как pppd али нет?

Для pppd прибиваю простым скриптом, на входе для удобства IP клиента.

#!/bin/sh
DEV=`ip r show | grep "$1 " | awk '{print $3}'`
IP=`ip r show | grep "$1 " | awk '{print $1}'`
echo $IP-$DEV

NUM=`cat /var/run/$DEV.pid`
kill $NUM
echo session killed
exit 0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Имеется лабораторный сервер, на котором есть accel-ppp 1.7.3. Никаких radius'ов, баз данных и прочего нет. Голый Linux и голый accel.

Авторизация по логину-паролю из chap-secret. Создается туннель ppp# и поднимается ip адрес, согласно chap опять же.

 

Возникла задача в определенный момент времени инициировать разрыв соединения, т.е. прибить ppp# туннель и удалить соответствующий dev, чтобы в ifconfig его не было.

 

ifconfig ppp# down не работает ... туннель остается жив.

 

Вопрос: Как именно (просто, эффективно и легко) можно убить нужный ppp# интерфейс так, чтобы у клиента порвалось соединение?

 

подключится к accel телнетом (telnet 127.0.0.1 2000) и убить нужный тунель.

Изменено пользователем Cramac

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А pppшки accel запускает отдельными процессами как pppd али нет?

Нет конечно. Процессы не отдельные. Свой скрипт для убийства отдельных процессов и корректировки правил iptables у меня есть.

 

Cramac, а вот про telnet в accel-ppp я как-то подзабыл (не пользуюсь им, потому как не было нужды). Попробую как оно в деле, а потом, если все получится корректно, то надо будет автоматизировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

replicant

В новых сборках accel'я есть консольная утилита управления, accelcmd. Можно не морочиться с автоматизацией, просто accelcmd terminate xxx

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

replicant

В новых сборках accel'я есть консольная утилита управления, accelcmd. Можно не морочиться с автоматизацией, просто accelcmd terminate xxx

Последние сборки это из git которые или она (утилита) все же есть в 1.7.3, но компилируется с каким-то ключем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

imho только master-ветка из git'a, оно недавно появилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, пожалуйста, наблюдаю в accel 1.7.3 в последнее время обилие строк

[2013-03-08 22:45:51]:  warn: l2tp: incorrect avp received (type=6, M=1, must be 0)
[2013-03-08 22:45:52]:  warn: l2tp: incorrect avp received (type=6, M=1, must be 0)
[2013-03-08 22:45:53]:  warn: l2tp: incorrect avp received (type=6, M=1, must be 0)
[2013-03-08 22:45:54]:  warn: l2tp: incorrect avp received (type=6, M=1, must be 0)

и

[2013-03-10 09:20:08]:  warn: recv (unexpected) [L2TP tid=0 sid=0 <Message-Type Stop-Ctrl-Conn-Notify> <Assigned-Tunnel-ID 6045> <Result-Code>]
[2013-03-10 09:20:09]:  warn: recv (unexpected) [L2TP tid=0 sid=0 <Message-Type Stop-Ctrl-Conn-Notify> <Assigned-Tunnel-ID 6045> <Result-Code>]
[2013-03-10 09:20:10]:  warn: recv (unexpected) [L2TP tid=0 sid=0 <Message-Type Stop-Ctrl-Conn-Notify> <Assigned-Tunnel-ID 6045> <Result-Code>]

Что это такое и как с этим бороться? Заранее спасибо за ответы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скажите, работает ли backup cессий в accel-ppp, кто-то его тестировал?

Сейчас при сегфолте я заметил что accel-ppp рестартанул сам, чего раньше не было. Поглядел в код, оказалось что если собирать с USE_BACKUP, то не только все должно рестартануть, но и старые сессии подхватятся при запуске нового инстанса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Скажите, работает ли backup cессий в accel-ppp
нет, в полной мере не реализовано

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

[2013-03-08 22:45:51]: warn: l2tp: incorrect avp received (type=6, M=1, must be 0)
[l2tp]

avp_permissive=1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а что могут означать записи вида:

 

warn: ppp91: unexpected PPTP_OUT_CALL_RQST

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

сегодня заметил, утром (в 5-6 часов) было много такого, днем и к вечеру уже реже встречается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

xeb

спасибо за совет. А что делать с этим?

[2013-03-10 09:20:08]:  warn: recv (unexpected) [L2TP tid=0 sid=0 <Message-Type Stop-Ctrl-Conn-Notify> <Assigned-Tunnel-ID 6045> <Result-Code>]

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

accel-ppp# show sessions match username

Connection closed by foreign host

pppoe2 ~ #

 

(юзернейм умышленно забыл указать)

 

Баг? :)

Естественно юзеры отвалились. Свежий master из git.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Баг? :)

Естественно юзеры отвалились. Свежий master из git.

В свежем мастере говорит "syntax error" и не падает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

xeb

Приветствую.

А не подскажите по-поводу проблемы с маской и RADIUS?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нашел мини-баг для ipoe и регулярных выражений

interface=re:^eth1\.[2001-2006]$

Не работает. Убираю начало-конец строки - работает

interface=re:eth1\.[2001-2006]

Дальше лучше, так не работает.

interface=re:eth1.[900-999].[2001-2006]
interface=re:eth1\.[900-999]\.[2001-2006]

Так работает

interface=re:eth1.999.[2001-2006]
interface=re:eth1.[900-999].2001

Пока остановился на рабочем варианте

interface=re:eth2\.(\d+)\.(\d+)$

Но нормально задать наборы вланов для q-in-q не получается.

Изменено пользователем kayot

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ATTRIBUTE DHCP-Mask 242 ipaddr
ммм ... тип ipaddr не реализовано пока, только int c кол-вом бит

 

interface=re:eth1\.[2001-2006]
в данном случает в регулярное выражение попадут интерфейсы с именами eth1.2, eth1.0, eth1.1, eth1.6

правильно будет interface=re:eth1\.200[1-6]

 

interface=re:eth1\.[900-999]\.[2001-2006]
это соответсвенно правильно будет:

interface=re:eth1\.9[0-9][0-9]\.200[1-6]

Изменено пользователем xeb

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

xeb

Я конечно предложенные варианты проверю завтра, но не работает регулярка вида [xx-yy]\.[zz-vv]. Как только 2 набора появляется - все, тишина.

И предложенный interface=re:eth1\.9[0-9][0-9]\.200[1-6] не будет работать 100%

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

xeb

Я конечно предложенные варианты проверю завтра, но не работает регулярка вида [xx-yy]\.[zz-vv]. Как только 2 набора появляется - все, тишина.

И предложенный interface=re:eth1\.9[0-9][0-9]\.200[1-6] не будет работать 100%

Вы вообще в курсе, что такое регулярные выражения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.