A segurança da Ethernet é configurada antes de continuar os scripts de inicialização

3

Existe uma maneira melhor de garantir que uma porta ethernet seja configurada antes de continuar com os scripts de inicialização? Quando o 802.3ad bonded ethernet é configurado no Ubuntu, leva algum tempo até que ele termine a negociação do protocolo e comece a passar pacotes, porque o script de rede apenas configura, mas não verifica se o tráfego está sendo passado. Como resultado, isso pode eliminar alguns dos outros scripts dependentes da rede, como o init para drbd. Agora, eu só tenho um loop que pinga o gateway em um script de inicialização, mas isso parece menos do que ideal:

GATEWAYIP=10.0.0.1
while ( ! ping -c 1 $GATEWAYIP  ); do
   echo gateway not up
done
    
por Pete Ashdown 27.06.2011 / 21:03

1 resposta

1

Este é um caso de uso bastante específico que você tem com o DRBD na linha após a rede. Como não tenho muita experiência em DRBD, não tenho certeza de quão rápido ele tentará estabelecer. Talvez você consiga simplesmente detectar quando o IP está vinculado à interface, em vez de esperar até que um ping responda (o que adiciona essa latência ao mix).

Talvez algo como:

#!/bin/bash
# Fetch Interface
BONDED_INTERFACE=$(cat /proc/net/dev | grep 'bon' | awk -F: '{print $1}')

# Determine Network Status
if [ "$BONDED_INTERFACE" ]; then
    BONDED_IP=$(/sbin/ifconfig ${BONDED_INTERFACE} | sed -n  -e '/Bcast/p' | cut -d : -f 2 | awk '{print $1}')
    while [ "${#BONDED_IP}" -le "0" ]; do
        echo "No IP Present on The Interface";
        BONDED_IP=$(/sbin/ifconfig ${BONDED_INTERFACE} | sed -n  -e '/Bcast/p' | cut -d : -f 2 | awk '{print $1}')
    done
    echo "The Interface IP is: $BONDED_IP";
else
    echo "No Bonded Interface Found";
fi

Suponho que, fora da depuração do script acima, faria mais sentido chamar um sono por um período de tempo, em vez de ecoá-lo.

Se isso ainda não é bem o que você quer, talvez haja algo a ser feito no NetworkManager ou talvez tentar detectar o estado do link (sentido da operadora). Espero que eu tenha ajudado.

    
por krondor 27.06.2011 / 22:38

Tags