
Во-первых, я использую Firewalld и моя конфигурация следующая:
- Любое движение разрешено (ничего особенного).
- На сервере установлены MySQL и Apache2 (Linux Debian)
Мне нужно разрешить удаленные соединения MySQL с определенным IP-адресом (моим IP-адресом) без отключения http-соединений. Файл конфигурации MySQL разрешает только один IP-адрес, и поэтому я не могу напрямую добавить туда свой IP-адрес, потому что тогда Apache2 не сможет подключиться по http, поэтому я ищу решение с брандмауэром.
Я также попытался создать определенную зону с помощью firewalld (firewall-cmd), но зона в итоге блокировала весь http-трафик, поскольку у нее был исходный IP-адрес, и поэтому она оказалась здесь.
Любая помощь будет высоко оценена.
решение1
Открытие порта MySQL где-либо снаружи представляет угрозу безопасности, и я предпочитаю этого избегать.
Я бы оставил MySQL в режиме ожидания localhost
и вместо этого использовал бы переадресацию портов SSH для удаленного доступа к MySQL:
- Запустить на удаленной машине
ssh -L 3306:localhost:3306 [email protected]
- На удаленной машине используйте
localhost
в качестве сервера MySQL.
Если вам необходимо постоянное подключение по SSH, вы можете использовать инструмент, autossh
который поддерживает подключение по SSH открытым и автоматически восстанавливает соединение, если оно в какой-то момент разрывается.