Не удается запустить CentOS 7 «сетевой» сервис

23

Я не могу запустить CentOS 7 "сетевой" сервис после отключения и удаления сервиса "NetworkManager". Когда я проверяю состояние службы сети, возникает следующая ошибка:

#systemctl status network.service
network.service - LSB: Bring up/down networking
   Loaded: loaded (/etc/rc.d/init.d/network)
   Active: failed (Result: exit-code) since Fri 2015-01-16 22:30:46 GMT; 38s ago
  Process: 4857 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)

Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain network[4857]: RTNETLINK answers: File exists
Jan 16 22:30:46 localhost.localdomain systemd[1]: network.service: control process exited, code=exited status=1
Jan 16 22:30:46 localhost.localdomain systemd[1]: Failed to start LSB: Bring up/down networking.
Jan 16 22:30:46 localhost.localdomain systemd[1]: Unit network.service entered failed state.

В более ранних версиях CenOS это не создавало проблем при переключении с сервиса «NetworkManager» на сетевой сервис. Любые идеи относительно того, что вызывает проблему и как ее исправить?

Примечание. Я использовал yum erase для удаления службы управления сетью.

Вот дополнительная информация по запросу:

/etc/sysconfig/network-script/ifcfg-enp8s0
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=enp8s0
UUID=453a07fe-1b07-4f29-bc32-f2168e50706a
ONBOOT=yes
HWADDR=XXXXXXXXXXX
MACADDR=XXXXXXXXXX
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

/etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

/etc/resolv.conf
; generated by /usr/sbin/dhclient-script
search customer.marples.midcity.lan
nameserver 10.241.128.1
ГАЗель
источник
Поскольку я не могу опубликовать комментарий из-за своей низкой репутации, я публикую его как ответ, которым он НЕ предназначен. <br/> <br/> Можете ли вы опубликовать следующее: <br/> <br/> /etc/sysconfig/network-script/ifcfg-eth0<br/> /etc/hosts<br/> /etc/resolv.conf<br/> <br/> Возможно, вы захотите проверить настроенные маршруты для этого конкретного сетевого адаптера (найдено в /etc/sysconfig/network-scripts/route-<interface>), так как это может вызвать аналогичные ошибки. <br/> <br/> Пробовали ли вы ifdown eth0и ifup eth0вместо systemctl (re)start network? Вы отключили / удалили Network Managerс помощьюyum remove
Mosh Pit
Привет, спасибо за пополнение. Я обновил информацию о моем вопросе выше, посмотрите. Да, я использовал стирание yum для удаления службы NetworkManager. Я не пробовал ifdown eth0 и ifup eth0, однако мое сетевое соединение все еще работает и работает, несмотря на удаление службы сетевого менеджера и невозможность запустить сетевую службу.
Газель
У вас есть HWADDR=XXXXXXXXXXX И MACADDR=XXXXXXXXXX в вашем интерфейсе конфигурации. Это кажется неправильным, поскольку похоже, что оно должно быть таким же. Попробуйте одну из вещей, которые я рекомендовал (комментируя эту часть в вашей конфигурации), перезапустите и попробуйте снова. Обеспечивает ли этот CentOS 7 box SELinux? Вы используете эту систему на оборудовании или в виртуальной среде? hostsи resolv.confхорошо выглядеть до сих пор.
Mosh Pit
Первоначально я подделал MAC в графическом интерфейсе NetworkManager, поэтому он добавил поддельный MACADDR в дополнение к реальному HWADDR, поэтому он и есть. Должен ли я удалить линию MACADDR? Статус чтения SELinux включен. Я запускаю его на оборудовании.
Газель
Попробуйте комментировать HWADDRи / или MACADDR, хотя я думаю, MACADDRчто достаточно выносить . Перезапустите всю коробку и посмотрите, правильно ли работает сеть. Кроме того, если вы не используете IPv6, возьмите это дерьмо там. Вы также можете проверить свой HWADDR, используя, cat /sys/class/net/ens192/addressчтобы убедиться, что он настроен правильно.
Mosh Pit

Ответы:

31

В Centos7.0 отключение NetworkManager оставит запущенный клиент dhcp настроенным для NetworkManager. Это вызывает сообщение об ошибке RTNETLINK answers: File existsпри networkзапуске службы.

Устаревший dhclientпроцесс имеет дополнительное «преимущество», dhclientзаключающееся в том, что по истечении срока аренды ваш дроссель будет подавлен, поскольку он не сможет достичь NetWorkManager, что приведет к удалению вашего IP-адреса.

Если вы grepза это, вы увидите, что он указывает на файл конфигурации NetWorkManager.

[root@host ~]# ps -ef | grep dhc
root      1865   792  0 Apr28 ?        00:00:00 /sbin/dhclient -d -sf \
 /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-eno1.pid -lf\
 /var/lib/NetworkManager/dhclient-c96e56d3-a4c9-4a87-85ca-93dc0ca268f2-eno1.lease\
 -cf /var/lib/NetworkManager/dhclient-eno1.conf eno1

Итак, что вы можете сделать, это убить dhclientи только потом запустить сетевой сервис.

Тогда Ганс
источник
Да, убийство dhclient решило проблему для меня. Спасибо
MichaelZ
6
У меня также недостаточно репутации, чтобы комментировать, но я хотел поддержать ответ Ханса и добавить, что мне пришлось изменить bootproto на «none» в моих файлах ifcfg. Dhclient вызывался только при попытке перезапустить сеть, и уничтожение процесса dhclient не помогло, потому что на его месте появится другой. Изменение файлов ifcfg решило мою проблему.
Onlyanegg
5

Конфликт IP также вызовет эту ошибку. Попробуйте:, systemctl stop networkтогда ifup eth0.

spoovy
источник
1

Неудача получить IP от DNS также даст эту ошибку, как я только что нашел. На самом деле, похоже, что любая ошибка в сети вызовет эту ошибку. Это кажется проблемой с CentOS 7 в том смысле, что она дает очень слабую ошибку.

MikeKulls
источник
1

как это уже было определено - эта ошибка появляется при любых проблемах при настройке сети: конфликт IP, проблемы с маршрутизацией и т. д.

Посмотрите на настройки вашего шлюза, чтобы убедиться, что ваши шлюзы установлены правильно, и все должно быть с ними, /etc/syscofig/networkи каждый из них /etc/sysconfig/network-scripts/ifcfg-*ищет дублирующийся IP, маршруты, установленные, /etc/sysconfig/network-scripts/route-*если память обслуживает меня, правильные шлюзы теперь могут быть установлены как в файлах, так ifcfg-*и в route-*файлах. Так что подтвердите, что нет дублирования или дублирования.

Droopy4096
источник
1

Похоже, это также происходит, если вы вручную настраиваете интерфейс, который не подключен к сети.

Арье
источник
1

Я тоже столкнулся с этим сегодня на клонированной виртуальной машине CentOS 7.2. Вот как я это исправил.

systemctl disable NetworkManager
systemctl enable network

Найдите MAC-адрес интерфейса с помощью команды /sbin/ifconfig -aи добавьте его в /etc/sysconfig/network-scripts/ifcfg-<interface_name>. Вы можете использовать приведенные ниже команды для первого интерфейса.

nic_file=`ls /etc/sysconfig/network-scripts/ifcfg-e*`
ifconfig -a | grep ether | awk '{ print $2 }' | sed 's/.*/HWADDR=&/' >> ${nic_file}

Затем запустить rebootперезапустить сервер

vikas027
источник
0

Изучите сетевые сценарии, нет ли другого интерфейса, который мог бы привести к сбою network.service

сделайте ifconfig и запишите интерфейс. Сравните с файлами в сетевых скриптах. Если в скриптах сети больше файлов, чем интерфейсов в ifconfig, вы можете удалить дополнительные бесполезные файлы, а затем выполнить systemctl-перезагрузить сеть.

Николя Геренет
источник
0

Если после клонирования виртуального сервера произошла эта ошибка, клону был присвоен новый аппаратный адрес (MAC), а в конфигурации сетевого адаптера остался старый.

Строка выглядит так: HWADDR = 00: 00: 00: 00: 00: 00

WhoIsRich
источник
0

Я столкнулся с этой проблемой, когда сервер продолжает давать мне RTNETLINK answers: File existsдаже после удаления менеджера сети и тройной проверки всей моей конфигурации сети.

Похоже, что IP-адрес был на другом сервере, и что сервер фильтра ICMP (так что нет пинга), первые вещи, которые я попробовал. Так что не полагайтесь на пинг для тестирования, если IP или нет!

При запуске сетевой скрипт выдаст эту команду (измените ваш dev и ip)

/sbin/arping -c 2 -w 3 -D -I eth0 10.196.132.206

Что говорит нам о том, что MAC-адрес связан с этим IP и не работает сетевой скрипт ( ifupили systemctl start network)

Албан М
источник
0

Я также столкнулся с похожими проблемами. Чтобы изменить файлы конфигурации. (Ifcfg-ensxxxx), введите здесь описание изображения

  • Список закомментирован "UUID = xxxx-xxxx"
  • Добавить новую опцию: NM_CONTROLLED=noэто означает, что этот интерфейс будет настроен с использованием этого файла конфигурации, а не управляется службой Network Manager.

Справка: Как настроить статический IP-адрес в CentOS 7

Колин Чен
источник