ldap报错Address already in use的处理办法

详细报错信息

ldap3.core.exceptions.LDAPSocketOpenError: [Errno 98] Address already in use

报错原因:

  1. 网络连接数过多导致
  2. ldap连接没有使用conn.unbind()函数正常释放,导致连接堆积
# 查看ldap 636端口连接数
>> netstat -an | grep :636| wc -l
2
# 查看网络连接数量,太多
>> netstat -an | wc -l 
30051
# 查看临时端口范围,大约有 28000+ 个可用端口
>> cat /proc/sys/net/ipv4/ip_local_port_range
32768 60999

解决方案:

  1. 重启服务器reboot(重启网卡,连接数没有任何变化)
  2. 使用conn.unbind()释放链接
# 重启后连接数下降, ldap服务恢复正常
>> netstat -an | wc -l
1224

# 使用conn.unbind()释放链接
conn = get_conn()  
conn.bind()
# 你的代码
conn.unbind()

你可能感兴趣的:(服务器,linux,网络)