Рейтинг: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 user@example.com на удаленной машине
  2. На удаленной машине используйте локальный хост как сервер MySQL.

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

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

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

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