我在 Ubuntu (14.04 LTS) VM 上运行 MySQL 服务器 (5.6) 实例,端口 3306。员工使用客户端应用程序与数据库交互。
我定期会接到故障排除电话,用户无法连接,并出现以下错误:
无法连接到任何指定的 MySQL 主机。
MySQL 错误日志不包含用户的拒绝或拒绝的连接。
重新启动机器(不仅仅是 MySQL)可以解决问题。
我已确定这似乎是由于客户端计算机被分配了不同的 IP 地址。我还确定重新启动 Ubuntu 网络服务也解决了这个问题。
我怀疑这里有一个网络安全功能,但我无法弄清楚它是什么。我想知道:
- 我可以禁用此“功能”或至少将其配置为信任 LAN 上的客户端吗?
- 有没有办法查看被该机制阻止的客户端机器的 IP 地址?
编辑:
防火墙设置:ufw
处于非活动状态,iptables
我相信是“出厂默认设置”
答案1
嗯,我见过的大多数设置都使用ufw
默认设置。但话虽如此
- 有没有办法查看被该机制阻止的客户端机器的 IP 地址?
是的,使用 ufw 可以:
sudo service ufw status
使用 iptables 的话:
sudo iptables -L -v
- 我可以禁用此“功能”或至少将其配置为信任 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。