Após a reinicialização da máquina, a interface de rede deve ser configurada.
Digite:
ifconfig
Deve-se obter algo como:
lo Link encap:Local Loopback inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU:3584 Metric:1 RX packets:302 errors:0 dropped:0 overruns:0 frame:0 TX packets:302 errors:0 dropped:0 overruns:0 carrier:0 coll:0 eth0 Link encap:Ethernet HWaddr 00:20:AF:EE:05:45 ------> inet addr:24.128.53.102 Bcast:24.128.53.255 Mask:255.255.254.0 UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 RX packets:24783 errors:1 dropped:1 overruns:0 frame:1 TX packets:11598 errors:0 dropped:0 overruns:0 carrier:0 coll:96 Interrupt:10 Base address:0x300
caso se tenha algum número normal no campo endereço inet, então a máquina estará configurada. Caso se obtenha um endereço igual a 0.0.0.0 não se desespere, trata-se de uma configuração temporária antes que o dhcpcd obtenha o endereço IP. Se mesmo alguns minutos após se visualizar somente o endereço 0.0.0.0 por favor verifique a seção DHCPcd (Resolução de Problemas).
DHCPcd é um servidor que seguirá sendo executado enquanto o computador estiver ligado. Mesmo três horas depois ele irá contatar o servidor DHCP e tentará renovar o endereço IP. Todas as mensagens serão registradas no arquivo do syslog (no Slackware em /var/adm/syslog, RedHat/Conectiva/OpenLinux em /var/log/syslog).
Um detalhe final. É necessário especificar os servidores de nomes. Há duas formas de fazê-lo. Pode-se solicitar ao provedor para informar os endereços do servidor de nomes e colocá-los no /etc/resolv.conf ou o DHCPcd obterá uma lista do servidores DHCP e construirá um resolv.conf em /etc/dhcpc. Decidi usar os arquivos gerados pelo DHCPcd da seguinte forma: servidor de nomes
Gere uma cópia de segurança do /etc/resolv.conf da seguinte forma:
mv /etc/resolv.conf /etc/resolv.conf.antifo
Caso o diretório /etc/dhcpc não exista, ele deve ser criado da seguinte forma:
mkdir /etc/dhcpc
Crie uma ligação de /etc/dhcpc/resolv.conf para /etc/resolv.conf, através do seguinte comando:
ln -s /etc/dhcpc/resolv.conf /etc/resolv.conf
Caso isso não funcione, pode-se tentar o seguinte (ajuste sugerido por com uma pequena correção de Henrik Stoerner).
O último passo é executado somente porque meu dhcpcd não cria o arquivo /etc/dhcpc/resolv.conf. Em /etc/sysconfig/network-scripts/ifup efetuei as seguintes mudanças (as quais são mudanças simples, mas funcionam):
elif [ "$BOOTPROTO" = dhcp -a "$ISALIAS" = no ]; then echo -n "Usando DHCP para ${DEVICE}... " /sbin/dhcpcd -c /etc/sysconfig/network-scripts/ifdhcpc-done ${DEVICE} echo "echo \$$ > /var/run/dhcp-wait-${DEVICE}.pid; exec sleep 30" | sh if [ -f /var/run/dhcp-wait-${DEVICE}.pid ]; then echo "falhou." exit 1
Foi mudada para:
elif [ "$BOOTPROTO" = dhcp -a "$ISALIAS" = no ]; then echo -n "Usando DHCP para ${DEVICE}... " /sbin/dhcpcd echo "echo \$$ > /var/run/dhcp-wait-${DEVICE}.pid; exec sleep 30" | sh if [ ! -f /var/run/dhcp-wait-${DEVICE}.pid ]; then ^^^^^^ echo "falhou." exit 1
Note o sinal de exclamação em
if [ ! -f /var/run/dhcp-wait-$DEVICE
.pid ];
Agora sente-se e aprecie o seu desempeno. :-).