Есть вероятность, что на высоконагруженном сервере, например прокси или маршрутизаторе при очень большом количестве подключений могут закончится свободные порты в выделяемом диапазоне, поэтому необходимо посмотреть текущее используемое количество и при необходимости увеличить значение 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