Как я могу установить статический IP-адрес в CentOS 7?

Вопрос или проблема

У меня есть минимальная виртуальная машина CentOS 7 в VirtualBox, на которой я хотел бы установить статический IP-адрес. Я хочу назначить статический IP-адрес через Bash-скрипт внутри виртуальной машины (то есть не используя сетевой интерфейс VirtualBox).

Как это можно сделать?

Пока что я пытался редактировать файл: /etc/sysconfig/network-scripts/ifcfg-enp0s8 и вставлял в него следующее (по этому вопросу: https://superuser.com/a/365088).

TYPE="Ethernet"
DEVICE="enp0s8"
BOOTPROTO="static"
IPADDR=192.168.100.101
NETMASK=255.255.255.0

Но затем сетевой адаптер не перезапускается (service network restart), и после значительного количества перезапусков/сбросов/попыток и ошибок и обильных поисков в Google, кажется, что это может быть десятки различных причин.

ip a перечисляет два устройства:

  • lo
  • enp0s8

У меня также есть конфигурационный файл ifcfg-enp0s3 в директории sysconfig (не уверен, зачем он нужен).

Так какой же простой, предсказуемый и надежный способ установить статический IP-адрес в минимальной версии CentOS 7?

Попробуйте следующее:

TYPE=Ethernet
DEVICE=enp0s8
IPADDR=192.168.100.101
NETMASK=255.255.255.0
ONBOOT=yes
NOZEROCONF=yes
USERCTL=no
NM_CONTROLLED=no

Я думаю, что ваша проблема заключается в отсутствии NM_CONTROLLED=no. Кроме перезапуска сети вы можете попробовать активировать его с помощью

ifup enp0s8

Вам также может потребоваться указать GATEWAY=

Ответ или решение

Чтобы установить статический IP-адрес на виртуальной машине CentOS 7 Minimal, следуя вашему описанию, вы можете воспользоваться приведенными ниже шагами и рекомендациями. Мы рассмотрим, как правильно настроить файл конфигурации сети, а также дадим дополнительные советы для устранения возможных проблем.

Шаг 1: Редактирование конфигурационного файла интерфейса

Первое, что необходимо сделать — отредактировать файл конфигурации сетевого интерфейса. В вашем случае это файл /etc/sysconfig/network-scripts/ifcfg-enp0s8. Откройте его с помощью текстового редактора (например, vi или nano):

sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

Пример содержимого файла, который вы можете использовать:

TYPE=Ethernet
DEVICE=enp0s8
BOOTPROTO=static
IPADDR=192.168.100.101
NETMASK=255.255.255.0
ONBOOT=yes
NOZEROCONF=yes
USERCTL=no
NM_CONTROLLED=no
GATEWAY=192.168.100.1  # Замените на ваш шлюз по умолчанию, если необходимо

Объяснение параметров:

  • TYPE: Тип интерфейса (Ethernet).
  • DEVICE: Имя интерфейса, который вы настраиваете.
  • BOOTPROTO: Протокол загрузки; в данном случае настройка статическая.
  • IPADDR: Статический IP-адрес, который вы назначаете.
  • NETMASK: Сетевая маска.
  • ONBOOT: Указывает, что интерфейс должен быть активен при загрузке системы.
  • NOZEROCONF: Отключает автоматическую конфигурацию сети.
  • USERCTL: Указывает, что обычные пользователи не могут управлять этим интерфейсом.
  • NM_CONTROLLED: Настройка, указывающая, что NetworkManager не должен контролировать этот интерфейс.
  • GATEWAY: Укажите шлюз по умолчанию, если он необходим для вашей сети.

Шаг 2: Перезапуск сетевого интерфейса

После редактирования файла нужно перезапустить сетевой интерфейс. Вы можете использовать команду ifup, чтобы поднять интерфейс:

sudo ifup enp0s8

Если эта команда не сработает или вы получите сообщение об ошибке, можете попробовать перезагрузить сетевой сервис:

sudo systemctl restart network

Шаг 3: Проверка конфигурации

После перезапуска проверьте настройки с помощью команды:

ip a

Убедитесь, что интерфейс enp0s8 имеет заданный вами статический IP-адрес.

Дополнительные советы:

  1. Проверка наличия нескольких конфигураций: Если у вас есть файл конфигурации ifcfg-enp0s3, убедитесь, что он не конфликтует с вашими текущими настройками. Убедитесь, что нужный интерфейс включен и настроен правильно.

  2. Логи ошибок: Если у вас возникли сложности, посмотрите системные логи с помощью команды:

    sudo journalctl -xe
  3. Установка NetworkManager: Убедитесь, что NetworkManager не конфликтует с вашими настройками. Если вы настроили статический IP, можно отключить NetworkManager от управления интерфейсом, как указано выше.

Соблюдая эти шаги и рекомендации, вы сможете успешно настроить статический IP-адрес для вашей CentOS 7 Minimal VM.

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

Капча загружается...