Pfsense - отличный продукт. Готовое решение на основе FreeBSD для управления трафиком. Грубо говоря, продвинутый роутер с веб-интерфейсом. Сделан на базе схожего решения m0n0wall. Основные фичи: NAT, traffic shaper, DHCP, DNS forwarder, VPN (PPTP, OpenVPN, IPSec), RIP, SNMP, CARP. Один недостаток. При включении Captive Portal, его страничка медленно открывается, да и web-интерфейс сильно тормозит.
Дело в том, что Pfsense создан для работы на слабом железе с малым объемом RAM. Соответствующим образом настроен и lighttpd, на котором крутится web часть решения. Чтобы повысить скорость общения с роутером нужно в файле /etc/inc/system.inc выставить параметры PHP_FCGI_MAX_REQUESTS и PHP_FCGI_CHILDREN в соответствии с задачей и объемом памяти. PHP_FCGI_CHILDREN задается переменной max_procs, значения которой зависят от RAM, в файле это выглядит так:
$avail = $memory[0];
if($avail > 0 and $avail < 98) {
$max_procs = 1;
}
if($avail > 97 and $avail < 128) {
$max_procs = 1;
}
if($avail > 127 and $avail < 256) {
$max_procs = 1;
}
if($avail > 255 and $avail < 384) {
$max_procs = 3;
}
if($avail > 384) {
$max_procs = 36;
}
if($captive_portal == true) {
$bin_environment = <<
"bin-environment" => (
"PHP_FCGI_MAX_REQUESTS" => "9500",
"PHP_FCGI_CHILDREN" => "$max_procs"
),
По умолчанию при объеме памяти больше 384 max_procs=4, а PHP_FCGI_MAX_REQUESTS=500.
В моем pfsense-маршрутизаторе 2 Гб ОЗУ, поэтому я выставил max_procs=36 и PHP_FCGI_MAX_REQUESTS=9500. Т.е. приведенная выше часть конфига стала такой:
$avail = $memory[0];
if($avail > 0 and $avail < 98) {
$max_procs = 1;
}
if($avail > 97 and $avail < 128) {
$max_procs = 1;
}
if($avail > 127 and $avail < 256) {
$max_procs = 1;
}
if($avail > 255 and $avail < 384) {
$max_procs = 3;
}
if($avail > 384) {
$max_procs = 36;
}
if($captive_portal == true) {
$bin_environment = <<
"bin-environment" => (
"PHP_FCGI_MAX_REQUESTS" => "9500",
"PHP_FCGI_CHILDREN" => "$max_procs"
),
Дело в том, что Pfsense создан для работы на слабом железе с малым объемом RAM. Соответствующим образом настроен и lighttpd, на котором крутится web часть решения. Чтобы повысить скорость общения с роутером нужно в файле /etc/inc/system.inc выставить параметры PHP_FCGI_MAX_REQUESTS и PHP_FCGI_CHILDREN в соответствии с задачей и объемом памяти. PHP_FCGI_CHILDREN задается переменной max_procs, значения которой зависят от RAM, в файле это выглядит так:
$avail = $memory[0];
if($avail > 0 and $avail < 98) {
$max_procs = 1;
}
if($avail > 97 and $avail < 128) {
$max_procs = 1;
}
if($avail > 127 and $avail < 256) {
$max_procs = 1;
}
if($avail > 255 and $avail < 384) {
$max_procs = 3;
}
if($avail > 384) {
$max_procs = 36;
}
if($captive_portal == true) {
$bin_environment = <<
"bin-environment" => (
"PHP_FCGI_MAX_REQUESTS" => "9500",
"PHP_FCGI_CHILDREN" => "$max_procs"
),
По умолчанию при объеме памяти больше 384 max_procs=4, а PHP_FCGI_MAX_REQUESTS=500.
В моем pfsense-маршрутизаторе 2 Гб ОЗУ, поэтому я выставил max_procs=36 и PHP_FCGI_MAX_REQUESTS=9500. Т.е. приведенная выше часть конфига стала такой:
$avail = $memory[0];
if($avail > 0 and $avail < 98) {
$max_procs = 1;
}
if($avail > 97 and $avail < 128) {
$max_procs = 1;
}
if($avail > 127 and $avail < 256) {
$max_procs = 1;
}
if($avail > 255 and $avail < 384) {
$max_procs = 3;
}
if($avail > 384) {
$max_procs = 36;
}
if($captive_portal == true) {
$bin_environment = <<
"bin-environment" => (
"PHP_FCGI_MAX_REQUESTS" => "9500",
"PHP_FCGI_CHILDREN" => "$max_procs"
),
В новых прошивках не актуально, таких параметров нет, статью можно удалять
ОтветитьУдалить