Falha na activação de eth0
Criei uma máquina virtual com o Virtualbox (já na sua versão 3.0 > http://www.virtualbox.org/). Precisava de 2 placas de rede e portanto adicionei 2 placas de rede virtuais, sendo que a primeira delas estava configurada como Bridged com a placa de rede do computador e a segunda placa estava reservada para uma rede privada interna entre máquinas virtuais.
A seguir instalei o Linux Ubuntu Server 9.04. Por azar, durante a instalação falhou a activar as placas de rede (o router demorava a atribuir endereços por DHCP) e optei por resolver as coisas manualmente mais tarde, após a instalação.
Após instalação acedi ao sistema e configurei (à mão) o ficheiro /etc/network/interfaces:
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 10.0.0.1
…
Seguido dum
/etc/init.d/networking/restart
Estranhamente eth0 continuava sem ter um endereço IP e não tinha ligação à internet.
No processo de verificar diversos ficheiros de configuração, encontrei que o ficheiro /etc/resolv.conf (usada para indicar o servidor de nomes, entre outras coisas) não existia. Criei este ficheiro à mão para conter …
nameserver 192.168.1.1
Apesar disto e dum par de reboots a coisa continuava a não funcionar.
Após mais pesquisas e consultas ao ficheiro /etc/udev/rules.d/70-persistent-net.rules, apercebi-me que a primeir placa definida na máquina virtual, na realidade estava a ser identificada como eth1 (e não eth0). Portanto, eu estava a tentar dar um endereço estático à placa de rede Bridged e a tentar configurar a segunda placa (ligada à rede interna do VirtualBox) por DHCP.
A solução é extremamente simples: ou mudar as entradas em /etc/udev/rules.d/70-persistent-net.rules ou alterar as entradas em /etc/network/interfaces:
auto eth1
iface eth1 inet dhcp
auto eth0
iface eth0 inet static
address 10.0.0.1
…
Após esta mudança e a reiniciação do sistema de rede com /etc/networking/restart, já ficou tudo a funcionar!