linux设置预留端口号,防止监听端口被占用 ip_local_reserved_ports

1. 背景

linux服务器启动时,会对指定的端口进行监听bind,如果同一个机器上这个端口已经被使用,则监听失败,程序无法启动。

linux客户端连接服务器accept时,系统会分配本地临时端口用于网络连接。

目前是”大混部”的时代,一台物理机可能会部署多个服务,如果端口号设置不好,很可能会出现端口被其他程序占用的情况。

2. 解决方法

针对我的linux机器看看

本地临时端口配置(2个数: start, end)

cat /proc/sys/net/ipv4/ip_local_port_range
32768	61000

预留端口配置(可支持逗号分隔的多个数字,比如10000, 10005-10010)

cat /proc/sys/net/ipv4/ip_local_reserved_ports

如下面参考链接说的,有2种方法:

(1) 修改临时端口范围 ip_local_port_range,因为一个程序的端口问题修改一个机器的临时端口范围,明显减少了临时端口的使用量。代价大。

(2) 修改预留端口ip_local_reserved_ports,即使没有发生冲突也可以预先设置,防止后续端口被占用。

贴一下参考链接里面的英文

ip_local_reserved_ports解释如下:
ip_local_reserved_ports - list of comma separated ranges
Specify the ports which are reserved for known third-party
applications. These ports will not be used by automatic port
assignments (e.g. when calling connect() or bind() with port
number 0). Explicit port allocation behavior is unchanged.

The format used for both input and output is a comma separated
list of ranges (e.g. "1,2-4,10-10" for ports 1, 2, 3, 4 and
10). Writing to the file will clear all previously reserved
ports and update the current list with the one given in the
input.

参考:

(1) http://www.ttlsa.com/linux/reserved-port-to-avoid-occupying-ip_local_reserved_ports/

(2) https://blog.csdn.net/bdss58/article/details/78546551?locationNum=10&fps=1

原文地址:https://www.cnblogs.com/xudong-bupt/p/9181271.html

时间: 2024-10-11 10:24:25

linux设置预留端口号,防止监听端口被占用 ip_local_reserved_ports的相关文章

Linux对外提供服务 网络连接 端口操作 1.开启服务监听端口 2.设置防火墙,放行访问端口的包 iptables&netfilter 四表五链和通堵策略

应用举例: Linux上安装Tomcat后,客户端要能够访问服务器上的Tomcat 操作: 1.网络操作 本机必须能够ping通目标主机(本地虚拟机或者远程主机) 2.端口操作 1.开启服务监听端口 2.设置防火墙,放行访问该端口的数据包 关键iptables和netfilter: iptables中的四表五链和堵通策略 CentOS6.7端口操作最佳实践: 查看iptables命令的帮助: iptables --help 不详细 man iptables 一般详细 手册页 info iptab

linux系统实现多个进程监听同一个端口

通过 fork 创建子进程的方式可以实现,其他情况下不行. 当连接到来时,子进程.父进程都可以 accept, 这就是著名的"惊群"问题(thundering herd problem). 惊群现象 在该模型下(多个子进程同时共享监听套接字)即可实现服务器并发处理客户端的连接.这里要注意的是,计算机三次握手创建连接是在内核进程里完成的,不需要应用服务进程参数的,而服务进程仅仅要做的是调用accept将已建立的连接构建对应的连接套接字connfd(可参考 http://blog.csdn

老男孩教育每日一题-2017年5月11-基础知识点: linux系统中监听端口概念是什么?

1.题目 老男孩教育每日一题-2017年5月11-基础知识点:linux系统中监听端口概念是什么? 2.参考答案 监听端口的概念涉及到网络概念与TCP状态集转化概念,可能比较复杂不便理解,可以按照下图简单进行理解? 将整个服务器操作系统比喻作为一个别墅 服务器上的每一个网卡比作是别墅中每间房间 服务器网卡上配置的IP地址比喻作为房间中每个人 而房间里面人的耳朵就好比是监听的端口 当默认采用监听0.0.0.0地址时,表示房间中的每个人都竖起耳朵等待别墅外面的人呼唤当别墅外面的用户向房间1的人呼喊时

设置dist版本的监听端口

编辑 bin目录下的启动脚本: rem We use the value of the JAVA_OPTS environment variable if defined, rather than the config.set _JAVA_OPTS=%JAVA_OPTS%if "%_JAVA_OPTS%"=="" set _JAVA_OPTS=%CFG_OPTS%set _JAVA_OPTS="-Dhttp.port=80"   //这里设置参数

4.基础知识,“服务端监听端口”应用,实现功能

%a.启动一个监听端口 %b.客户端可以向服务端的这个接口发送数据 %c.服务端接受到数据,执行相应的操作,操作完成后把结果发回给客户端 %d.客戶端關閉連接,服務端清理數據 %server_manager.erl 模块,代码文件,放在网站:GitHub 1.启动后监听端口 2.客户端连接服务端 3.客户端发送的数据不同,服务端的对应操作也不同 4.服务端逻辑出现问题,客户端发送其他的数据导致服务端无法继续使用

Linux增加开放端口号

Linux增加开放端口号 : 方法一:命令行方式 1. 开放端口命令: /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT   2.保存:/etc/rc.d/init.d/iptables save   3.重启服务:/etc/init.d/iptables restart   4.查看端口是否开放:/sbin/iptables -L -n 方法二:直接编辑/etc/sysconfig/iptables文件     1.编辑/etc/sysco

思科2960 监听端口设置

2960 监听端口:2监听1 一.Switch#config tSwitch(config)#monitor session 1 destination interface f0/2Switch(config)#monitor session 1 source interface f0/1 二.查看 exitenshow monitor 三 取消 Switch(config)#no monitor session 1 destination interface f0/2Switch(config

nginx监听端口和反向代理端口的权限问题

Linux的SELinux安全性控制除作用于文件系统外还作用于端口,这使得那些作为服务启动的进程只能在规定的几个端口上监听.为叙述方便我们称之为受控端口. nginx监听端口 要查看当前有哪些受控端口可执行: # semanage port -l | grep '^http_port_t' http_port_t tcp 80, 81, 443, 488, 8008, 8009, 8443, 9000 这里显示了八个端口号,其中包括80端口.由于nginx默认在80端口监听因此启动正常. # s

Apache配置多个监听端口和不同的网站目录的简单方法

一种方法: 1,在httpd.conf 主配置问文件中定义监听端口 Listen 80  Listen 8080 2,在虚拟主机配置文件中添加如下,如下为参考配置: NameVirtualHost *:80<VirtualHost *:80> # ServerAdmin [email protected] DocumentRoot "/data/web/" ServerName 120.25.208.128 ServerAlias www.jxcia.1.com Error