Настройка статических IP-адресов с помощью NetworkManager в RHEL/CentOS
Сетевые настройки являются фундаментальным аспектом любой задачи администрирования серверов. В дистрибутивах Enterprise Linux, таких как Red Hat Enterprise Linux (RHEL) и CentOS, NetworkManager служит динамической и комплексной службой для настройки и управления сетью. Хотя DHCP (протокол динамической конфигурации узла) удобен для динамического назначения IP-адресов, многим серверным средам требуются статические IP-адреса для предсказуемости, надежности и работы таких служб, как DNS, веб-серверы и базы данных, которые зависят от постоянного адресации.
В этой статье мы пошагово рассмотрим процесс настройки постоянных статических IP-адресов в системах RHEL и CentOS с использованием утилиты nmcli (интерфейс командной строки NetworkManager). Освоение nmcli — это важный навык для любого системного администратора Linux, поскольку он предоставляет мощный и гибкий контроль над сетевыми настройками вашей системы без необходимости прямого редактирования конфигурационных файлов.
Понимание NetworkManager и nmcli
Прежде чем перейти к шагам настройки, давайте уточним основные компоненты, которые мы будем использовать:
Что такое NetworkManager?
NetworkManager — это демон, который управляет сетевыми настройками, упрощая управление сетевыми подключениями. Он может управлять различными типами соединений, включая Ethernet, Wi-Fi, мобильный широкополосный доступ и VPN. Он автоматически обнаруживает и настраивает сетевые устройства, а также пытается поддерживать активное сетевое соединение, переключаясь между доступными соединениями по мере необходимости. Для серверов он гарантирует, что ваши сетевые интерфейсы настроены правильно и сохраняют настройки после перезагрузок.
Что такое nmcli?
nmcli — это клиент командной строки для NetworkManager. Он позволяет управлять NetworkManager и настраивать сетевые подключения из терминала. Он особенно полезен в средах с серверами без графического интерфейса, где графический интерфейс недоступен. Команды nmcli интуитивно понятны и предоставляют надежный способ взаимодействия со всем спектром функций NetworkManager, от отображения состояния сетевых устройств до создания и изменения сложных профилей подключений.
Предварительные требования
Чтобы следовать этому руководству, убедитесь, что у вас есть:
- Привилегии Root: Вам потребуется доступ
sudoили вход в систему от имени пользователя root для внесения изменений в сетевые настройки. - Информация о системе: Статический IP-адрес, маска подсети (или нотация CIDR), основной шлюз по умолчанию и IP-адреса DNS-серверов, которые вы планируете использовать.
- Определенный сетевой интерфейс: Знание имени сетевого интерфейса (например,
enp0s3,eth0), который вы хотите настроить. Мы рассмотрим, как его найти.
Пошаговая настройка статического IP-адреса
Вот как настроить статический IP-адрес с помощью nmcli.
Шаг 1: Определение сетевого интерфейса
Сначала вам нужно узнать имя сетевого интерфейса, который вы хотите настроить. Вы можете вывести список всех активных сетевых устройств и их состояний с помощью nmcli device или nmcli device status:
nmcli device status
Пример вывода:
DEVICE TYPE STATE CONNECTION
enp0s3 ethernet connected System enp0s3
lo loopback unmanaged --
В этом примере enp0s3 — это наш интерфейс Ethernet. Запишите имя вашего интерфейса.
Шаг 2: Создание нового профиля сетевого подключения
Как правило, рекомендуется создавать новый профиль подключения для настройки статического IP-адреса, а не изменять существующий, управляемый DHCP, особенно если вы захотите легко вернуться к предыдущим настройкам. Профиль подключения хранит все настройки для конкретного сетевого соединения.
Для создания нового профиля подключения Ethernet используйте команду nmcli connection add. Вам нужно будет указать тип подключения, описательное имя соединения (con-name) и имя интерфейса (ifname).
sudo nmcli connection add type ethernet con-name my-static-eth ifname enp0s3
type ethernet: Указывает подключение Ethernet.con-name my-static-eth: Присваивает имя этому новому профилю подключения. Выберите что-нибудь описательное.ifname enp0s3: Связывает этот профиль подключения с физическим сетевым интерфейсомenp0s3.
Альтернатива: Изменение существующего профиля
Если вы предпочитаете изменить существующее подключение (например, System enp0s3 из вывода nmcli device status), вы будете использовать nmcli connection modify с его существующим con-name.
sudo nmcli connection modify "System enp0s3" # замените на имя вашего подключения
Примечание: Для простоты и ясности это руководство предполагает, что вы создали новый профиль подключения с именем my-static-eth.
Шаг 3: Настройка параметров IPv4 (IP, шлюз, DNS)
Теперь давайте настроим статический IP-адрес, шлюз и DNS-серверы для нашего профиля подключения my-static-eth. Крайне важно установить для метода IPv4 значение manual, чтобы отключить DHCP.
Настройка IP-адреса и шлюза
Используйте свойства ipv4.addresses и ipv4.gateway. IP-адрес должен быть в нотации CIDR (например, 192.168.1.100/24).
sudo nmcli connection modify my-static-eth ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1
ipv4.addresses 192.168.1.100/24: Устанавливает статический IP-адрес в192.168.1.100с маской подсети 24 (255.255.255.0).ipv4.gateway 192.168.1.1: Устанавливает основной шлюз по умолчанию для сети.
Настройка DNS-серверов
Укажите один или несколько IP-адресов DNS-серверов. Разделите несколько адресов запятыми.
```bash
sudo nmcli connection modify my-static-eth ipv4.dns "