Конфигурация сети rhel-7 / centos-7 странная - в основном потому, что они колеблются между старым (сценарии оболочки, обычно вызываемые /etc/init.d/network, которые изменяют состояние конфигурации сетевых устройств) и новым способом (демон NetworkManager, который управляет настройками сетевого устройства).
Насколько я понимаю, rhel7 / centos-7 одновременно поддерживают оба режима конфигурации для сетевых устройств. Они используют плагин для NetworkManager под названием ifcfg-rh, который считывает / записывает конфигурацию сети из / etc / sysconfig / network-scripts / ifcfg- * с конфигурацией, поступающей в NetworkManager из этих файлов при запуске, а изменения, внесенные через NetworkManager (иногда), сериализуются. обратно к этим файлам через плагин ifcfg-rh во время работы системы (что включает переводы в / из странного устаревшего формата файла конфигурации в / etc / sysconfig / network-scripts / ifcfg- * - формат, который изначально интерпретировался кучей сценарии оболочки.) Эта ситуация пугает меня и заставляет задуматься о драконах.
Я считаю, что объединение двух миров сбивает с толку и чревато ошибками - особенно если вам нужно автоматизировать изменения конфигурации сети по разным причинам, а также когда вам нужно обучать коллег «новому способу» работы в современных системах. - люди, которые могут забыть и вызвать рассинхронизацию управления конфигурацией между двумя мирами ...
Итак, чтобы избежать возможных странных ошибок, я хочу полностью принять NetworkManager и избавиться от устаревших опций. Стоит ли ожидать побочных эффектов при следующем подходе:
> cat /etc/NetworkManager/NetworkManager.conf
[main]
plugin=keyfile
> cat /etc/NetworkManager/system-connections/dhcp-profile.conf
[connection]
id=dhcp
uuid=50263651-4f14-46bc-8dd8-818bf0fe3367
type=ethernet
autoconnect=true
[ipv6]
method=auto
[ipv4]
method=auto
> systemctl disable networking
> systemctl enable NetworkManager
Я должен гарантировать, что файл в формате ключевого файла является источником истины для всех настроек NetworkManager - и должен удалить все поведения, которые зависят от содержимого - / etc / sysconfig / network-scripts / * - / etc / sysconfig / network - / etc /init.d/network
Кажется, что он работает и пока ведет себя нормально ... Я немного беспокоюсь, что могут возникнуть побочные эффекты от отключения службы /etc/init.d/network ... Я не думаю, что есть какие-либо причины, по которым /etc/init.d/network все еще следует вызывать в мире полностью NetworkManager ...?
Кто-нибудь знает о поведении, которое это нарушит, или о причинах, по которым это не было бы хорошей идеей?
Если вы используете NetworkManager, нет причин для включения устаревшей сетевой службы - да и не следует -.
И наоборот, если вы используете устаревшую сетевую службу, вам не следует включать или запускать NetworkManager.
У вас может возникнуть сбой, если у вас есть устаревшие сценарии, которые предполагают использовать старую сетевую службу и не понимают NetworkManager. По возможности их следует соответствующим образом адаптировать. В противном случае вы всегда можете использовать старую сетевую службу.