Безопасное использование удаленного сервера MySQL в частной сети Hetzner Cloud

0 Акции
0
0
0
0

Введение

В этом руководстве объясняется, как использовать Hetzner Cloud Networks для доступа к базе данных MySQL, управляемой на одном облачном сервере (MySQL Server), со второго облачного сервера (MySQL Client).

Предпосылки
  • 1 облачный сервер Hetzner с уже установленным MySQL.

Вы можете установить MySQL вручную или просто выбрать “LAMP Stack” при создании сервера.


Шаг 1 — Создание частной сети

Создайте свою частную сеть в рамках проекта Hetzner Cloud в том регионе, который вы хотите использовать.


Помните, что диапазон IP-адресов по умолчанию — 10.0.0.0/16.

Шаг 2 — Подключите сервер к сети

Теперь вы можете подключить сервер MySQL к новой сети. Это можно сделать с помощью Cloud Console или инструмента hcloud Сделай это.

hcloud server attach-to-network <your-server-name> --network <your-network-name> --ip <pvt-ip>

Последняя часть с --ip; Необязательно. Если вы не укажете конкретный частный IP-адрес, система Hetzner Cloud автоматически назначит вам бесплатный частный IP-адрес.

Шаг 3 — Изменение конфигурации MySQL

Чтобы получить доступ к MySQL с другого компьютера, вам необходимо внести изменения в файл /etc/mysql/mysql.conf.d/mysqld.cnf Создавать.

Файл mysqld.cnf Редактировать

Чтобы открыть файл конфигурации MySQL, используйте следующую команду:

nano /etc/mysql/mysql.conf.d/mysqld.cnf

Параметр адрес привязки от 127.0.0.1 К 0.0.0.0 Изменять.

Если вы установили MySQL через программу “LAMP Stack”, вам необходимо указать порт MySQL (по умолчанию 3306) с помощью инструмента УФВ Открыть.

Если вы установили MySQL вручную, вам необходимо установить брандмауэр с помощью этой команды: apt-get установить UFW

Изменить брандмауэр

Чтобы открыть порт 3306 Добавить правило в брандмауэр

ufw allow from 10.1.0.0/16 to any port 3306

10.1.0.0/16 Замените на диапазон IP-адресов сети, созданный вами на шаге 1.

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

ufw allow OpenSSH
ufw enable

Шаг 4 — Создайте нового пользователя MySQL

Войдите в MySQL CLI как пользователь root:

mysql -u root -p

Создайте нового пользователя MySQL, которого смогут использовать нелокальные экземпляры.

CREATE USER '<user>'@'%' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON *.* TO '<user>'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Также не забывайте, что после манипуляций с файлом mysqld.cnfПерезапустите MySQL. Чтобы выйти из командной строки MySQL, введите: CTRL+Д Используйте и запустите следующую команду:

service mysql restart

Шаг 5 — Проверьте доступ к MySQL в частной сети

Создайте новый сервер с нуля и подключите его к той же частной сети.

Установите клиент MySQL. Например, можно использовать клиент MariaDB.

apt update apt install mariadb-client -y

Теперь вам нужен частный IP-адрес первого сервера. В Cloud Console выберите свой проект и перейдите к списку серверов. Оттуда вы можете скопировать частный IP-адрес этого сервера.

Используйте эту команду для подключения к хосту MySQL:

mysql -h <mysql-host-private-ip> -u <user-created-above> -p

Затем просто введите пароль, созданный для пользователя, и вуаля — вы вошли в систему.

Результат

Здесь вы увидели всего лишь один пример того, как получить доступ к базе данных в частной сети в Hetzner Cloud.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может понравиться