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

на самом деле оно мне не в продакшен нужно, просто пытаюсь баг воспроизвести... ;)

Ничего, попробую с radvd...

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


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

commit 310c21779c06f69bf83e006c4f568f2f24fac1eb
Author: Kozlov Dmitry <xeb@mail.ru>
Date:   Tue Nov 20 16:42:59 2012 +0400

pppoe: implemented regular expression support

NiTro, пробуй

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

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


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

Народ, может туплю под утро, но что сие означает? Всю башку сломал. Работоспособные опции подобрал, но не уверен, что все по феншую.

 

[2012-11-25 06:50:25]: warn: ppp0: ppp:ipcp: to avoid kernel soft lockup requested IP cannot be assigned (10.168.57.57)

 

В логах любого уровня 3,4 или 5 только этот warning, но при этом подключается и все работает. IP выдаю не из пула, а из chap-secret, mppe выключено и в [ppp] и в [pptp].

[ppp]

ccp=1

ipv4=allow

 

А при ccp=0 появляется еще один warning такого вида

warn: ppp0: CCP: discarding packet,

 

но все также работает.

 

В комбинации с ipv4=require нихрена не пашет вообще (windows с ошибкой 734).

 

Далее, если снова включить ipv4=allow, mppe=allow и ccp=1, то будет принудительно ставиться mppe, если клиент его может конечно, а при ccp=0 не будет ставиться mppe, даже, если клиент может, но когда клиент запросит, то поставится, хотя и с warning (см. выше.)

 

Как друг с другом кореллируют ipv4 и ccp в данном случае? Что делать с warning'ами?

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

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


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

replicant,

man accel-ppp.conf

искать client-ip-range

Если кратко - выданный адрес входит в пул адресов, обозначенный как "сеть, откуда ходят клиенты". Можно на свой страх и риск сделать так:

[client-ip-range]
disable

Но правильно - вписать туда адреса, откуда можно ходить.

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


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

Регэкспы вроде как работают нормально.

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


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

Скажите, а текущий функционал IPoE позволяет в схеме vlan-per-user использовать accel-ppp только как DHCP-сервер, заменяющий isc-dhcp, например? Чтобы при этом терминация вланов оставалась на цыске, и там же вставлялась опция 82 с номером влана, а дальше через helper address пакеты бы летели на accel.

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


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

заменяющий isc-dhcp, например
в accel очень прострой дхцп, выдаёт только ип, шлюз, днс

а так в принципе можно доработать

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


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

заменяющий isc-dhcp, например
в accel очень прострой дхцп, выдаёт только ип, шлюз, днс

а так в принципе можно доработать

Так ведь больше ничего особо и не нужно :)

В текущей нашей схеме получается монструозный конфиг dhcp с классом и пулом на каждого абонента.

Куда удобнее было бы иметь одну простую функцию, преобразующую полученные от клиента атрибуты в настройки. Идеально через тот же lua плюс настраиваемое кэширование внутри сервера.

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


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

В текущей нашей схеме получается монструозный конфиг dhcp с классом и пулом на каждого абонента.
ну есть же неск. дхцп серверов на перле или ещё чём-то там написанных с поддержкой бд, их не проще ли ?

в accel дхцп через radius работает, а в lua можно только опцию 82 в имя пользователя преобразовать

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


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

Victor Safronov

http://freeradius.org/features/dhcp.html - чем не устраивает?

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


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

Сорри за нубский вопрос. Как можно изменить log_level на ходу? Т.е. у меня стоит level=2, а хочу на время включить 4 уровень, промониторить и потом выключить обратно на 2 уровень.

 

Клиентов не хочется отключать, т.к. их там много сидит.

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


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

можно

в cli команда reload

 

Спасибо, я так и понял что через cli, но у меня cli временно выключено, а включить уже только перезапуском демона. Походу надо включить cli все-таки.

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


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

Можно ли задать несколько pppoe интерфейсов или нужно на каждый свой сервер стартовать ?

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


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

Можно ли задать несколько pppoe интерфейсов или нужно на каждый свой сервер стартовать ?

Можно.

А в последних коммитах вообще можно regex-ом указывать.

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


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

ещё можно SIGUSR1 послать

Ок, все сделал. Есть еще вопрос. Напрягает подобное в логах. Версия 1.7.2

 

[2012-12-07 15:42:44]:  info: ppp342: connect: ppp342 <--> pptp(192.168.11.18)
[2012-12-07 15:42:44]:  info: ppp342: send [LCP ConfReq id=1 <auth MSCHAP-v2> <magic 7b93f8f3> <mru 1400>]
[2012-12-07 15:42:44]:  info: ppp342: recv [LCP ConfReq id=2 <magic 4126abb>]
[2012-12-07 15:42:44]:  info: ppp342: send [LCP ConfAck id=2 ]
[2012-12-07 15:42:47]:  info: ppp342: send [LCP ConfReq id=1 <auth MSCHAP-v2> <magic 7b93f8f3> <mru 1400>]
[2012-12-07 15:42:47]:  info: ppp342: recv [LCP ConfAck id=1 <auth MSCHAP-v2> <magic 7b93f8f3> <mru 1400>]
[2012-12-07 15:42:47]:  info: ppp342: send [MSCHAP-v2 Challenge id=1 <638821cd60ab7d7efd6215989b12cff4>]
[2012-12-07 15:42:47]:  info: ppp342: recv [MSCHAP-v2 Response id=1 <d3e3d70b1601454be6ca7c4442285cc>, <5a64c163528df03e38aa825a784f69369a4628d6cce53bfd>, F=0, name="124412707"]
[2012-12-07 15:42:47]:  warn: ppp342: mschap-v2: user not found
[2012-12-07 15:42:47]:  info: ppp342: send [MSCHAP-v2 Failure id=1 "E=691 R=0 V=3 M=Authentication failure"]
[2012-12-07 15:42:47]:  info: ppp342: send [MSCHAP-v2 Failure id=1 "E=691 R=0 V=3 M=Authentication failure"]
[2012-12-07 15:42:47]:  info: ppp342: 124412707: authentication failed

 

Т.е. у многих клиентов, у кого роутеры и временно нет средств на счету получают warn mschap-v2: user not found

Если я на Windows моделирую подключение и ловлю ошибку 691, то в логи кладется warn с тем методом аутентификации, который у меня в настройках.

Если ставлю CHAP, то будет в логах chap-md5: user not found

Таким образом любая отработка 691 ошибки создает в логах warn-запись с методом аутентификации.

С методом PAP несколько иная строка в логах [2012-12-07 16:04:24]: warn: ppp395: PAP: authentication error.

С чем это может быть связано?

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

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


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

Хотел создать отдельный топик, но пока запостил тут по ряду причин. Наткнулся на интересное поведение роутеров с pptp 0.8.3 на борту. Тесты проводились на D-Link 615, Zyxel Keenetic и Asus (точно номер не помню уже).

 

Допустим имеется некая зона типа domain.ru. В этой зоне размещены сервера авторизации абонентов. Допустим под именем auth.domain.ru. В зоне есть DNS сервер, который выдает роутерам при подключении к auth.domain.ru список ip серверов.

 

В файле зоны это выглядит так:

 

auth A 10.10.10.1

auth A 10.10.10.2

и т.д., т.е. серверов много под одним именем для равномерного раскидывания и обслуживания абонентских коннекций.

 

Теперь представим что серверов в какой-то момент становится очень много. Речь пойдет о 22-х серверах.

 

Так вот в чем суть. Если серверов в файле зоны прописано 22 и более, то вышеуказанные роутеры, у которых прописано соединяться с auth.domain.ru, получив ответ от DNS сервера, вообще не будут соединяться ни с одним из серверов (DIR615 даже не пытался поднять коннект, а Zyxel выкидывал что-то невнятное в лог типа не могу найти сервер).

 

Уменьшаем кол-во до 21 и роутеры даже без перезагрузки цепляются к серверу и все нормально.

 

Вопрос не в том почему 21 и более серверов (так надо). Вопрос в том, что все роутеры, которые спасовали были с pptp 0.8.3 на борту.

 

D-Link DIR100 из старых выпусков спокойно переварил даже 24 сервера. Дальше я увеличивать не стал.

 

Можно конечно сделать пару трюков с DNS на уровне view для абонентов, разбив внутренние сети на подсети поменьше, но вопрос все же открытый. Есть ли программное ограничение в 21 сервер pptp?

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

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


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

Вопрос в том, что все роутеры, которые спасовали были с pptp 0.8.3 на борту.

Какое-нибудь DD-WRT? Откуда информация, что там именно pptp 0.8.3? Из логов? Если я правильно понял конфигурацию, то проблема начинается еще до pptp - собственно, у роутера не получается разрешить адрес для pptp. Возможно, глюк вообще в оригинальном BSP, на которое ОЕМ нахлобучил свои кастомизации.

Так или иначе, это должны решать разработчики железа, сюда оно как-то... ;)

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


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

Вопрос в том, что все роутеры, которые спасовали были с pptp 0.8.3 на борту.

Какое-нибудь DD-WRT? Откуда информация, что там именно pptp 0.8.3? Из логов? Если я правильно понял конфигурацию, то проблема начинается еще до pptp - собственно, у роутера не получается разрешить адрес для pptp. Возможно, глюк вообще в оригинальном BSP, на которое ОЕМ нахлобучил свои кастомизации.

Так или иначе, это должны решать разработчики железа, сюда оно как-то... ;)

 

Нет, не DD-WRT, а более чем официальные прошивки. Тот же Zyxel тулзой nslookup разрешает все ip в любом кол-ве, а коннекция не стартует, если ip-ов более 21. Мессадж в логах отражается именно от pptp 0.8.3. Просто запустив 22-й сервер я даже не сразу въехал что все хомяки в сети полегли разом после того как с DNS пообщались (подозреваю что моделей упавших рутеров было больше, но у меня в наличии были только вышеуказанные 4 штуки). ТП разрывалась от звонков. Сегодня вроде все нормализовал, убрав в DNS строки.

 

В Zyxel и в D-Link вопросы уже отправили, но вдруг что-нибудь про это знает xeb?

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

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


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

 

Пасиб за ссылку. Люди тоже столкнулись с отвалом рутеров D-Link. С DNS я разрулю каким-нибудь способом - это не вопрос. Лимитировать отдачу на клиента количества А-записей - это как бы первая идея, что в голову пришла сразу же.

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


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

в accel-pptp ограничения нет, но есть ограниченный буфер у функции gethostbyname, которая используется для резолвинга

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


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

Вопрос в том, что все роутеры, которые спасовали были с pptp 0.8.3 на борту.

Попробуйте включить сжатие заголовков в днс сервере.

Я тоже думаю что гдето в резолвере дело, а не в пптп демоне.

Резолвер должен возвращать указатель на память где распарсеные адреса из ответа, софтина с этим что то делает и потом освобождает/возвращает эту память вызывая другую функцию резолвера.

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


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

Join the conversation

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

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

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

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

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

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

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