Linux连接高端口提示“Cannot assign requested address”-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Linux连接高端口提示“Cannot assign requested address”

云栖徒骇 2016-03-21 10:47:30 18679

问题描述: ssh 可以正常连接服务器,ping也正常。但是执行telnet 高端口被提示Cannot assign requested address。其他测试主机可以正常连接。





解决过程:


进入被连接端内部,执行ss  统计,显示27017端口连接数有28248





Linux对外的随机分配端口是由一定限制的,理论上单机对外的端口最大值为65535,除去一些保留端口和被占用端口外,也应该在6W左右,但实际上单机建立对外连接时,默认不超过28232个连接。


执行以下命令:


cat  /proc/sys/net/ipv4/ip_local_port_range



输出结果为:


32768   61000



这就是Linux随机分配端口的范围,如果在该范围内有被占用的端口,那么连接数肯定小于28232。
如果想更改这个范围,可以执行以下命令:


# echo "10000 65535" > /proc/sys/net/ipv4/ip_local_port_range



永久生效:


# vim /etc/sysctl.conf
net.ipv4.ip_local_ports_range= 10000 65535
sysctl -p




如果是想保留某个端口不被随机分配占用,最好的做法是将服务监听的端口以逗号分隔全部添加到ip_local_reserved_ports中,TCP/IP协议栈从ip_local_port_range中随机选取源端口时,会排除ip_local_reserved_ports中定义的端口:

$ cat /proc/sys/net/ipv4/ip_local_port_range
32000 61000
$ cat /proc/sys/net/ipv4/ip_local_reserved_ports
8080,9148



网络协议 Linux 网络安全 开发工具
分享到
取消 提交回答
全部回答(0)
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题