O Caso do 386SX como roteador
Piter PUNK
Neste artigo iremos ensinar como transformar um 386SX com apenas 4MB de RAM em um roteador útil e funcional. É o linux (mais uma vez) salvando a pátria e dando uso a um computador considerado (por alguns) como inútil.
1. A máquina
- 386SX
- 4MB de RAM
- 110MB de HD
- Placa de rede NE2000 ISA
- Modem US-Robotics 33600 ISA
2. Instalação
O Linux utilizado foi o Slackware 7.1, poderia ser o 7.0 também. Em
geral, é melhor utilizar o kernel 2.0.x porém, o objetivo desse artigo
é escrever um firewall e existe muito mais documentação sobre o ipchains
(da série 2.2.x) do que sobre o ipfwadm (da série 2.0.x). Se você
souber usar o ipfwadm, instale o Slackware 3.3 ou 96, você terá um
desempenho melhor.
O primeiro passo da instalação, é retirar o HD do 386 e colocar em
outro computador mais possante, coloque-o como master da primária.
Insira o CD do Slackware e dê o boot pelo CD-ROM.
Não existe segredo aqui, eu particionei o meu HD assim:
/ /dev/hda1 102MB
swap /dev/hda2 8MB
e sobrou espaço no /. Como sobrou espaço, é mais inteligente fazer
assim:
/ /dev/hda1 90MB
/tmp /dev/hda2 12MB
swap /dev/hda3 8MB
Assim, você pode montar a partição / como read-only e desligar e ligar
o computador direto, sem a necessidade de um shutdown. Tenha em mente, que
os logs do sistema terão que ser desligados ou enviados para outra máquina,
já que nesta tudo opera em read-only. Se você prefere manter seus logs no
próprio roteador, utilize a particao / como rw (ou faca uma /var separada).
Depois do reparticionamento,
inicie o programa de instalação e siga as instruções normalmente.
Lembre-se de quando for formatar a partição, escolher 1024 bytes por
inode.
Instale as séries A e N no modo menu, para que você possa retirar tudo
aquilo que não for utilizar. Instale apenas o necessário para as funcões
de router e firewall. A minha instalação deu 67MB, mas nada impede
que a sua seja menor. Atenção! Não tente detectar a sua placa de rede,
lembre-se que no 386 será outra placa! Depois do Linux instalado,
reboote a máquina (mas não devolva o HD para o 386. não ainda).
3. Configuração
Agora, vamos configurar a máquina. Se você seguiu a minha dica de particionamento,
seu /etc/fstab deverá ficar assim:
/dev/hda1 / ext2 ro 1 1
/dev/hda2 /tmp ext2 defaults 1 1
/dev/hda3 swap swap defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
Se você não tem partições separadas para o /tmp e para o /, não coloque
o / como read-only, você terá problemas com isso.
Depois de editar o /etc/fstab, é importante editar o /etc/lilo.conf,
comente as linhas que dizem: prompt e timeout. Rode o lilo. Com estas
alterações você garante que o computador vai iniciar automaticamente.
Também deve ser editado /etc/rc.d/rc.S, em uma linha em que está escrito:
/sbin/mount -w -v -n -o remount /
Deve ficar:
/sbin/mount -r -v -n -o remount /
Isto é feito para que o sistema de arquivos / nao seja remontado como para escrita-leitura (assim a gente obriga a ficar apenas leitura).
Como a máquina em que vamos rodar possui pouquíssima memória, é necessário
diminuir ao máximo a quantidade gasta. Um dos métodos é deixando-a
com apenas um console virtual. Para fazer isso, edite o /etc/inittab,
onde você achar:
c1:12345:respawn:/sbin/agetty 38400 tty1 linux
c2:12345:respawn:/sbin/agetty 38400 tty2 linux
cn:12345:respawn:/sbin/agetty 38400 ttyn linux
Apague todas as linhas deixando apenas a primeira (c1). O próximo passo
é retirar os servidores desnecessários editando o /etc/rc.d/rc.inet2,
infelizmente, só você pode saber o que é e o que não é necessário
no seu computador.
Por último, edite o /etc/rc.d/rc.modules e comente as seguintes linhas:
if cat /proc/ksyms | grep "\[parport_pc\]" 1> /dev/null 2> /dev/null; then
echo "parport0 is built-in, not loading module" > /dev/null
else
if [ -r /lib/modules/`uname -r`/misc/parport_pc.o ]; then
# Generic setup example:
/sbin/modprobe parport_pc
# Hardware specific setup example (required for PLIP and better
# performance in general):
#/sbin/modprobe parport_pc io=0x378 irq=7
fi
fi
Comente ou apague todas elas... elas são responsáveis pelo carregamento
do módulo da porta paralela, só perda de memória. Também remova as
seguintes linhas:
if cat /proc/ksyms | grep "\[lp\]" 1> /dev/null 2> /dev/null ; then
echo "lp support built-in, not loading module" > /dev/null
else
if [ -r /lib/modules/`uname -r`/misc/lp.o ]; then
/sbin/modprobe lp
fi
fi
Ainda no rc.modules, você deve habilitar o suporte para a sua placa
de rede, eu descomentei a linha:
/sbin/modprobe ne io=0x300 irq=7
Certifique-se de que o ppp também está sendo carregado. E descomente
as linhas apropriadas sobre os módulos do ip masquerading...
/sbin/modprobe ip_masq_irc
/sbin/modprobe ip_masq_ftp
/sbin/modprobe ip_masq_user
Estes são os que eu uso, dependendo do que você utiliza na internet,
deve descomentar alguns dos outros módulos. Agora é só rodar o ppp-setup
e configurar o seu modem.
Por último, edite o /etc/rc.d/rc.local e insira as seguintes linhas:
/sbin/ipchains -A forward -j MASQ
ifconfig eth0 down
ppp-on
ifconfig eth0 up
Atenção! Isso apenas habilita o roteamento e o masquerading! Se você
quiser um firewall decente, leia os vários HOWTOs escritos sobre esse
assunto!
Devolva o HD para o 386 e ligue-o. Automaticamente ele vai entrar no
Linux e conectar na internet -:) Se você instalou o root como read-only,
pode desligar normalmente no power. Caso contrário CTRL+ALT+DEL para
desligar.
4. Conclusão
Agora você possui um roteador, e arranjou um (bom) uso para o seu velho 386, com o Linux é assim. Sempre existe algum uso para o seu computador. Esta é apenas a primeira parte de uma série de artigos sobre como ressuscitar micros antigos. Mande sugestões ou críticas para piterpk@terra.com.br
|