pptpd, число интерфейсов и сегфолты pptpctrl

Давно доставала проблема — активно использую VPN через PPTP для хождения по ригам и некоторым сервисным хостам — так вот, логи VPN-сервера стали заваливаться сообщениями вида

Mar 4 23:56:58 vpn kernel: [4141694.076742] pptpctrl[3513]: segfault at 0 ip 00007f8d6e410d9c sp 00007ffddc419d68 error 4 in libc-2.13.so[7f8d6e2f3000+184000]

Думал, может или память на сервере побилась, или где-то libc повредился. Только что внезапно решил проблему.

В поиске по этой ошибке нагуглился этот тред: http://www.gentoo.ru/node/18102

И самый последний пост — «поднял число ppp-интерфейсов и все заработало». Посмотрел число ppp-интерфейсов у себя — 31. Думаю, ага, наверное, какой-то лимит на 32 и оно в него упирается. Беглый поиск по «ppp max interfaces» и «pptp max interfaces» ничего не дал; в конфигах тоже ничего не светилось. Потом решил наконец-то «прочитать инструкцию» 🙂

У pptpd есть опция connections, лимитирующая число клиентов. Дефолт — 100. Не мой случай, у меня было меньше хостов. Однако в конце описания опции было сказано: «…then the number of connections is also limited by the remoteip option». Диапазон remoteip у меня был задан x.x.x.220-x.x.x.250 — можно сказать, с потолка, ибо числодробилки все имели фиксированные адреса, критичные хосты — тоже. Т.е., диапазон оставался исключительно для тех клиентов, для которых статика не подразумевалась, а таких было немного. И, так уж получилось, что числа хостов в диапазоне до поры до времени хватало на тех клиентов, что были подключены. Лимит оказался не 32, как я сначала подумал, а 30. 31-й уже не мог подключиться и давал сегфолты.

Расширил диапазон на 10 адресов — проблема ушла.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *