Spec-Zone.ru › MySQL 5.7

17.6.1 Разрешение IP-адресов для групповой репликации

Плагин групповой репликации имеет параметр конфигурации, определяющий, с каких хостов можно принимать входящие подключения системы групповой коммуникации. Этот параметр называется group_replication_ip_whitelist. Если вы установите этот параметр на сервере s1, то при установлении подключения сервером s2 к серверу s1 для целей групповой коммуникации, s1 сначала проверяет список разрешенных хостов, прежде чем принять подключение от s2. Если s2 находится в списке разрешенных, то s1 принимает подключение, в противном случае s1 отклоняет попытку подключения s2.

Если вы не укажете список разрешенных хостов явно, движок групповой коммуникации (XCom) автоматически сканирует активные интерфейсы на хосте и определяет те, у которых адреса находятся в частных подсетях. Эти адреса и localhost IP-адрес для IPv4 используются для создания автоматического списка разрешенных хостов для групповой репликации. Таким образом, автоматический список разрешенных хостов включает все IP-адреса, найденные для хоста в следующих диапазонах:

10/8 prefix       (10.0.0.0 - 10.255.255.255) - Class A
172.16/12 prefix  (172.16.0.0 - 172.31.255.255) - Class B
192.168/16 prefix (192.168.0.0 - 192.168.255.255) - Class C
127.0.0.1 - localhost for IPv4

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

Автоматический список разрешенных частных адресов не может использоваться для подключений с серверов за пределами частной сети, поэтому сервер, даже если у него есть интерфейсы с общедоступными IP-адресами, по умолчанию не разрешает подключения групповой репликации с внешних хостов. Для подключений групповой репликации между экземплярами серверов на разных машинах необходимо указать общедоступные IP-адреса и явно указать их в списке разрешенных. Если вы указываете любые записи для списка разрешенных, частные и localhost адреса не добавляются автоматически, поэтому, если вы используете какие-либо из них, вы должны указать их явно.

Чтобы указать список разрешенных хостов вручную, используйте параметр group_replication_ip_whitelist. Вы не можете изменить список разрешенных хостов на сервере, пока он является активным членом группы репликации. Если член активен, необходимо выполнить оператор STOP GROUP_REPLICATION перед изменением списка разрешенных хостов и оператор START GROUP_REPLICATION после.

В списке разрешенных хостов можно указать любую комбинацию из следующего:

  • IPv4-адреса (например, 198.51.100.44)

  • IPv4-адреса с нотацией CIDR (например, 192.0.2.21/24)

  • Имена хостов, начиная с MySQL 5.7.21 (например, example.org)

  • Имена хостов с нотацией CIDR, начиная с MySQL 5.7.21 (например, www.example.com/24)

IPv6-адреса и имена хостов, разрешаемые в IPv6-адреса, не поддерживаются в MySQL 5.7. Вы можете использовать нотацию CIDR в сочетании с именами хостов или IP-адресами для включения в список разрешенных блока IP-адресов с определенным префиксом сети, но убедитесь, что все IP-адреса в указанной подсети находятся под вашим контролем.

Для изменения списка разрешенных хостов на члене необходимо остановить и перезапустить групповую репликацию. Каждая запись в списке разрешенных хостов должна разделяться запятой. Например:

mysql> STOP GROUP_REPLICATION;
mysql> SET GLOBAL group_replication_ip_whitelist="192.0.2.21/24,198.51.100.44,203.0.113.0/24,example.org,www.example.com/24";
mysql> START GROUP_REPLICATION;

Список разрешенных хостов должен содержать IP-адрес или имя хоста, указанные в системной переменной group_replication_local_address каждого члена. Этот адрес не совпадает с адресом хоста и портом протокола SQL сервера MySQL и не указан в системной переменной bind_address экземпляра сервера.

При переконфигурации группы репликации (например, при избрании нового первичного сервера или присоединении/удалении члена) члены группы вновь устанавливают подключения между собой. Если член группы разрешен только серверами, которые больше не являются частью группы репликации после переконфигурации, он не может повторно подключиться к оставшимся серверам в группе репликации, которые не разрешают ему подключение. Чтобы полностью избежать этой ситуации, укажите один и тот же список разрешенных хостов для всех серверов, которые являются членами группы репликации.

Примечание

В соответствии с вашими требованиями безопасности можно настроить различные списки разрешенных хостов на разных членах группы, например, для разделения различных подсетей. Если вам необходимо настроить различные списки разрешенных хостов для удовлетворения требований безопасности, убедитесь, что существует достаточное перекрытие между списками разрешенных хостов в группе репликации, чтобы максимизировать возможность серверов повторно подключаться при отсутствии их исходного seed-члена.

Для имен хостов разрешение имен происходит только при запросе подключения другим сервером. Имя хоста, которое не может быть разрешено, не учитывается для проверки списка разрешенных хостов, а в журнал ошибок записывается сообщение об ошибке. Для разрешенных имен хостов выполняется проверка обратного DNS (FCrDNS).

Предупреждение

Имена хостов по своей природе менее безопасны, чем IP-адреса в списке разрешенных хостов. Проверка FCrDNS обеспечивает хороший уровень защиты, но может быть уязвима к определенным видам атак. Указывайте имена хостов в списке разрешенных хостов только в строго необходимых случаях и убедитесь, что все компоненты, используемые для разрешения имен, такие как серверы DNS, находятся под вашим контролем. Вы также можете реализовать разрешение имен локально с помощью файла hosts, чтобы избежать использования внешних компонентов.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/group-replication-ip-address-permissions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API