Назад | Перейти на главную страницу

Мой сервер Ubuntu иногда блокирует подключения MySQL, пока я не перезапущу сетевую службу. Почему?

Я запускаю экземпляр сервера MySQL (5.6), порт 3306, на виртуальной машине Ubuntu (14.04 LTS). Сотрудники используют клиентское приложение для взаимодействия с базой данных.

Периодически я получаю вызов для устранения неполадок, когда пользователь не может подключиться, с ошибкой:

Невозможно подключиться к любому из указанных хостов MySQL.

Журнал ошибок MySQL не содержит данных об отказе или отказе в соединении для пользователя.

Перезапуск машины (а не только MySQL) решает проблему.

Я определил, что это связано с тем, что клиентским машинам назначен другой IP-адрес. Я также определил, что перезапуск сетевой службы Ubuntu тоже решает проблему.

Я подозреваю, что здесь работает функция сетевой безопасности, но я не могу понять, что это такое. Я бы хотел знать:

Редактировать:

Настройка межсетевого экрана: ufw неактивен, iptables Я считаю, что это "заводская установка по умолчанию"

Хм, большинство настроек, которые я видел, используются ufw по умолчанию. Но это сказал

  1. Есть ли способ просмотреть IP-адреса клиентских машин, которые блокируются этим механизмом?

Да, с ufw это:

    sudo service ufw status

С iptables это:

    sudo iptables -L -v
  1. Могу ли я отключить эту «функцию» или хотя бы настроить ее для доверия клиентам в локальной сети?

С ufw (при условии, что ваша локальная сеть находится на 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.