前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux下设置ip_local_port_range参数

linux下设置ip_local_port_range参数

作者头像
后场技术
发布2020-09-03 15:30:06
14.6K0
发布2020-09-03 15:30:06
举报
文章被收录于专栏:后场技术

在对于繁忙的网络服务器,如代理服务器或负载平衡器,我们可能需要增加网络端口范围来增强它的处理能力。

在Linux上,有一个sysctl参数ip_local_port_range,可用于定义网络连接可用作其源(本地)端口的最小和最大端口的限制,同时适用于TCP和UDP连接。

查看当前系统开放端口范围,命令如下:

代码语言:javascript
复制
# cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000

要么:

代码语言:javascript
复制
# sysctl net.ipv4.ip_local_port_rangenet.ipv4.ip_local_port_range = 32768 61000

如上命令显示"最小最大值",因此新连接的本地端口将介于32768和61000之间,默认情况下28232个随机端口,看起来很多,但在繁忙的流量服务器的时候可能很容易达到这个限制。

对于繁忙的流量服务器,可以如下操作增加随机端口范围。

代码语言:javascript
复制
# sysctl -w net.ipv4.ip_local_port_range="15000 64000"net.ipv4.ip_local_port_range = 15000 64000

或者直接通过使用echo直接传递值给/proc目录下的文件。

代码语言:javascript
复制
echo "15000 64000" > /proc/sys/net/ipv4/ip_local_port_range

如果想要持久生效,并且重启不会失效,请将配置保存在/etc/sysctl.conf的配置文件中。

代码语言:javascript
复制
# cat /etc/sysctl.d/net.ipv4.ip_local_port_range.confnet.ipv4.ip_local_port_range = 15000 65000

要了解服务器当前处理的会话数,请使用如下命令查看:

代码语言:javascript
复制
# ss -sTotal: 2933 (kernel 3131)
TCP:   43915 (estab 2655, closed 41080, orphaned 159, synrecv 0, timewait 41080/0), ports 30347Transport Total     IP        IPv6*     3131      -         -
RAW   0         0         0
UDP   17        11        6
TCP   2835      2832      3
INET      2852      2843      9
FRAG      0         0         0# netstat -anp | more...
tcp        0      0 10.50.1.6:41205        10.50.1.10:80           TIME_WAIT   -
tcp        0      0 10.50.1.6:42515        10.50.1.10:80           TIME_WAIT   -
tcp        0      0 10.50.1.6:59845        10.50.1.10:80           TIME_WAIT   -

请注意增加TCP端口范围,但有限制!

TIPS: 如果服务器有较多程序开放端口,请注意程序的端口开放范围,以避免随机端口跟设置的端口范围冲突。

比如如下场景:

代码语言:javascript
复制
1. 多服务程序在一台机器,会造成有的服务启动监听端口跟系统开放的端口范围冲突2. 比如有的服务随机端口去连接zookeeper,如果这个随机端口跟本机服务监听的端口冲突的话,就造成次服务连接zookeeper失败,从而会造成你意想不到的服务故障发生

如上的一些场景尽量避免,可以根据业务情况设置不同的开放端口范围。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 后场技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档