vlin Опубликовано 18 октября, 2010 · Жалоба Добрый день Установил 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. И как поднять лимит ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
k0stik Опубликовано 18 октября, 2010 (изменено) · Жалоба Попробуйте в pptpd.conf connections 2000 //сколько вам угодно коннектов delegate Изменено 18 октября, 2010 пользователем k0stik Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlin Опубликовано 18 октября, 2010 · Жалоба Спасибо, помогла опция deflate По умолчанию у pptpd есть 100 адресов #define DEFAULT_LOCAL_IP_LIST "192.168.0.1-100" #define DEFAULT_REMOTE_IP_LIST "192.168.1.1-100" когда они заканчивались, юзера видели ошибку 800 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
k0stik Опубликовано 18 октября, 2010 · Жалоба Многие наступали на эти грабли Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...