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

FreeBSD 8.1, ограничение pptp сессий

Добрый день

 

Установил FreeBSD 8.1-STABLE i386 в качестве впн-сервера для

локалки. Подключение pptp обрабатывается poptop-1.3.4_2 из портов.

 

Проблема в том, что после подключения порядка 100 пользователей

новые подключиться не могут, на винде сразу после попытки подключения

ошибка 800 - невозможно подключиться к серверу.

После /usr/local/etc/rc.d/pptpd restart открытые сессии остаются,

количество вновь созданных не может быть более 100.

Помогает только рестарт процесса pptpd. Причем общее

количество туннелей около 300.

 

pptpd уже пересобрал с опцией #define CONNECTIONS_DEFAULT 1000 в defaults.h,

до этого было 100. В pptpd.conf есть строка connections 1000. Сам процесс

запущен с ключем -C 1000.

 

По исходникам при превышении лимита должно выдаваться

"MGR: connections limit (%d) reached, extra IP addresses ignored"

Но такого в логах не вижу.

 

Количество процессов, порожденных pptp, смотрю через ps -d.

Доходит до 198 и дальше не увеличивается.

 

# ps -d | grep '| |' | grep 'pptp' | wc -l

198

 

 

Вот часть вывода:

 

62662 ?? S 0:00,45 |-- pptpctrl : pptpd [192.168.120.19:8000 - 2180] (pptpctrl)

62663 ?? S 0:01,14 | `-- ppp: login1 tun176 х.х.х.х pptp (ppp)

62910 ?? S 0:06,15 |-- pptpctrl : pptpd [192.168.112.169:4000 - 5880] (pptpctrl)

62911 ?? S 0:11,13 | `-- ppp: login2 tun7 х.х.х.х pptp (ppp)

63103 ?? Ss 0:00,18 |-- pptpd -C 1000

222 ?? S 0:02,44 | |-- pptpctrl : pptpd [192.168.126.237:C000 - 2E80] (pptpctrl)

223 ?? S 0:04,37 | | `-- ppp: login3 tun149 х.х.х.х pptp (ppp)

236 ?? I 0:00,50 | |-- pptpctrl : pptpd [192.168.115.225:F258 - 3080] (pptpctrl)

237 ?? S 0:01,06 | | `-- ppp: login3 tun287 х.х.х.х pptp (ppp)

 

Видны 2 логина от уже прибитого pptp, и два от текущего.

 

Последний созданный процесс

3064 ?? I 0:00,00 | |-- pptpctrl : pptpd [192.168.126.135] (pptpctrl)

 

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

 

В логах при нормальном подключении вижу следующее

 

Oct 17 13:17:39 vpn-1 pptpd[52594]: CTRL: Client 192.168.167.23 control connection started

Oct 17 13:17:39 vpn-1 pptpd[52594]: CTRL: Starting call (launching pppd, opening GRE)

Oct 17 13:17:39 vpn-1 ppp[52595]: Phase: Using interface: tun290

Oct 17 13:17:39 vpn-1 kernel: tun290: link state changed to UP

Oct 17 13:17:39 vpn-1 ppp[52595]: Phase: deflink: Created in closed state

Oct 17 13:17:39 vpn-1 ppp[52595]: Warning: iface add: ioctl(SIOCAIFADDR, 127.0.0.1 -> х.х.х.133): File exists

Oct 17 13:17:39 vpn-1 ppp[52595]: Warning: iface add: ioctl(SIOCAIFADDR, 127.0.0.1 -> х.х.х.134): File exists

Oct 17 13:17:39 vpn-1 pptpd[52594]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!

Oct 17 13:17:39 vpn-1 kernel: Oct 17 13:17:39 vpn-1 pptpd[52594]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!

 

Отключаюсь

 

Oct 17 13:17:42 vpn-1 pptpd[52594]: CTRL: Reaping child PPP[52595]

Oct 17 13:17:42 vpn-1 kernel: tun290: link state changed to DOWN

Oct 17 13:17:42 vpn-1 pptpd[52594]: CTRL: Client 192.168.167.23 control connection finished

 

Такое вижу в логах, когда подключиться невозможно

 

Oct 17 13:10:18 vpn-1 pptpd[52258]: MGR: Launching /usr/local/sbin/pptpctrl to handle client

Oct 17 13:10:18 vpn-1 pptpd[48714]: MGR: Reaped child 52258

 

Странно, но от MGR при нормальной работе сообщений нет.

На даный момент по крону делаю /usr/local/etc/rc.d/pptpd restart.

 

Пробовал создавать много дочерних процессов

 

i=0

while true; do

i=`expr $i + 1`

echo -n $i.

sleep 10 &

done

 

2-3 тысячи создаются без проблем, т.е. ограничеия ресурсов нет.

 

 

Подскажите, кто может ограничивать количество порожденных процессов ?

Ядро или сам pptpd. И как поднять лимит ?

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


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

Попробуйте в pptpd.conf

 

connections 2000 //сколько вам угодно коннектов

delegate

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

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


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

Спасибо, помогла опция deflate

 

По умолчанию у pptpd есть 100 адресов

 

#define DEFAULT_LOCAL_IP_LIST "192.168.0.1-100"

#define DEFAULT_REMOTE_IP_LIST "192.168.1.1-100"

 

когда они заканчивались, юзера видели ошибку 800

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


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

Многие наступали на эти грабли

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


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

Join the conversation

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

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

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

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

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

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

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