O Problema...Ter uma máquina dedicada à tarefa de servidor/router caseiro é muito bom e tal, mas quando a dita máquina é um Pentium 133 que demora mais de
5 minutos a arrancar, começa-se a pensar se realmente o ruído que produz e a electricidade que consome valerão a pena face aos benefícios...

Ora, há quase dois anos que eu tenho um
Linksys WRT54G (v2.2) aqui em casa a funcionar apenas como ponto de acesso...
O firmware original é para esquecer, não é grande coisa em termos de
leases DHCP estáticas e funcionalidade de DNS. Também cheguei a experimentar o firmware da
Sveasoft, mas desisti passadas poucas horas. Um servidor de DNS que depende das
leases DHCP para funcionar é simplesmente estúpido... Reiniciava o router e este não resolvia nomes até os clientes renovarem as
leases...
É claro, também podia ir pelo caminho do
OpenWRT, mas estes aparelhos não são máquinas Linux a sério e não adianta fingir que são. Se é para ser
appliance, então é mesmo para ser
appliance e é bom que tenha uma interface web decente e não me obrigue a andar a configurar tudo à mão. Sendo assim, ficava o
DD-WRT, mas sinceramente, não sei porquê mas não me inspira grande confiança...
A Solução...Andava eu mais uma vez a examinar o mercado para saber se as coisas tinham mudado alguma coisa quando me deparo com um firmware alternativo do qual nunca tinha ouvido falar, o
Tomato.

E não é que aquilo até tem bom aspecto? É relativamente minimalista mas tem tudo aquilo que me interessa, e até tem umas coisas engraçadas como
gráficos do tráfego em tempo real (SVG) e indicadores da potência do sinal para cada cliente sem fios activo. Tudo isto numa interface web toda AJAX e o camandro...
Oops...Está a trabalhar há pouco mais de uma semana, e deverá continuar. No entanto, passado pouco tempo dei com um problema altamente bizarro relacionado com o DHCP... Reparei que o Linux tinha dificuldade em obter endereço. Aliás... simplesmente não funcionava!
Uma pesquisa no Google só retorna um
post do autor do
dnsmasq a dizer que o problema está no cliente de DHCP (a desculpa do costume). Pois bem, toca de substituir o cliente do ISC (
dhclient) por outro (
udhcpc)... sem sucesso. Saem os pacotes DHCPDISCOVER, o router diz que está a enviar DHCPOFFERs, mas o
wireshark nada vê...
No meio de tudo isto os clientes Windows funcionam sem problemas...*
Twilight Zone...Depois de umas horas de volta disto, eis que reparo num pormenor... Logo após ligar o router, os clientes Linux funcionam perfeitamente, mas assim que o router acerta a data (por NTP), deixam de funcionar novamente. Para quem não sabe, estes aparelhos não memorizam o relógio interno, arrancam sempre com a data em
1 de Janeiro de 1970, 00:00.
Mais umas voltas e confirma-se o problema: se especificar um servidor NTP inexistente, não tenho quaisquer problemas com os clientes Linux!
Porque é que isto acontece... não faço a menor ideia... O que é certo é que me fartei de moer a cabeça com este problema até me cansar e fazer
reset das definições. Agora já está todo reconfigurado e não vejo qualquer problema há uns dias... Boa...
* Isto não é bem verdade, os clientes Windows também só conseguiam obter endereço depois de martelar no router umas quantas vezes, mas o que interessa é que funcionava, mais 10 segundos menos 10 segundos.