Рейтинг:0

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

флаг jp

Во-первых, я использую Firewalld, и моя конфигурация выглядит следующим образом:

  • Весь трафик разрешен (ничего особенного).
  • Сервер имеет MySQL и Apache2 (Linux Debian)

Мне нужно разрешить удаленные подключения MySQL к определенному IP-адресу (моему IP-адресу) без отключения http-соединений. Файл конфигурации MySQL допускает только один IP-адрес, и поэтому я не могу напрямую добавить туда свой IP-адрес, потому что Apache2 не сможет подключиться через http, поэтому я ищу решение для брандмауэра.

Я также попытался создать определенную зону с помощью firewalld (firewall-cmd), но в итоге зона заблокировала весь http-трафик, поскольку у нее был исходный IP-адрес, и поэтому она оказалась здесь.

Любая помощь очень ценится.

Рейтинг:0
флаг us

Открытие порта MySQL где-либо снаружи представляет собой угрозу безопасности, и я предпочитаю этого избегать.

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

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

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

Dennisrec avatar
флаг jp
Я понял идею, но как бы вы применили этот подход в PHP или Python?
флаг us
Вам нужно запустить SSH-соединение в фоновом режиме, а в коннекторе PHP/Python DB использовать локальный порт 3306 в качестве адреса сервера.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.