CentOS 7 - Scripts da interface curinga?

0

Existe um mecanismo embutido no CentOS 7 para configurar interfaces de rede com os scripts de rede clássicos, enquanto permite curingas no nome do dispositivo?

Algo ao longo das linhas de:

/etc/sysconfig/network-scripts/ifcfg-*

... se aplica a todos os dispositivos detectados.

O caso de uso aqui é que estou construindo uma imagem do CentOS 7 que será usada em vários hardwares. Algum hardware possui vários NICs, outros, um único NIC. Portanto, quando a imagem é inicializada pela primeira vez, todos os scripts pré-configurados em /etc/sysconfig/network-scripts/ não correspondem necessariamente aos nomes dos dispositivos atuais.

O script e a rede ifcfg não são exóticos, é uma simples rede IPv4 / DHCP.

Algumas coisas que estou tentando evitar (se possível):

  • NetworkManager.
  • Alterando os nomes de interface padrão do udev.

A pré-configuração é o principal objetivo aqui. Obrigado!

    
por Andy 18.08.2016 / 01:41

2 respostas

0

Eu não acho que exista um método curinga de fazer isso, mas você pode ter um script de inicialização ou uma unidade systemd que execute antes de inicialização de rede que parece em /sys/class//net (ou ip link ) e para cada interface encontrada poderia criar (se estiver faltando) o arquivo ifcfg necessário.

Algo como

#!/bin/bash

create_dev()
{
  dev=$1

  echo IPV6INIT=yes
  echo IPV6_AUTOCONF=yes
  echo BOOTPROTO=dhcp
  echo DEVICE=$dev
  echo ONBOOT=yes
}

for dev in *
do
  CFG=/etc/sysconfig/network-scripts/ifcfg-$dev

  if [ ! -e $CFG ]
  then
    create_dev $dev > $CFG
  fi
done

pode ser suficiente para o wrapper. Você só então precisa criar a unidade necessária ou o script init para garantir que ela seja executada cedo o suficiente no processo de inicialização.

    
por 18.08.2016 / 02:11
0

Embora a resposta de Stephen Harris seja um trabalho decente, está propositalmente evitando o Network Manager, que é a norma nas distribuições Linux tradicionais agora. Embora os initscripts tradicionais ainda funcionem para dispositivos de rede neste momento, o suporte para eles está sendo desativado em favor do Network Manager. É por isso que é o padrão.

Eu recomendo muito me acostumar com o Network Manager, porque os initscripts tradicionais desaparecerão no futuro (em quase todas as distros comuns). Em uma situação como esta, você pode facilmente usá-lo para sua vantagem.

O Network Manager irá tentar abrir novas interfaces (por padrão, normalmente) com uma configuração DHCP padrão. Eles são listados em nmcli con show imediatamente. O Network Manager gerará os arquivos ifcfg- * automaticamente para você. Se você estiver usando o DHCP em seu ambiente, isso não será um problema. Se você estiver usando estática, precisará fazer um pouco mais de trabalho.

Veja man nmcli-examples .

    
por 18.08.2016 / 05:01