Archive

Posts Tagged ‘Server’

Falha na activação de eth0

July 5th, 2009 No comments

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!

Categories: Tecnologia Tags: , , , ,

Desventuras com BIND

July 2nd, 2009 No comments

Recentemente tive a necessidade de fazer uma instalação dum servidor de nomes (DNS) no Linux. Quando fiz os testes, fi-lo com o Linux Ubuntu 9.04 Server e aparentemente correu tudo bem. Quando fiz a instalação no sistema final encontrei-me com que este era a versão Desktop (e não Server) e algumas coisas acabaram por não funcionar como era devido.

Após uma instalação com o “apt-get bind9”, e as respectivas modificações aos ficheiros /etc/hostname, /etc/hosts, /etc/resolv.conf e outros ficheiros, o servidor parecia estar a funcionar bem e a conseguir resolver as consultas. Era possível executar o comando “/etc/init.d/bind9” com “stop” ou “restart”.

Após a criação de zonas e a modificação do ficheiro “/etc/bind/named.conf.local”, tal e como já tinha feito várias vezes nas versões Server, os comandos para parar e reiniciar deixaram de funcionar, com um erro como o seguinte:

root@svr:/etc/bind# /etc/init.d/bind9 stop
 * Stopping domain name service... bind9
rndc: connection to remote host closed
This may indicate that
* the remote server is using an older version of the command protocol,
* this host is not authorized to connect,
* the clocks are not syncronized, or
* the key is invalid.

[ OK ]

De notar que não tinha feito qualquer alteração ao ficheiro “rndc.key” nem a qualquer outra secção do ficheiro “named.conf” que justificasse este tipo de resposta.

Após muitas voltas e consultas no Google e nos fóruns do Ubuntu, claramente o problema estava com a aplicação “rndc” que não estava a conseguir comunicar com o demónio “named”.

Criei uma configuração com a aplicação “rndc-confgen” para me gerar um ficheiro de configuração “rndc.conf” (que não existia inicialmente) e a respectiva chave em “rndc.key”. A seguir incorporei a secção correspondente gerada pela utilidade em “named.conf.local”.

Isto não resolveu o problema, apesar de ter verificado linha a linha que estava tudo bem, que o endereço do servidor e porta estavam iguais e que as chaves utilizadas eram também iguais. Revi os erros mais óbvios indicados nos diferentes fóruns, mas nada.

Por fim, numa revelação (…) tirei a definição da chave dos ficheiros “rndc.conf” e do “named.conf.local” e passei a fazer uma inclusão, deixando a secção em cada um dos ficheiros mecionados como se segue:

#key "rndc-key" {
#	algorithm hmac-md5;
#	secret "9pUTFohn4ic6msA2FskdQQ==";
#};

include "/etc/bind/rndc.key";

Não dá para perceber porque, mas após esta alteração tudo voltou a funcionar. O conteúdo do ficheiro “rndc.key” era igual ao conteúdo inserido directamente nos ficheiros.

Fica aqui este artigo que serve para mim e espero sirva para outros que se encontrem com o mesmo problema.