Existe uma maneira melhor de verificar e reiniciar automaticamente as interfaces de rede?

1

Eu tenho um servidor de mídia e PVR rodando o Ubuntu 16.04 que esporadicamente perde sua conectividade com fio (o IP deixa cair a saída do ifconfig; o ícone na área de trabalho indica que ele está conectado, mas não está). A interface é dhcp, mas é estaticamente atribuída a partir do roteador. Se eu não perceber que está em baixo por horas ou dias, sinto falta de gravar programas (o que entristece a mulher).

Depois de ler várias abordagens em todo o askubuntu e em outros lugares, minha solução seria simplesmente adicionar "ifup -a" ao cron.hourly. Há algum impacto no desempenho ou qualquer outro impacto disso? Existe uma maneira melhor ou "aprovada" de verificar e reiniciar as interfaces de rede automaticamente? Eu não sei por que cai em primeiro lugar - o fio permanece conectado e a máquina é conectada diretamente ao meu principal (não gerenciado) switch.

/ etc / network / interfaces:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
auto enp0s10
iface lo inet loopback
iface enp0s10 inet dhcp
    
por scottwmcgregor 23.09.2017 / 15:17

1 resposta

0

Uma solução seria verificar se a interface está em primeiro lugar e, em seguida, reinicie o serviço gerenciador de rede, se não estiver com um script como o seguinte. Isso verifica se um único ping

if ! ping -Q 1 -c 1 -t 60 google.com; then
echo warning: lost network connection >>/var/log/syslog
    service network-manager restart
fi

e inicie com o cron em qualquer período de tempo que você achar que seja suficiente.

Você pode querer aumentar o parâmetro -Q conforme discutido aqui se você não obtiver os resultados desejados, mas funcionou bem em 1 nos meus testes. você também pode ter que ajustar o parâmetro -t para se adequar ao seu ambiente.

Claro que você terá que configurar o cron job corretamente para que isso funcione.

Fontes:

link

man ping

Como configurar corretamente uma tarefa cron do cronograma

Teste.

    
por Elder Geek 23.09.2017 / 21:21