Roteador 386

Linux in Brazil

Documentação original
e de qualidade
em bom português

O texto abaixo foi publicado no BR-Linux antes de 2005, e está mantido aqui por razões históricas. Veja o material atualizado diariamente do BR-Linux em http://br-linux.org
Dúvidas comuns | Perguntar no Fórum | Notícias | Mais documentos | Contato
 
Destaques de hoje:
  • Concurso do Serpro: edital para analistas e técnicos
  • Lançado o Linux 2.6.27
  • Stallman contra as nuvens
  • InFog: Foto do Tux no boot das urnas eletrônicas
  • O Caso do 386SX como roteador



    Piter PUNK

    1 A máquina

    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. 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.

    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