Увеличение диапазона портов net.ipv4.ip_local_port_range

Есть вероятность, что на высоконагруженном сервере, например прокси или маршрутизаторе при очень большом количестве подключений могут закончится свободные порты в выделяемом диапазоне, поэтому необходимо посмотреть текущее используемое количество и при необходимости увеличить значение net.ipv4.ip_local_port_range.

Посмотрим сколько портов разрешено использовать, значение по умолчанию «32768 60999» (обычно этого вполне достаточно):

cat /proc/sys/net/ipv4/ip_local_port_range
sysctl net.ipv4.ip_local_port_range

Посмотрим сколько используется на данный момент:

ss -s

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

Total: 11444 (kernel 36151)
TCP:   44 (estab 3, closed 30, orphaned 0, synrecv 0, timewait 30/0), ports 0

Transport Total     IP        IPv6
*         36151     -         -
RAW       193       0         193
UDP       10708     10696     12
TCP       14        12        2
INET      10915     10708     207
FRAG      34        34        0

Еще примеры просмотра статистики:

apt install net-tools
netstat -s | more
netstat -su #udp
netstat -st #tcp
netstat -sw #raw
netstat -nap
netstat -naptu | more

Приведу примеры увеличения диапазона:

echo "16384 65535" > /proc/sys/net/ipv4/ip_local_port_range
sysctl -w net.ipv4.ip_local_port_range="1024 65535"

Чтобы изменение не сбросилось после перезапуска операционной системы, откроем файл /etc/sysctl.conf в текстовом редакторе:

nano /etc/sysctl.conf

И укажем:

net.ipv4.ip_local_port_range = 1024 65535

Также командой ниже можно применить новое содержимое в файле /etc/sysctl.conf:

sysctl -p

Смотрите также мои статьи:
Тюнинг nf_conntrack
Подготовка Linux сервера перед установкой Accel-ppp

Оставьте комментарий

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