Как разрешить IP-адресу доступ к определенному порту на сервере, не блокируя остальной трафик

Как разрешить IP-адресу доступ к определенному порту на сервере, не блокируя остальной трафик

Во-первых, я использую 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:

  1. Запустить на удаленной машинеssh -L 3306:localhost:3306 [email protected]
  2. На удаленной машине используйте localhostв качестве сервера MySQL.

Если вам необходимо постоянное подключение по SSH, вы можете использовать инструмент, autosshкоторый поддерживает подключение по SSH открытым и автоматически восстанавливает соединение, если оно в какой-то момент разрывается.

Связанный контент