CentOS нет сетевого интерфейса после установки в VirtualBox


53

У меня есть Ubuntu 12.10, на котором я установил виртуальный ящик, на котором я установил Centos 6.4 i386. На Ubuntu у меня работает ядро ​​3.5.0-17.

На виртуальную коробку я устанавливаю Centos 6.4, и все работает нормально, однако, когда я загружаюсь в машину с виртуальной машиной, это происходит только через интерфейс обратной связи. Ничего больше. Я пытался вручную добавить файл ifcfg-eth0, но ничего не происходит. В настройках виртуальной машины я добавил интерфейсы NAT и HostOnly, но всякий раз, когда я загружаюсь в Centos, просто появляется интерфейс. Что я должен делать?

Ответы:


53

Вам нужно включить сеть во время установки. Вы можете сделать это и после установки. Это изменение в установке CentOS в версиях 6.x, которое сбивает с толку многих людей, включая меня.

Начиная с CentOS 6.x, вы можете либо NetworkManagerуправлять настройками сети, либо по-прежнему делать это по старинке и настраивать их вручную, используя /etc/sysconfig/network-scripts/ifcfg-eth0типы файлов. Учитывая, что это виртуальная машина, я бы порекомендовал использовать NetworkManager.

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

$ nm-connection-editor

Вам будет представлен графический интерфейс, подобный этому:

                         сс  редактор

Из этого графического интерфейса вам нужно отредактировать настройку eth0 следующим образом:

                         сс нм # 1

                         сс нм # 2

                         сс нм # 3

Без графического интерфейса

Если вы пытаетесь сделать это на автономном сервере, вы можете отредактировать следующие файлы и перезагрузить компьютер, eth0чтобы включить сетевое устройство и получить IP-адрес от сервера DHCP. Измените эти 2 параметра в файле /etc/sysconfig/network-scripts/ifcfg-eth0:

ONBOOT="yes"
NM_CONTROLLED="no"

Рекомендации


5
Centos 6.4 "NM-connection-editor not found" ... графический интерфейс не запущен. Безголовый сервер. нет радости :(
Моджо

1
«Без GUI» шаги работали отлично, спасибо большое!
Подстановочный

2
Шаги Без графического интерфейса немного сбивали меня с толку, пока я не проверил следующие несколько ответов. В CentOS min вместо eth0 это что-то другое, поэтому, пожалуйста, обновите свой ответ на ifcfg-XXXX. Кроме того, NM_CONTROLLED не был указан в списке, и, поскольку другие не указали его, я не добавил его, так что это должно быть по умолчанию. Сеть запущена и работает. Если вы также можете обновить ответ, чтобы перенаправить парней «NO GUI», или поместить его над ответом GUI, это было бы здорово, так как я подозреваю, что n / w будет отключен только на минимальных дистрибутивах, если он отключен на нормальных дистрибутивах, то есть сомнительно, поскольку это будет мешать многим новичкам.
killjoy

@killjoy - какую версию CentOS вы используете. То, что я показал выше, было то, как это было в 2013 году, когда я написал это. Вещи могли измениться в более новых версиях. Также NM_CONTROLLED - это то, как вы можете сделать это явно. Следовательно, почему я показал это.
SLM

@slim - последняя 7-я версия на дату публикации, на самом деле некоторые другие тоже имеют разные значения. На моей рабочей виртуальной машине это '-eno', так что да, я думаю, что это не статический eth0, как раньше.
killjoy

18

Запустите команду:

$ ip a

Это покажет интерфейсы. Нужно /etc/sysconfig/network-scripts открыть соответствующий ifcfgфайл и установить при загрузке да. Перезагрузите систему, и вы вышли из строя.

По умолчанию это установлено в нет в Centos 7


1
Имеет ли значение, если вы работаете в ВМ? Потому что я проделывал все это несколько раз, и все равно он говорит, что сеть недоступна, и я не могу установить гостевые дополнения VirtualBox без сети, потому что CentOS не включает bzip2 по некоторой задержке.
MarcusJ

1
Чтобы расширить это, вы можете создать новый ifcfgфайл и назвать интерфейс по своему желанию с помощью DEVICE=[name]опции, если вы включите HWADDR=[mac address].
Сентиман

Вам также нужно изменить эту строку: NM_CONTROLLED = нет
Роб Седжвик

что делать, если нет файла ifcfg, соответствующего показу устройства ip a?
марафон

8

Когда вы создаете новую виртуальную машину (то есть гостевую ОС) с VirtualBox, она по умолчанию делает сетевой адаптер Am79C973. Хотя этот NIC может поддерживаться многими операционными системами, этот конкретный NIC, похоже, не поддерживается CentOS 7. Это означает, что единственным NIC, который будет отображаться внутри вашей новой виртуальной машины CentOS 7, будет NIC с обратной связью. Что вам нужно сделать, это изменить NIC на тот, который поддерживается как 82543GC.

Сначала остановите виртуальную машину CentOS, если вы этого еще не сделали, а затем измените сетевой адаптер с помощью этой команды на хосте VirtualBox:

vboxmanage modifyvm "testvm" --nictype1 82543GC

Теперь запустите вашу виртуальную машину CentOS еще раз, и вы заметите, что она имеет сетевой адаптер.

Я надеюсь, что это помогает.


Я не использую vbox. Я просто использую Centos как двойную загрузку, но у меня та же проблема, что и у оп
samayo

У меня была та же проблема, что и у OP, это решило ее для меня. (VirtualBox + CentOS 7)
hoosierEE

6

взгляните на файлы конфигурации NIC /etc/sysconfig/networking/devices/ifcfg-ethXи проверьте, существует ли параметр ONBOOT. Если нет - добавь это.

grep "ONBOOT=yes" /etc/sysconfig/networking/devices/*
/etc/sysconfig/networking/devices/ifcfg-eth0:ONBOOT=yes
/etc/sysconfig/networking/devices/ifcfg-eth1:ONBOOT=yes

Перезагрузка или /etc/init.d/network restartпосле изменения должна привести ваш интерфейс.


Сердечный +1 за использование grep, чтобы узнать, куда они положили конфиг на этой неделе! (Кстати, та же проблема на Centos6 и исправление все еще работало)
gbarry

5

В centos 7 имя сетевого интерфейса: enp0s3для работы сети необходимо отредактировать соответствующие файлы:

sudo vim /etc/sysconfig/network-scripts/ifcfg-emp0s3

И установите ONBOOTдляyes

ONBOOT=yes

Woa, woa, woa, это явное упрощение именования интерфейсов CentOS 7. См. Cgit.freedesktop.org/systemd/systemd/tree/src/udev/… для справки. Скорее всего, интерфейс - это скорее p#p###интерфейс формата, но в любом случае лучше определить настоящее имя, чем угадывать его.
Сентиман

Кроме того, спрашивающий использует CentOS 6.4, поэтому именование интерфейса CentOS 7 не имеет значения. Наименование интерфейса резко изменилось в 7.
Сентиман

1
Работал на меня. Благодарю. Я на свободном RHEL. Чтобы узнать имя интерфейса, запустите pifconfig. Да, RHEL не поставляется с ifconfig. Даже в сбине. Ubuntu лучше в этом отношении.
NotAgain сообщает, что восстановит Монику

@Centimane Эй, спасибо, что сообщили мне, что я упрощаю. Но для меня это работа, и я не уверен, что это плохая практика. Не могли бы вы поделиться правильным способом получить правильный интерфейс для centos? Так что это будет «Bulletproff» для будущей версии Centos.
Яна Агун Сисванто

1
Имена интерфейсов основаны на оборудовании, поэтому имя интерфейса зависит от типа используемого сетевого адаптера и от того, как оборудование передается в RHEL. Исходя от вашего имени интерфейса RHEL думает ваша сетевая карта является эм beded устройства, р Орт 0 сек много 3 . Но другое оборудование будет использовать другое имя NIC.
Сентиман


1

Я думаю, что это, вероятно, сетевые настройки, которые бросают это. Я нашел мою работу лучше всего с "Bridged Adapter", так как вы затем используете сетевую карту хоста напрямую. Это также позволит виртуальному компьютеру использовать DHCP для получения собственного внутреннего IP-адреса от вашего маршрутизатора.

NAT немного странный, поскольку вы используете только один IP-адрес (такой же, как у хоста?) И вместо этого используете ретрансляцию при трансляции портов - таким образом, это не совсем отдельный IP для виртуальной машины. HostOnly Я думаю, что только позволяет виртуальной машине сделать "локальную сеть" с вашим хостом - т.е. нет внешнего интернета. И это в значительной степени оставляет вас только петлевое устройство.


0

Для меня это выглядит как /etc/udev/rules.d/70-persistent-net.rules. Если этот файл не будет удален, редактирование ifcfg-ethX не поможет, потому что все старые настройки сохранятся. Удалите файл, затем используйте «udevadm trigger», чтобы воссоздать его.


Я не вижу, как это связано с отсутствием устройства.
thrig

0

Это особенно относится к VMBox, где вы установили новый клон (у меня был CentOS) и не видите IP-адрес:

  1. Остановите ВМ. Зайдите в Настройки-> Сеть-> Дополнительно. Затем сбросьте MAC-адрес, нажав на синий значок справа. Обратите внимание на новый MAC-адрес где-то.
  2. Запустите ВМ. Перейдите в Система-> Настройки-> Сетевые подключения. Отредактируйте Connection eth0 -> MAC-адрес устройства с новым MAC-адресом, начиная с шага # 1, добавив «:» между двумя символами. например, с 08012741798D до 08: 01: 27: 41: 79: 8D и сохранить
  3. Перезагрузитесь, затем войдите в систему как root: cd / var / lib / NetworkManager
  4. удалить или переместить NetworkManager.state в другую папку, например: mv NetworkManager.state NetworkManager.state.save
  5. запустить: служба NetworkManager stop
  6. запустить: служба NetworkManager start
  7. Чтобы увидеть новый IP-адрес, запустите: ifconfig -a

0
  1. sudo dhclientГотово. Перезагрузка не требуется.

  2. Если вы хотите, чтобы клиент dhcp запускался автоматически при загрузке: sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 измените ONBOOT=noна ONBOOT=yes.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.