一、Linux端口范围
端口为16位长度,1024 以下端口为特权端口,默认只有root能使用,1024 ~ 65535 为 其他用户可以向内核注册的端口数。
计算机端口范围是 0 ~ 65535,主要分成三大类:
公认端口(0 ~ 1023)
注册端口(1024 ~ 49151)
动态或私有端口(49152 ~ 65535)
二、Linux 修改端口限制
CentOS系统默认参数,自动分配的端口数有限,是从32768到61000
我们需要更改服务器内核参数:
# vim /etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65535
# sysctl -w "net.ipv4.ip_local_port_range = 1024 65535 "
# sysctl -p
三、查看服务器上TCP/UPD端口占用(服务向内核注册的端口)
TCP
# ss -tan | awk '{print $4}' | awk -F ":" '{print $NF}' | sort | uniq | wc -l
UDP
ss -uan | awk '{print $4}' | awk -F ":" '{print $NF}' | sort | uniq | wc -l
# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
# ss -s
四、参考
HTTP长连接200万尝试及调优
https://www.cnblogs.com/zlingh/p/4814836.html
Linux下解决高并发socket最大连接数限制,tcp默认1024个连接
https://www.cnblogs.com/lemon-flm/p/7975812.html
非root用户使用1024以下端口(Linux的Capabilities)
https://blog.csdn.net/qq_39329427/article/details/115866130
高并发TCP连接数目问题
https://www.cnblogs.com/embedded-linux/p/10225097.html
Linux环境下,如何查看那些端口被占用了
https://www.liuhaolin.com/linux/31.html
Linux下查看并发连接数
https://www.cnblogs.com/centos-python/articles/8522286.html