Linux增加TCP和UDP的本地端口分配范围

Linux增加TCP和UDP的本地端口分配范围,第1张

ip_local_port_range,TCP和UDP本地端口范围,默认为[32768 , 60999],其中,最小值要求大于等于ip_unprivileged_port_start参数。

ip_unprivileged_port_start,非特权端口开始值,默认为1024.如果应用程序需要绑定小于此值的端口号,需要root权限。

临时调整

永久调整

在/etc/sysctl.d目录下,创建配置文件,将需要调整的参数加入其中即可。配置文件名格式为<number>-<appname>.conf。appname可以直接用应用系统运行时的os用户名。

执行以下命令,使之生效。替换掉命令中的文件名。

例如:

我们知道建立一个socket连接进行网络通讯时需要四个元素client_ip:client_port<----->server_ip:server_port,socket绑定一个端口号用于标识进程。我一直好奇在linux平台上运行时进程的端口如何分配的?如何才能避免端口占用冲突? 要想了解这些答案需要先了解Linux下端口范围多少?如何修改端口范围?一个进程的端口如何分配的?最后了解linux系统下端口如何分配的? 1)查看端口范围:sysctl -a | grep range 2)修改端口范围:sysctl.conf vi /etc/sysctl.conf net.ipv4.ip_local_port_range=32788 60000配置立即生效:sysctl -p 另外,端口范围不要超过1024  65535,1024以下系统使用,65535以上设置会提示失败。 程序的端口分配分为固定分配和自动分配两种。一套系统中固定端口是要进行规划的,比如ftp的端口为10021(控制连接时服务端的),控制连接时客户端的端口就可以随机分配。ftp数据连接如果在被动模式下服务端和客户端的端口都可以随机分配,如果在主动模式下,服务端的端口可以固定分配,客户端的端口随机分配。 固定分配,一般在服务端的进程启动时分配端口,用于创建socket进行监听客户端,如ftp配置文件中的listen_port=10021,http默认的是80,snmp管理的 trap端口是162和snmp agent端口是161。 自动分配,创建进程即建立socket用于通讯,比如ftp服务端的数据连接进程,会从linux sysctl.conf定义的端口范围,自动来分配端口,调用bind进行端口绑定。但有时候不进行绑定端口也能正常工作,这是因为协议栈对没有端口绑定的socket进行了自动绑定。每次调用第4层协议的sendmsg成员函数时,会进行端口号的检查,如果没有绑定就调用协议的成员函数get_port进行自动绑定。

解决方案 :

Warning: ALREADY_ENABLED: 9501:tcp (说明9501端口通过成功)

或者开启端口区域(指定端口范围为4400-4600通过防火墙)

Warning: ALREADY_ENABLED: 3306:tcp(说明3306端口通过成功)

注意:可能你会出现这种问题,添加上指定端口之后,你的网站打不开了

分析:这个是防火墙没有给网站的80,443等端口开放,按照上面的开启方式将这些端口也开放了之后,重启防火墙 就ok了

查看防火墙状态 :

ok完美解决!!!希望能帮助到你

或者你可以

方式二

方式三

方式四

回车就会显示正在生效的规则,至此linux下开发端口的 *** 作就完成了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/6074552.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存