Atraso após uma alteração do MAC

1

Estou escrevendo um script que mudará meu endereço MAC ethernet em uma rede local. Funcionará da seguinte forma:

  1. Inicialmente a eth0 será desativada
  2. O MAC será alterado usando o utilitário ifconfig
  3. eth0 será criado

#!/bin/sh
sleep 5
ifconfig eth0 down
sleep 10
ifconfig eth0 hw ether XX:XX:XX:XX:XX:XX
sleep 1
ifconfig eth0 up

Se eu executar o script acima, o MAC muda com sucesso, também o ícone de rede no painel mostra o status 'Conectando' e após alguns segundos a eth0 é conectada à rede novamente. Então eu adicionei algumas linhas para aumentar a funcionalidade do meu código -

/sbin/ifconfig eth0| grep 'inet addr:'
ifconfig eth0 | awk '/HWaddr/ {print $5}'
ping 192.168.1.107 -c 2

As linhas acima exibem o novo endereço IP, o endereço MAC e também envia uma solicitação de ping para confirmar que a rede está funcionando normalmente. Mas o problema que estou enfrentando é que depois de adicionar as linhas acima, eu recebo uma falha de ping, e também o ícone de rede no painel mostra o status 'Conectando'. Depois que o script é executado completamente, após alguns segundos , a eth0 é conectada completamente. (ping pode ser feito) Então eu tentei adicionar o sono 30 após a seguinte linha

ifconfig eth0 up

assumindo que isso consertaria o problema do ping. Mas ainda assim o ping (mencionado no script) falha e a rede leva algum tempo após a execução do script para estabelecer uma conexão completa.
Como devo corrigir esse problema?

    
por Backspace 18.06.2015 / 11:05

1 resposta

0

Qual distribuição você está usando? Basicamente, a alteração do endereço MAC deve ser feita antes de iniciar o NetworkManager. Possíveis opções são:

  • Instale uma regra personalizada do udev para eth0.
  • Escreva um script trabalhando com o seu sistema init (sysvinit, upstart, systemd, etc).
  • Utilize o recurso systemd.link do systemd.

Eu encontrei informações úteis no wiki do archlinux . Você também pode estar interessado em macchanger , que é comumente disponível em várias distribuições.

    
por 18.06.2015 / 11:47