Piter Punk's HomePage - Artigos
 
English version
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 [email protected]


Links Principal Artigos Piter Punk Dicas Programas
 
Powered by Slackware Linux - Written in VIm (the best one!) Last Update: 30 Oct 2004