zoukankan      html  css  js  c++  java
  • Linux TCP自连接问题

    【参考文章】:net.ipv4.ip_local_port_range 的值究竟影响了啥

    【参考文章】:Linux内核参数优化

      最近卸载MySQL服务偶尔会遇到MySQL端口自连接问题。导致MySQL服务卸载失败,需要手动 kill  自连接进程,然后才可以进行卸载操作。

      什么是自连接问题?

      自连接就是自己连接自己的现象。当我们去连接一个正在监听的端口时,系统自动为我们分配一个临时端口去进行连接,这样就有可能分配到正在监听的端口号,然后出现自己连接自己的问题。

    1. 临时端口号

      当在服务器上了启动 socket 去连接某个IP的端口号时,系统会随机分配一个临时端口去连接目标 socket 。

      临时端口号的范围可以进行设置。

      vim  /etc/sysctl.conf 

      net.ipv4.ip_local_port_range=1024  65535  # 表示的就是临时端口范围,默认范围是 1024-65535,

      好像支持一个端口段的设置,没有找到多个端口段的设置方式。

      我按照默认的配置方式,设置了多个端口段 (比如:1024  3306  3307  65535)我是瞎蒙的,经测试发现只有第一个端口段生效了,所以暂时认为只支持一个端口段

    2. 预留端口号

      预留端口号就是给第三方组件预留的端口号,在分配临时端口时不会分配该端口。

      服务器内核版本要大于2.6.18-164,否则不支持该参数

      vim  /etc/sysctl.conf 

      net.ipv4.ip_local_reserved_ports=3306   #预留端口号设置

      支持多个端口段配置

      net.ipv4.ip_local_reserved_ports=3306,3308-3310,3312

      

  • 相关阅读:
    初级Linux学习指南
    2016/09/29 SQL中的join
    2016/09/27 Hadoop Yarn
    2016/06/27 HDFS概述
    2016/09/26 电能和电功率
    【转】2016/09/22 MapReduce初级案例
    2016/09/22 mapreduce
    2016/09/21 java关键字static
    2016/09/21 Java关键字final
    2016/09/21 java split用法
  • 原文地址:https://www.cnblogs.com/virgosnail/p/11608085.html
Copyright © 2011-2022 走看看