В состав модуля COREmanager ipdb входит модуль ipbind, предназначенный для управления IP-адресами. В задачи этого модуля входит работа с сетевыми интерфейсами сервера — добавление и удаление реальных IP-адресов, привязанных к сетевому интерфейсу. Данная статья описывает логику работы данного модуля в разных операционных системах.
Добавление IP-адресов
Добавление IP-адресов происходит по-разному в зависимости от семейства, к которому принадлежит добавляемый адрес — IPv4, IPv6. А также в зависимости от того, настроен ли интерфейс на использование IP-адресов данного семейства, то есть имеются ли на сетевом интерфейсе IP-адреса того же семейства, что и добавляемый адрес. При добавлении первого IP-адреса семейства на сетевой интерфейс необходимо также настроить шлюз по умолчанию. Эти параметры предоставляет модуль ipdb.
При добавлении IP-адреса производится проверка, что он действительно закрепился на интерфейсе и имеется возможность начать прослушивание какого-либо сетевого порта на этом адресе.
Используемые обозначения для параметров:
- iface — имя интерфейса;
- if_alias — алиас для интерфейса. Для серверов на базе Linux, например eth0:0, eth0:1 и т.д.
- ip — IP-адрес;
- mask — маска подсети (длина префикса для IPv6). Модуль ipbind получает этот параметр от модуля ipdb;
- gateway — маска подсети (длина префикса для IPv6). Модуль ipbind получает этот параметр от модуля ipdb.
Для добавления первых IP-адресов конкретного семейства используются следующие команды:
Для добавления IP-адресов в общем случае используются следующие команды:
После добавления IP-адреса на физический интерфейс необходимо также записать информацию о нем в конфигурационные файлы системы.
При добавлении первого IP-адреса семейства:
При добавлении последующих IP-адресов:
Дополнительные IP-адреса
Когда сервер использует серый адрес, настроенный на публичный, можно добавить внешний IP-адрес, записав его в файле iplist.conf. Сам файл следует разместить в /usr/local/mgr5/etc/. Адреса, записанные в файле iplist.conf через перенос строки, появятся в списке IP-адресов.
Удаление IP-адресов
При удалении IP-адресов учитывается семейство удаляемого адреса. IP-адрес интерфейса не будет удалён, если этот адрес является основным адресом своего семейства на данном интерфейсе.
Для удаления IP-адреса с интерфейса выполняется системная команда:
После выполнения системной команды выполняется удаление информации об адресе из файлов конфигурации сервера.