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

      

  • 相关阅读:
    [原创]推荐三款强大且漂亮的统计图控件
    使用ATL设计组件(VC6.0)
    COM笔记引用计数
    远程调试
    记事本2
    C++中类的多态与虚函数的使用
    Eclipse常用快捷键
    怎么在Release下调试代码
    MSDN 无法显示网页
    COM笔记接口
  • 原文地址:https://www.cnblogs.com/virgosnail/p/11608085.html
Copyright © 2011-2022 走看看