zoukankan      html  css  js  c++  java
  • 修改预留端口号防止被占用

    给客户端的端口号通常是动态分配的,称为ephemeral port(临时端口)

    • net.ipv4.ip_local_port_range

      在Linux系统上临时端口号的取值范围是通过这个内核参数定义的:net.ipv4.ip_local_port_range (/proc/sys/net/ipv4/ip_local_port_range),默认为32768 - 60999

      [root@VM_42 /]# cat /proc/sys/net/ipv4/ip_local_port_range
      32768   60999
      
    • net.ipv4.ip_local_reserved_ports
      /proc/sys/net/ipv4/ip_local_reserved_ports (net.ipv4.ip_local_reserved_ports) 是应用程序保留的端口号,不会参与内核动态分配.

    端口号动态分配时并不是从小到大依次选取的,而是按照特定的算法随机分配的。临时端口号是这样产生的:生成一个随机数,利用随机数在ip_local_port_range范围内取值,如果取到的值在ip_local_reserved_ports范围内 ,那就再依次取下一个值,直到不在ip_local_reserved_ports范围内为止

    服务监听端口在32768 - 60999之间,可能导致端口号用作临时端口,从而导致服务启动失败,解决方式:

    1. 修改临时端口范围 ip_local_port_range,因为一个程序的端口问题修改一个机器的临时端口范围,明显减少了临时端口的使用量。代价大。
    2. 修改预留端口ip_local_reserved_ports,即使没有发生冲突也可以预先设置,防止后续端口被占用。

    您的资助是我最大的动力!
    金额随意,欢迎来赏!

  • 相关阅读:
    uC/OS-II时间(OS_time)块
    uC/OS-II任务(OS_task)块
    uC/OS-II信号(OS_sem)块
    uC/OS-II队列(OS_q)块
    uC/OS-II互斥信号(OS_mutex)块
    uC/OS-II内存(OS_mem)块
    elasticsearch-installation
    rabbitmq的安装
    str_翻转字符串
    str_2.判断两个字符串是否互为旋转词
  • 原文地址:https://www.cnblogs.com/Corphish/p/14139719.html
Copyright © 2011-2022 走看看