domingo, 27 de abril de 2008

Problema Resolvido - 'MAC mudando sempre'

Um problema que enfrentei quando instalei o Ubuntu 8.04 em meu pc foi uma inconsistência com a placa de rede.
A internet que uso aqui é a cabo e a autenticação de minha conexão é feita na provedora através do endereço MAC da placa de rede, que é único.
Ao instalar o Ubuntu aqui a internet não funcionava e o provedor informava que a placa de rede não estava cadastrada. Mas no Windows eu acessava a net normalmente.
Bom, verifiquei então que a cada boot o MAC e o nome da placa (eth) eram alterados. O nome da placa era sempre incrementado, em um boot era eth0, no outro eth1, eth2 e assim por diante. Assim nunca dava pra acessar a internet.
Pesquisando um pouco encontrei uma maneira de corrigir isso com algumas alterações em arquivos de configurações. Descobri que o Ubuntu usa o gerenciador de dispositivos udev e tem um script (/etc/udev/rules.d/75-persistent-net-generator.rules) que verifica novas interfaces de rede e cria um novo nome para cada nova interface detectada. Estes nomes são escritos em /etc/udev/rules.d/70-persistent-net.rules e o arquivo contém um número de linhas semelhantes a esta:

# PCI device 0x10de:0x03ef (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="XX:XX:XX:XX:XX:XX", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

O item ATTR{address} se refere ao endereço MAC que muda a cada boot e o item NOME é o nome da interface que é incrementada sempre.

Solução:

Adicione esta linha ao arquivo /etc/udev/rules.d/70-persistent-net.rules (no console digite sudo gedit /etc/udev/rules.d/70-persistent-net.rules):

SUBSYSTEM=="net", DRIVERS=="forcedeth*", NAME="eth0"

e apague toda as outras linhas.


Pra fazer com que o endereço MAC não mude em cada boot basta uma configuração no arquivo /etc/network/interfaces. Edite-o assim:

Caso vc possua uma conexão de ip fixo faça:

auto eth0 static
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.3
hwaddress ether 00:e0:4c:12:34:56

Caso sua conexão seja configurada com DHCP (mais comum) configure assim:

auto eth0
iface eth0 inet dhcp
hwaddress ether 00:e0:4c:12:34:56

note que vc deve substituir os endereços IPs e MAC com seus valores específicos.

Um abraço a todos e espero que tenha sido útil esta dica.

2 comentários:

Anônimo disse...

Passei pelo mesmo problema e procurava uma socução há duas semanas. Valeu mesmo.

Anônimo disse...

CARA VALEU VC. MANJA PRA CARAMBA ATÉ OS TI TEM DIFICULDADES COM O UBUNTU PARABENS