Вопрос или проблема
Я установил CentOS7 в VirtualBox. У меня есть 2 сетевых карты – один адаптер только для хоста (vboxnet0) enp0s8
(который я хочу сделать статическим) и другой NAT адаптер enp0s3
. Адаптер только для хоста никогда не активируется при загрузке, и мне всегда нужно запускать ifup
, чтобы его включить. NAT активен при загрузке.
Я уже добавил ONBOOT="yes"
в /etc/sysconfig/network-scripts/ifcfg-enp0s8
. Содержимое /etc/sysconfig/network-scripts/ifcfg-enp0s8
представлено ниже:
TYPE=Ethernet
BOOTPROTO="static"
IPADDR=192.168.56.101
NETMASK=255.255.255.0
NM_CONTROLLED=no
PEERDNS=yes
PEERROUTES=yes
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s8
UUID=451a1700-6a0f-430a-b5ac-96fe2bf748b3
DEVICE=enp0s8
ONBOOT="yes"
Содержимое /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
#PEERDNS="yes"
IPV4_FAILURE_FATAL="no"
#IPV6INIT="yes"
IPV4_AUTOCONF="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="b5ee8854-996e-44dc-9548-f6a1f1afa3b2"
DEVICE="enp0s3"
ONBOOT="yes"
DNS1=8.8.8.8
DNS2=8.8.4.4
DNS3=192.168.0.1
PEERDNS=yes
PEERROUTES=yes
IPV6INIT=no
В чем может быть проблема?
Смените интерфейс только для хоста с enp0s8 на enp0s9. Enp0s8 всегда в сети, enp0s9 – только для хоста. Это сработает.
Ответ или решение
Проблема, с которой вы столкнулись, заключается в том, что адаптер сети типа "host-only" (enp0s8) не активируется при загрузке вашей виртуальной машины на CentOS 7. Вы уже добавили настройку ONBOOT="yes"
в конфигурационный файл /etc/sysconfig/network-scripts/ifcfg-enp0s8
, что является правильным подходом. Однако, существует несколько других шагов, которые вы можете предпринять для решения этой проблемы.
-
Проверьте имя адаптера:
Следует убедиться, что имя адаптера действительно соответствуетenp0s8
. Иногда, в зависимости от конфигурации вашей виртуальной машины, системное имя устройства может измениться. Попробуйте выполнить командуip link
илиifconfig
в терминале, чтобы проверить, активен ли адаптер и под каким именем он отображается. -
Настройте NetworkManager:
Если вы используетеNetworkManager
, возможно, он управляет вашим сетевым интерфейсом и игнорирует настройки из файла конфигурации. Откройте файл конфигурации адаптера (/etc/sysconfig/network-scripts/ifcfg-enp0s8
) и измените или добавьте следующую строку:NM_CONTROLLED=no
Это позволит гарантировать, что
NetworkManager
не будет управлять этим интерфейсом. -
Перезагрузите NetworkManager:
После внесения изменений следует перезагрузить службу NetworkManager для применения изменений:systemctl restart NetworkManager
-
Проверьте логи:
Если адаптер всё ещё не активируется, проверьте журналы системы на наличие ошибок, связанных с сетью. Вы можете использовать следующую команду для просмотра последних событий:journalctl -xe
-
Настройки конфигурации:
Убедитесь, что в файле конфигурации нет лишних символов или неверных настроек. Проверьте, что все настройки прописаны корректно, и обратите внимание на наличие дополнительных опций по сравнению с конфигурацией NAT (enp0s3). Убедитесь, что дляenp0s8
используются значения, совместимые с теми, что предоставляет ваш host-only адаптер (например, корректный IP-адрес и маска подсети). -
Переименование интерфейса (если необходимо):
Если вы получаете сообщения, чтоenp0s8
недоступен, и адаптер действительно настроен какhost-only
, попробуйте изменить имя интерфейса наenp0s9
(как указывалось в вашем сообщении). В этом случае вам нужно изменить имя в файле конфигурации/etc/sysconfig/network-scripts/ifcfg-enp0s8
наifcfg-enp0s9
, а сам файл переименовать. -
Тестирование:
После всех вышеуказанных шагов перезагрузите вашу виртуальную машину и проверьте, активировался ли интерфейс enp0s8 (или enp0s9) автоматически.
Соблюдая указанные шаги, вы должны устранить проблему активации адаптера host-only на вашем CentOS 7 и обеспечить его правильную работу. Если проблемы сохраняются, рассмотрите возможность обращения к официальным форумам или сообществу CentOS для получения дополнительной поддержки.