Почему интерфейс по умолчанию eth0 выключен по умолчанию в CentOS?

43

Я уже немного знаком с дистрибутивами Linux, такими как Debian или Ubuntu (да, очень похоже), но я хотел попробовать Red Hat - CentOS 6.2. Я установил его на свой хост Windows 7 в virtualBox и попытался немного поиграть с ним.

Я столкнулся с небольшой проблемой, а именно: eth0интерфейс по умолчанию отключен по умолчанию. Я использую опцию с NAT (виртуальная машина находится «позади» хоста). Даже если я приведу интерфейс с

ifconfig eth0 upэто не работает сразу. Я получаю это после поднятия интерфейса:

Что еще нужно сделать, чтобы настроить сеть на компьютере CentOS?CentOS показывает вывод ifconfig.  Обратите внимание, что eth0 не работает.

PS Извините за скриншот, но я не знаю, как получить текст из VirtualBox.

Patryk
источник
2
Существует нет eth1на скриншоте ... Кстати, попробуйте запустить DHCP на интерфейсе: dhclient eth0.
РВМ
@pbm 1) я изменил , eth1чтобы eth0в описании. 2) dhclient eth0сработало :) спасибо. Как я могу сделать это по умолчанию - запустить после перезагрузки?
Патрик
Я не уверен, но посмотрите этот пост в блоге: blog.malaya-digital.org/…
pbm

Ответы:

52

Редактировать /etc/sysconfig/network-scripts/ifcfg-$IFNAME. Измените значение ONBOOTстроки на yes.

$IFNAMEбудет eth0на многих блоках EL6, но на блоках EL7 и EL6, использующих согласованную схему именования сетевых устройств , это может быть что-то еще, например en3p1. Используйте команду, ip linkчтобы получить список сетевых интерфейсов, включая те, которые в данный момент недоступны.

В ваших будущих установках уделите больше внимания. Вы пропустили опцию в разделе конфигурации сети, которая позволяла сказать ему, чтобы запустить интерфейс при загрузке. Эта опция при загрузке отключена по умолчанию в EL6 и EL7, тогда как в предыдущих версиях она была включена по умолчанию.

Чтобы настроить сетевой интерфейс при первой загрузке во время установки в EL7, перейдите на вкладку ConfigureGeneralна экране конфигурации сети и установите флажок Automatically connect to the network when available.

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

Уоррен Янг
источник
Именно ту информацию, которую я искал. Спасибо!
SamAndrew81
8

Если в вашей сети нет DHCP-сервера, вы должны установить статический IP-адрес. Пожалуйста, рассмотрите следующий пример:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=none
DEVICE=eth0
IPADDR=192.168.1.10 # your IP address
NETMASK=255.255.255.0 # your netmask
NETWORK=192.168.1.0 
ONBOOT=yes

Добавьте GATEWAY в ваш /etc/sysconfig/networkфайл:

NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=hostname.domainname
GATEWAY=192.168.1.1 # your gateway

Выполните следующую команду для запуска сети при загрузке:

chkconfig network on

Перезапустите свой сетевой сервис:

service network restart

Посмотрите на свои сетевые интерфейсы

ifconfig
alexnorthsoul
источник
5

Вы не упомянули, какую версию CentOS вы используете. Если я не ошибаюсь, 6.x по умолчанию использует NetworkManager.

Я редко устанавливаю X windows на свои серверы, поэтому NetworkManager - это просто боль для меня. Я отключаю его и включаю стандартный «сетевой» сервис.

chkconfig NetworkManager от
chkconfig сети на

служба NetworkManager остановка
запуска службы сети

Чтобы включить DHCP на интерфейсе, запустите system-config-network, отредактируйте соответствующее устройство, сохраните и перезапустите сетевую службу. Вы также можете редактировать /etc/sysconfig/network-scripts/ifcfg-eth0и добавлять

ONBOOT=yes
BOOTPROTO=dhcp

Сохраните изменения и перезапустите сетевой сервис.

Джордж М
источник
1

Из того, что я понял из экспериментов и чтения, я согласен с Утером, что Network Manager, похоже, загружается по умолчанию, а сетевой сервис - нет.

Когда у меня недавно был запущен хост виртуальной машины, но в выводе ifconfig не показывался eth0, это было из-за того, что у меня был запущен Network Manager, сеть не запущена и NM_CONTROLLED=noв моем /etc/sysconfig/network-scripts/ifcfg-eth0файле.

Как только я запустился service network restart, в выводе ifconfig появился eth0. Перезагрузка, однако, заставила это уйти снова.

Решение для меня , кажется, установив NM_CONTROLLED=noв /etc/sysconfig/network-scripts/ifcfg-eth0, затем включите сетевую службу при запуске ( chkconfig network onкак Утер и alexnorthsoul точки выхода). Я мог (должен?), Вероятно, отключить NetworkManager по умолчанию, но он работает для меня сейчас, и я нервничаю по поводу прикосновения к чему-либо еще.

Кстати, моей целью было заставить систему соблюдать выбранный мной статический IP-адрес. Когда я оставил NetworkManager запущенным и установил NM_CONTROLLED=yes(или пропустил его), я увидел eth0 в ifconfig, но это был адрес DHCP, а не мой статический IP. Поэтому отключение NetworkManager избавило меня от DHCP, а включение сети заставило его загрузить мои настройки, которые включали статический IP.

Я не системный администратор, а скорее разработчик, так что это не слова эксперта CentOS, а просто выживший в настройке виртуальных машин, которые мне нужны.

SteveW
источник