Existem boas razões para não desabilitar o /etc/init.d/network no centos-7 em favor do uso exclusivo do NetworkManager?

2

configuração de rede rhel-7 / centos-7 é bizarra - em grande parte porque eles estão entre o antigo (shell scripts normalmente chamados por /etc/init.d/network que mutam o estado de configuração dos dispositivos de rede) e o novo caminho ( O daemon NetworkManager, que gerencia as configurações do dispositivo de rede).

Pelo melhor de meu entendimento - o rhel7 / centos-7 está suportando simultaneamente ambos os modos de configuração para dispositivos de rede. Eles usam um plugin para o NetworkManager chamado ifcfg-rh que lê / grava a configuração de rede do / etc / sysconfig / network-scripts / ifcfg- * com a configuração do NetworkManager desses arquivos na inicialização e as alterações feitas via NetworkManager (às vezes) sendo serializadas de volta para esses arquivos através do plugin ifcfg-rh durante a operação do sistema (que envolve traduções para / do estranho formato de arquivo legado em / etc / sysconfig / network-scripts / ifcfg- * - um formato que foi originalmente interpretado por uma pilha de scripts de shell.) Esta situação me assusta e me faz pensar sobre dragões.

Minha opinião é que os dois mundos são confusos e propensos a erros - especialmente se você tiver que automatizar as alterações de configuração de rede por vários motivos, e também quando tiver que educar os colegas sobre "novas maneiras" de fazer as coisas. sistemas modernos - pessoas que podem esquecer e fazer com que o controle de configuração fique fora de sincronia entre os dois mundos ...

Então, para evitar o potencial de bugs estranhos, quero adotar completamente o NetworkManager e me livrar das opções legadas. Devo esperar efeitos colaterais com a seguinte abordagem:

> 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

Isso deve garantir que o arquivo formatado com chave de arquivo seja a fonte de verdade para todas as configurações do NetworkManager - e deve remover todos os comportamentos que dependem do conteúdo do - / etc / sysconfig / network-scripts / * - / etc / sysconfig / network - /etc/init.d/network

Parece funcionar e se comporta normalmente até agora ... Eu estou um pouco preocupado que possa haver efeitos colaterais de desativar o serviço '/etc/init.d/network' ... eu não acho existem razões pelas quais o /etc/init.d/network ainda deve ser chamado em um mundo totalmente NetworkManager ...?

Alguém sabe de comportamentos que isso quebraria ou raciocinaria que isso não seria uma boa ideia?

    
por Ben 25.03.2015 / 00:24

1 resposta

1

Se você estiver usando o NetworkManager, não há motivo para - e você não deve - ativar o serviço de rede legado.

Por outro lado, se você estiver usando o serviço de rede legado, não deverá ativar ou iniciar o NetworkManager.

Você pode ter quebras se tiver scripts legados que esperam usar o serviço de rede antigo e não entender o NetworkManager. Estes devem ser adaptados conforme apropriado, se possível. Caso contrário, você sempre poderá usar o antigo serviço de rede.

    
por 25.03.2015 / 01:00