我的 Ubuntu 服务器有时会阻止 MySQL 连接,直到我重新启动网络服务,为什么?

我的 Ubuntu 服务器有时会阻止 MySQL 连接,直到我重新启动网络服务,为什么?

我在 Ubuntu (14.04 LTS) VM 上运行 MySQL 服务器 (5.6) 实例,端口 3306。员工使用客户端应用程序与数据库交互。

我定期会接到故障排除电话,用户无法连接,并出现以下错误:

无法连接到任何指定的 MySQL 主机。

MySQL 错误日志不包含用户的拒绝或拒绝的连接。

重新启动机器(不仅仅是 MySQL)可以解决问题。

我已确定这似乎是由于客户端计算机被分配了不同的 IP 地址。我还确定重新启动 Ubuntu 网络服务也解决了这个问题。

我怀疑这里有一个网络安全功能,但我无法弄清楚它是什么。我想知道:

  • 我可以禁用此“功能”或至少将其配置为信任 LAN 上的客户端吗?
  • 有没有办法查看被该机制阻止的客户端机器的 IP 地址?

编辑:

防火墙设置:ufw处于非活动状态,iptables我相信是“出厂默认设置”

答案1

嗯,我见过的大多数设置都使用ufw默认设置。但话虽如此

  1. 有没有办法查看被该机制阻止的客户端机器的 IP 地址?

是的,使用 ufw 可以:

    sudo service ufw status

使用 iptables 的话:

    sudo iptables -L -v
  1. 我可以禁用此“功能”或至少将其配置为信任 LAN 上的客户端吗?

使用 ufw(假设您的 LAN 是 192.168.1.0/24:

    sudo ufw allow all from 192.168.1.0/24 to any port 3306

使用 iptables

    sudo iptables -I INPUT 2 -m tcp -p tcp --dport 3306 -s 192.168.1.0/24 -m comment --comment 'Allow all traffic from the local LAN'

另外,根据我的经验,ubuntu 14.04 的网络堆栈不稳定。在我们的几台服务器上,网络不断中断,我们最终丢弃了这些机器,转而使用 centos 7。YMMV。

相关内容