terça-feira, junho 15, 2004

Frio contínuo


Um amigo meu disse que se lembra de um frio contínuo como a que está aqui em São Paulo quando criança. Como possui a mesma idade que a minha, foi na mesma época, mas não me recordo disso. Bom, ele contra argumentou dizendo que ele fazia aqueles costumeiros treinos de desfiles de 7 de setembro comuns daquela época de infância, eu também quase participei da que tinha na minha escola. Devia ser alguma obrigação legal, mas não tenho certeza disso, mera suposição de minha parte. Por ter participado disso que ele se lembra que houve um ano, sem dizer especificamente qual, onde o frio era contínuo como desse ano.
Espero que esse frio não dure até setembro. Não é por não gostar do frio que digo isso, eu vivi o inverno japonês quando estive lá onde conheci como é a neve. :) e o frio mais severo que esse. Mas penso na população de idosos e crianças, onde o frio os castiga com doenças e pior ainda para quem não tem agasalhos. Infelizmente vivemos em um país que requer anualmente Campanhas de Agasalho para pelo menos ajudar quem não pode comprar o seu, principalmente os andarilhos e moradores de rua.

terça-feira, junho 08, 2004

Linux como bridge



Alguns sabem do que falo, mas muitos outros não, irão imaginar o inglês como sendo algo ligado a 'ponte'. Bom é por aí mesmo. Já faz tempo que queira montar isso.

Cerca de dois meses atrás, montei um Pentium 166 como um micro para ficar 24h/dia baixando torrents e algumas coisas mais ( no momento fazendo mirror de um respositório de arquivos de MSX). Mas para isso, tive que abrir mão da conexão do 486 que está lá junto, não foi difícil porque poucas vezes eu o tenho usado para navegar tamanha lerdeza :-P. Eu pensei em comprar um hub furreca para isso, mas achei que seria desnecessário uma vez que o Linux podia fazer isso, mas eu não sabia como. Como não era urgente, não me preocupei em fazer na época.

Há cerca de duas semanas atrás fui para a Santa Ifigênia comprar alguns CDs junto com um amigo meu. Foi aquela primeira semana de frio aqui em São Paulo que perdura até hoje. Eu já estava quase sem dinheiro hehe, como costuma acontecer quando vou para lá e aproveitei para raspar minha carteira e comprar um cabo cross para ligar o 486 ao Pentium 166 e eles se comunicarem, 1 metro só, e tive que raspar até minhas moedas.
Chegando em casa testei o cabinho, fiquei tranquilo. Instalei uma segunda placa de rede no P166, mas nada do 486 se comunicar com ele. Deixei passar duas semanas para não ficar puto e acabar destruindo alguma coisa, mas deixei a placa lá dentro. Nem ping. Como esse micro está sem monitor, sem drive de disquete e o CDROM precisa ligar, eu não fiz teste algum com o utilitário da mardita NE2000.
Anteontem eu juntei um pouco de paciência e trouxe para testar aqui onde uso meu K6-2. Reparei que o utilitário indicava falha. Pensei que estivesse queimado, como tantas outras NE2000 que já tive, seria a 4a ou 5a queimada. Bom, como tinha uma outra placa idêntica guardada, eu resolvi testar. Resultado: mesmo erro. Bom, duas coisas: ambas placas queimadas ou conflito com o RTL8029 ( uma placa de rede PCI que já estava dentro ). Mudei IRQ, porta, etc, nada. Essa NE2000 não tem jumper, ela é jumperless ou plug&pray. Nada de nada de funcionar. Eu já havia testado no 486, que gerava uma falha de boot no OS/2 dela, bom, como funcionava no rWin95, pensei se tratar de algum problema de configuração. Dito e feito, mudei o arquivo de config de rede, funcionou, estavam duas placas de rede no 486, essa NE2000 de nome esl816 e uma outra e2000. Retirei o e2000 fora e deixei essa esl816 ( a problemática ) e instalei-o no Pentium166. E FUNCIONOU! :-)

Havia algumas semanas eu andava pesquisando pela internet de como fazer o Linux virar bridge e poder conectar o 486 nele. Alguns sites diziam para recompilar o kernel. Tentei isso, que dor-de-cabeça. Vários indicavam isso, mas o gozado que pareciam ser tudos copy-pastes iguais. Imaginei então que pudesse haver uma segunda alternativa. E quem diria, descobri como fazer isso nos próprios how-tos 'escondidos' que estão instalados no micro junto com o Linux. Mais fácil não tem como, foi só instalar o driver 'ne'( para o e2000) com modprobe e colocar uma referência no /etc/modules. Pronto, já bootava com eth1 ( a eth0 é a da RTL8029 que estava antes) não precisando mais usar 'modprobe ne' na linha de comando.
Eu já havia testado o scriptzinho ridículo de bridge abaixo que botei no /root:

#!/bin/sh
echo "Iniciando bridge..."
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1

ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
ifconfig br0 10.1.0.12

copy-paste de howtos de alguns sites que pensei que não funcionassem por causa da placa que não funcionava. Rodei ele, e funcionou!
Faltava tornar isso residente, eu li mais alguns howtos no HD e descobri que ao invés da solução acima via script ou no /etc/init.d/bootmisc.sh era só modificar o /etc/network/interfaces trocando algumas linhas existentes para o eth0 do original para o seguinte:

auto br0
iface br0 inet static
address 10.1.0.12
netmask 255.255.255.0
network 10.1.0.0
broadcast 10.1.0.255
gateway 10.1.0.254
bridge_ports eth0 eth1

e pronto! 486 conectado na internet via P166, muito bom! :))))
deixou o boot uns 30s mais lento porque parece que o sistema precisa fazer alguns mapeamentos, mas como não fico rebootando ele, nem me importei com isso. Um Linux fazendo bridge hehehe. E usando um único IP, diferente da solução ICS do Windows e de configurar o P166 como firewall, o que não é necessário neste caso.
Devo ser um dos poucos malucos que tem desde um Athlon 2GHz até um 486DX2-66. :PPP