Desativar DHCP sem alterar 'interfaces'

0

Eu tenho um monte de RPis rodando em sistemas de arquivos somente leitura que não são capazes de modificar o arquivo / etc / network / interfaces.

A partir de agora, eles carregam suas configurações de um stick USB e usam ifconfig eth0 <ipaddress> para alterar seus endereços IP. Isso está funcionando a maior parte do tempo, mas de vez em quando, a mudança de IP não "gruda". Meu script de inicialização é executado, o IP muda para o endereço configurado e, em seguida, cerca de um minuto depois, ele é alterado para um endereço incorreto.

Meu arquivo de interfaces é configurado para DHCP: iface eth0 inet dhcp , porque eu ainda quero encontrar o Pi na rede se algo der errado.

Então, estou pensando que o DHCP está aproveitando seu tempo e substituindo meu IP por um minuto ou mais após a inicialização.
Como posso desativar o DHCP sem alterar arquivos do sistema de arquivos?

    
por MrZander 15.07.2015 / 02:46

2 respostas

1

No seu caso, talvez você consiga fugir com executando killall dhclient para eliminar todos os daemons do cliente DHCP em execução usando dhclient -r para parar com calma os daemons do cliente DHCP *. Normalmente não recomendaria isso, mas se modificar o sistema básico estiver fora de questão e você precisar confiar em scripts de inicialização, matar o (s) processo (s) do dhclient seria minha recomendação.

No entanto, se o pendrive USB não for persistente, ele ainda deve permitir a edição de arquivos no sistema ao vivo, mas as alterações não persistirão durante as reinicializações. Nesse caso, minha recomendação seria para ifdown a interface, ecoar o arquivo / etc / network / interfaces com as configurações apropriadas e, em seguida, ifup a interface no seu script. O benefício disso seria que, se a interface for reiniciada ou redefinida a qualquer momento, é mais provável que sua configuração personalizada permaneça, embora, de outra forma, não seja possível (embora admito que não testei esse tipo de situação, um pouco cauteloso).

* editar graças à sugestão de goldilocks nos comentários

    
por 15.07.2015 / 05:59
1

Basta executar ifdown eth0 antes de definir seu próprio endereço.

ifdown eth0
ifconfig eth0 inet <ipaddress>
route add default gw <gwaddress>
    
por 15.07.2015 / 04:46