как ограничить входящее подключение к серверу MySQL указанным IP-адресом с помощью настроек брандмауэра

как ограничить входящее подключение к серверу MySQL указанным IP-адресом с помощью настроек брандмауэра

фоновая цель: я хочу ограничить входящее подключение к серверу MYSQL только для определенного хоста, установив входящие правилаБрандмауэр Windows. Я имею в виду, что я хочу разрешить только определенному хосту подключаться к серверу MYSQL.

В настройках брандмауэра Windows по умолчанию я увидел следующее:

введите описание изображения здесь

оба порта открыты. поэтому я заблокировал все входящие соединения на порт 33060, поскольку не ожидаю входящих соединений от X-Protocol:

введите описание изображения здесь

Затем я попытался подключиться к серверу MYSQL с моего локального ПК, и подключение прошло успешно. Затем я попытался ограничить входящее подключение к порту 3306 сервера MYSQL только для указанного IP-адреса:

Сначала выберите Разрешить соединение, если оно защищено. введите описание изображения здесь

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

в зачерненной части на изображении выше я ввел свой глобальный IP-адрес (IPv4) моего локального ПК. Я ввел его в формате XX.XXX.XXX.XX. Я получил свой глобальный IP-адрес вэта он-лайн услугаЗатем я попытался подключиться к серверу MYSQL со своего локального ПК, но соединение не удалось.

Я проверил подключение через Test-NetConnectionwindows powershell. Но подключение к порту не удалось..

введите описание изображения здесь

в чем я не прав?

Тест1:

Я также протестировал, как показано ниже.

Я меняю настройку следующим образом: Remote IP addressна Any IP address.

введите описание изображения здесь

и оставил настройку ниже как есть:

Allow the connection if it is secure

введите описание изображения здесь

затем попробуйте Test-NetConnectionв windows powershell. но он не доходит до порта..

Тест2:

Я снова провел тест, как показано ниже.

Я продолжаю устанавливать, как показано ниже: Remote IP address.

введите описание изображения здесь

и изменил настройку ниже:

Allow the connection

введите описание изображения здесь

затем попробуйте Test-NetConnectionв windows powershell. но он снова не подключается к порту..

решение1

Вам необходимо изменить настройку наРазрешить это соединение, а не «Разрешить это соединение, если оно безопасно».

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

решение2

Удалите опцию «разрешить соединение, если оно безопасно». Это добавляет дополнительный уровень аутентификации и шифрования, который не поддерживается клиентом MySQL. Вы не можете использовать его здесь.

Кроме того, если вы получаете только сообщение failed, как вваш скриншот, то сервер MySQL не прослушивает этот интерфейс. Если бы проблема была в брандмауэре, вы бы получили сообщение TimedOut.

Убедитесь, что сервер MySQL прослушивает внешний интерфейс или все интерфейсы (0.0.0.0), а не только интерфейс обратной связи (127.0.0.1), который, скорее всего, настроен по умолчанию.

Вы можете проверить это, запустив на сервере:

Get-NetTCPConnection -State Listen -LocalPort 3306

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