Я не Могу запустить сервис "сети" 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" до сетевой службы. Какие-либо идеи относительно того, что вызывает проблему и как зафиксировать ее?
Примечание: Я использовал вкусное стирание для удаления сети, справляются с сервисом.
Вот дополнительная информация, как спросили:
/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
В Centos7.0 отключение NetworkManager приведет к тому, что клиент DHCP останется настроенным для NetworkManager. Это вызывает сообщение об ошибке RTNETLINK отвечает: Файл существует
при запуске службы сети
.
Устаревший процесс 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
и только после этого запустить вашу сетевую службу.
Невозможность получить IP-адрес от DNS также приведет к этой ошибке, как я только что обнаружил. На самом деле похоже, что любая ошибка сети вызовет эту ошибку. Похоже, это проблема CentOS 7, поскольку здесь выдает очень плохую ошибку.
, поскольку это уже было определено - эта ошибка появляется вместе с любой проблемой при настройке сети: конфликтом IP-адресов, проблемами маршрутизации и т. Д.
Посмотрите на настройки вашего шлюза, чтобы убедиться, что ваши шлюзы настроены правильно, и все должно быть в порядке с / etc / syscofig / network
и каждым из / etc / sysconfig / network-scripts / ifcfg - *
ищите дублирующийся IP, маршруты, заданные через / etc / sysconfig / network-scripts / route - *
, если мне не изменяет память, теперь шлюзы могут быть установлены как в ifcfg - *
, так и в route - *
файлов. Так что убедитесь, что нет никакого дублирования или совпадения.
Конфликт IP-адресов также приведет к этой ошибке. Попробуйте: systemctl stop network
, затем ifup eth0
.
Посмотрите в сетевых сценариях, нет ли другого интерфейса, который мог бы привести к сбою network.service
выполните ifconfig и запишите интерфейс. Сравните с файлами в сетевых скриптах. Если в сетевых сценариях больше файлов, чем интерфейсов в ifconfig, вы можете удалить дополнительные бесполезные файлы, а затем выполнить перезапуск сети systemctl.
Если эта ошибка возникла после клонирования виртуального сервера, клону был присвоен новый аппаратный адрес (MAC), а в конфигурации сетевого адаптера все еще был старый.
Строка выглядит так: HWADDR = 00: 00: 00: 00: 00: 00
Похоже, это также происходит, если вы вручную настраиваете интерфейс, который не подключен к сети.
Сегодня я тоже столкнулся с этим на клонированной виртуальной машине CentOS 7.2. Вот как я это исправил.
systemctl disable NetworkManager
systemctl enable network
Найти MAC-адрес интерфейса можно командой /sbin/ifconfig -a
и добавить его в /etc/sysconfig/network-scripts/ifcfg-<имя_интерфейса>
. Вы можете использовать следующие команды для первого интерфейса.
nic_file=`ls /etc/sysconfig/network-scripts/ifcfg-e*`
ifconfig -a | grep ether | awk '{ print $2 }' | sed 's/.*/HWADDR=&/' >> ${nic_file}
Затем запустите reboot
, чтобы перезагрузить сервер
Я столкнулся с этой проблемой, когда сервер продолжает давать мне ответы RTNETLINK: Файл существует
даже после удаления сетевого менеджера и тройной проверки всей моей сетевой конфигурации.
Похоже, что IP-адрес был установлен на другом сервере и что сервер фильтрует ICMP (так что пинг отсутствует), первое, что я попробовал. Так что не полагайтесь на ping для проверки, активен IP-адрес или нет!
При запуске сетевой сценарий выдает эту команду (измените ваш dev и ip)
/sbin/arping -c 2 -w 3 -D -I eth0 10.196.132.206
Что говорит нам, что MAC-адрес является связанный с этим IP-адресом, и сбой сетевого сценария ( ifup
или systemctl start network
)
Я тоже столкнулся с подобными проблемами. Чтобы изменить файлы конфигурации. (Ifcfg-ensxxxx), выполните следующие действия. введите описание изображения здесь
NM_CONTROLLED = no
, это означает, что этот интерфейс будет настроен с использованием этого файла конфигурации , вместо управления службой Network Manager. Я тоже сталкивался с подобными проблемами. Чтобы изменить файлы конфигурации (ifcfg-ensxxxx), выполните следующие действия:
Добавьте новую опцию: NM_CONTROLLED=no
, она указывает, что этот интерфейс будет настроен с использованием этого файла конфигурации, а не будет управляться с помощью службы Network Manager.