3. Sala de Informática

Critérios usados na montagem da sala:

  1. Reaproveitamento de Computadores e periféricos usados (doações)

  2. Uso de Software Livre (Ex: Linux, GIMP, Audacity etc)

Figura 2. Algumas etapas da montagem da sala

3.1. 08/05/2011 - Montagem do servidor.

A primeira dificuldade foi identificar o modelo correto da placa mãe para baixar o manual do site do fabricante.

Figura 3. Placa Abit KV7

O esquema de jumper da placa indicava "Socket 462".

Figura 4. Diagrama dos Jumpers da Placa Abit KV7

Com a informação sobre o modelo do socket encontrei o manual no site da ABIT. Mas também deixei uma cópia para download aqui.

Liguei a máquina e vi na tela de inicialização a mensagem:

CPU is unworkable or has been changed. Please recheck - CPU SOFT MENU

Liguei e entrei no SETUP mas na opção SoftMenu não sabia qual o modelo do processador instalado. Então reiniciei a máquina e dei um PouseBreak no teclado para tentar obter mais informações.

Na tela inicial pude ver:


Main Processor : AMD Athlon(tm) XP 1238 MHz 

Tive que remover o cooler para tentar identificar o modelo do processador.

Figura 5. Processador AMD AXDA2800DKV4D

Com essa informação encontrei no link www.amdboard.com/amdid.html as seguintes informações:


AXDA 2800 D K V 4 D
AXDA Processor Core Architecture: AMD Athlon XP processor
                                  with Quantispeed architecture
2800 Model Num:  2800+ operating at 2.083 GHz
D Package Type:  Organic Pin Grid Array (OPGA)
K Operating Voltage: 1.65 V
V Max Die Temperature: 85ºC
4 Size of L2 Cache: 512 Kbytes
D System-Bus: 333 MHz

Então pude selecionar o modelo correto do processador (2800) no SoftMenu do SETUP e a mensagem

CPU is unworkable or has been changed. Please recheck - CPU SOFT MENU

não apareceu mais! :-)

Estou planejando usar esta máquina como um servidor então vou tentar otimizar os recursos na medida do possível. Uma das primeiras providências que eu tomei foi verificar as possibilidades de atualização da BIOS.

A atualização da BIOS é uma medida preventiva para evitar eventuais limitações futuras. Por exemplo, me lembro de ter atualizado a BIOS de um velho AMD 400 para que o mesmos pudesse reconhecer HDs de maior capacidade.

Segui as instruções do tutorial disponível no site da ABIT.

A primeira etapa foi identificar o modelo e a versão da Placa Mãe:

KV7 V1.0

Em seguida o ID da BIOS através da tela de inicialização:

Part. Number: 6A6LYA1GC - ID BIOS 13

Apanhei um pouco até localizar o modelo da placa mãe (Socket A) no link. Baixei o arquivo kv720.exe e rodei em uma máquina com Windows 98. :-(

A última versão já estava no n. 20 enquanto a BIOS instalada ainda era o n. 13. Algumas informações adicionais sobre a placa KV7 com o processador AMD Sempron 462 estão disponíveis na página.

Apenas alguns comentários sobre o uso do Windows 98!

Os programas de atualização da BIOS (flash) disponibilizados pelos fabricantes rodam em DOS e isso dificulta a vida dos usuários de Linux. Uma alternativa é usar o FreeDOS no Linux ou usar uma máquina Windows.

Achei mais seguro instalar o Windows 98 em uma máquina antiga com um CD do Windows 98 SE que estava esquecido na gaveta!

Baixei o arquivo da BIOS e copiei para um disquete e rodei o kv720.exe no Windows 98, o qual descompactou os seguintes arquivos: ABITFAE.BAT, awdflash.exe, KV7_20.TXT, RUNME.BAT e KV7_20.BIN no diretório kv720.

Criei um disquete de boot no Windows 98 e copiei os arquivos descompactados para este disquete. Na máquina onde iria fazer a atualização, configurei a BIOS para boot pelo disquete, rodei o arquivo runme conforme as orientações do site da ABIT e cruzei os dedos (tomei o cuidado de usar um nobreak em caso de queda de energia).

E finalmente pude ver a mensagem:

Flashing Complete - Remove Floppy diskette e hit F1 to continue

Figura 6. Tela do programa de atualização da BIOS

Ouvi um beep estranho que me gelou a espinha :-0, mas ao religar pude ver na tela inicial a nova versão da BIOS! :-)

E para quem quiser se aprofundar no assunto consulte o excelente tutorial disponível no site: www.hardware.com.

3.2. Inventário das máquinas

Nessa altura comecei a pensar nas próximas etapas.

Soube que havia sido liberada a última versão estável do Debian, Squeeze, e pensei em instalar esta última versão no servidor, para em seguida instalar e configurar o LTSP.

Mais tarde falaremos com mais detalhes sobre o projeto LTSP, mas por enquanto pode-se ver abaixo um diagrama esquemático de uma rede usando um servidor rodando o sistema LTSP.

Figura 7. Diagrama esquemático do uso do LTSP

Mas agora vamos providenciar um levantamento do hardware atualmente disponível e montar um inventário.

Mas antes vou deixar explicado os procedimentos para instalar o wvdial para poder acessar a Internet 3G nas máquinas onde eu já havia instalado o Debian (Lenny).

3.2.1. Instalação do WVDIAL.

Já tinha instalado o Debian (Lenny) em algumas máquinas e por isso resolvi usar o programa lshw para obter informações sobre o hardware instalado.

No entanto resolvi habilitar o acesso à Internet no PC00 através do modem Huawei E156B para instalar outros pacotes quando necessário.

O primeiro pacote a ser instalado é o wvdial, um discador inteligente que tem sido muito útil para acesso à Internet com modems 3G.

No site do busca de pacotes do Debian pesquisei pelo wvdial para a versão "oldstable" já que o Lenny já não é mais a versão "stable".

Na página do wvdial para o Lenny verificamos a lista de dependências para o wvdial.

Baixei apenas o pacote do wvdial para a plataforma i386 e no mesmo diretório onde está o pacote fiz a instalação com o comando:


bash#dpkg -i wvdial_1.60.1+nmu2_i386.deb
Selecionando pacote previamente não selecionado wvdial.
(Lendo banco de dados ... 91138 arquivos e diretórios atualmente instalados).
Desempacotando wvdial (de wvdial_1.60.1+nmu2_i386.deb) ...
dpkg: problemas de dependência impedem a configuração de wvdial:
 wvdial depende de ppp (>= 2.3.0); porém:
  Pacote ppp não está instalado.
 wvdial depende de libuniconf4.4; porém:
  Pacote libuniconf4.4 não está instalado.
 wvdial depende de libwvstreams4.4-base; porém:
  Pacote libwvstreams4.4-base não está instalado.
 wvdial depende de libwvstreams4.4-extras; porém:
  Pacote libwvstreams4.4-extras não está instalado.
 wvdial depende de libxplc0.3.13; porém:
  Pacote libxplc0.3.13 não está instalado.
dpkg: erro processando wvdial (--install):
 problemas de dependência - deixando desconfigurado
Processando gatilhos para man-db ...
Erros foram encontrados durante o processamento de:
 wvdial

Como eu já esperava, ele reclama da falta dos seguintes pacotes:

  • ppp (>= 2.3.0)

  • libuniconf4.4

  • libwvstreams4.4-base

  • libwvstreams4.4-extras

  • libxplc0.3.13

Ainda precisei baixar o pacote libpcap0.8 (dependência) do pacote ppp e só então pude instalar o wvdial. Existe uma sequência de instalação mas você vai descobrir prestando atenção nos pacotes que o instalador pede.

Finalmente copiei o arquivo wvdial.conf para a pasta /etc.

Conteúdo do arquivo wvdial.conf para acesso pela VIVO:


[Dialer vivo]
Modem = /dev/ttyUSB0
Baud = 921600
DialCommand = ATDT
Check Def Route = on
FlowControl = Hardware(CRTSCTS)
Username = vivo
Password = vivo
Phone = *99#
Stupid mode = 1
Auto Reconnect = on
Auto DNS = on
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Init3 = AT+CGDCONT=1,"IP","zap.vivo.com.br"
ISDN = 0
Modem Type = Analog Modem
New PPPD = yes

Conectei o modem Huawei E156B na porta USB e pude conectar com o comando wvdial vivo mas não navegava.

Depois de quebrar a cabeça procurando resolver o problema, bastou reiniciar a máquina pra poder navegar. :^)

Atenção

Cuidado ao colocar um dispositivo USB (pendrives, modems etc) em máquinas antigas!

Eu já tive a desagradável experiência de queimar um pendrive ao colocar um uma máquina que estava com sobrevoltagem na porta USB. :^(

Posteriormente eu vi uma mensagem na inicialização do sistema sobre problemas de voltagem na porta USB. Mas já era tarde! :^(

3.2.2. Inventário

Tabela 1. Inventário das máquinas disponíveis.

PCPlaca Mãe[a].Processador[b].Memória [c].HD [d]Vídeo[e]Rede[f]Audio[g]Sist. Op.Endereço IP
PC00 (Configuração Inicial)[h]ABIT KV7 - ManualAMD Atlhon XP 2800+ (2104 MHz)515 MB80 GBnVidia NV34 [GeForce FX 5200]VIA VT6102 [Rhine-II]VIA VT8233/A/8235/8237 AC97Debian 5.0 Lenny 
PC00 (após upgrade)ECS Elitegroup 848P-A (v 1.0) - ManualPentium 4 (3GHz HT)2GB de memória DDRHD SATA Seagate Barracuda 7200.11 com 160GBnVidia NV34 [GeForce FX 5200]Realtek RTL-8139/8139C/8139C+Intel 82801EB/ER (ICH5/ICH5R) AC'97Debian 6.0 (Squeeze) 
PC01Fabricante não identificadoAMD Atlhon (1095 MHz)117988 kB20,4 GBSIS 630/730 (Onboard)SiS SiS900 PCI Fast Ethernet (Onboard)SiS PCI Audio Accelerator (rev 02) (Onboard)Debian Lenny 
PC01 (Após upgrade)ASUS (K8N-E)ManualAMD Athlon 64 Processor 3000+ (2009 MHz) 512 MB80 GBnVidia NV11 [GeForce2 MX/MX 400]nVidia CK8S (Onboard)nVidia nForce3 250Gb AC'97Debian 6.0 (Squeeze) 
PC02ASUS P5A-B (REV 1.XX) - ManualAMD-K6 3D (400.883 MHz)191588 kB10.0 GB e 8.4 GBS3 VIRGE/GX2Realtek RTL-8139/8139C/8139C+Sound Blaster 16 (VIBRA)Debian Lenny 
PC03M755 (PCCHIPS) - ManualPentium III (Coppermine) (400.917 MHz)240748 kB20.0 GBSIS 630/730 (Onboard)SiS SiS900 PCI Fast Ethernet (Onboard)SiS PCI Audio Accelerator (rev 02) (Onboard)Windows 98 
PC04M598LMR (PCCHIPS) - ManualAMD-K6(tm) 3D (150.142 MHz) 54300 kBsem HDSIS 530/620 (Onboard)3Com 3c905C-TX/TX-M [Tornado] (Ofboard)C-Media Electronics CM8738 (rev 10)Sem HD 
PC05VXPro+- USB-Ultr // VIA Apollo VPX (PCCHIPS) - ManualPentium MMX (133.123 MHz) 49152 kBsem HDTrident TGUI 9660/938x/968x3Com 3c905B 100BaseTX [Cyclone] (Ofboard)Crystal CSC4236Sem HD 
PC06TXProII - M571 (PCCHIPS) - ManualPentium MMX (200.456 MHz) 29040 kBsem HDSIS 5597/5598/6326Realtek RTL-8139/8139C/8139C+CMI 8330Sem HD 
PC07M571 (PCCHIPS) - ManualAMD-K6(tm) (233.865 MHz) 29040 kB 4,3 GBSIS 5597/5598/6326Realtek RTL-8139/8139C/8139C+CMI 8330Slackware 9.1.0 
PC08M755 (PCCHIPS) - ManualSem Processador 111088 kBSem HDSIS 630/730 (Onboard)Realtek RTL-8139/8139C/8139C+SiS PCI Audio Accelerator (rev 02) (Onboard)Sem HD 
PC09M748LMRT (PCCHIPS) - ManualCeleron (Mendocino) (400.903 MHz) 184020 kBSem HDSIS 530/620 (Onboard)Não identificadoC-Media Electronics CM8738 (rev 10)  
PC10~M919 e ~DX-9500 (PCCHIPS) - ManualAMD (133 MHz) 32384 kBSem HDTrident TGUISem redeNão identificadaSem HD 
PC11EXP4044 - Manual80486DX2 (66 MHz) 8192 kB325 MBCirrus LogicSem redeSem somDOS/Windows 3.1 
PC12Intel Triton-FX (FUGU) - ManualPentium-S (100 MHz) 7000 kBSem HDTrident Blade 3DSem redeNão identificadosem HD 
PC13i430VX- ManualPentium-S (166 MHz) 32768kB?Trident Microsystems TGUI 9660/938x/968xRealtek Semiconductor - RTL-8029sem Audiosem sistema 
PC14SY-K7VTA PRO ManualAMD Athlon XP 1600+ (1399 MHz) 514.684 kB80 GB da Samsung (SP0802N)ATI 3D RAGE IIC AGPRealtek RTL 8139DVIA VT82C686 AC97Debian 6.0 (Squeeze) 
PC15 (Configuração Inicial)ASUS (K8N-E)ManualAMD Athlon 64 Processor 3000+ (2009 MHz) 2,6GB80GBnVidia NV34 [GeForce FX 5200]Realtek RTL-8139/8139C/8139C+nVidia nForce3 250Gb AC'97Debian 4.0 (Etch) 
PC15 (Após Upgrade)ABIT IS-10ManualIntel Pentium 4 (2.4GHz)2 GB250 GBnVidia NV34 [GeForce FX 5200]Realtek RTL-8139/8139C/8139C+nVidia nForce3 250Gb AC'97Debian 6.0 (Squeeze)192.168.0.1
PC16Gigabyte GA-8S661FXM-775ManualIntel Pentium 4 (3GHz) 2 GB80 GBnVidia NV34 [GeForce FX 5200]SIS 900 (rev 90)SIS AC'97 (rev a0)Debian 6.0 (Squeeze) 
PC17Asus K8NManualAMD Athlon 64 Processor 3000+ (2009 MHz)514 MB80 GBnVidia NV34 [GeForce FX 5200]nVidia CK8S (Onboard)nVidia nForce3 250Gb AC'97Debian 6.0 (Squeeze)192.168.0.2
Notas:
a. Informação obtida com o comando dmidecode | grep "Base Board" -A 13 ou com o programa CTBIOS ou CTDMI
b. Informação obtida com o comando cat /proc/cpuinfo
c. Informação obtida com o comando cat /proc/meminfo ou free
d. Informação obtida com o comando fdisk -l.
e. Informação obtida com o comando lspci.
f. Informação obtida com o comando lspci.
g. Informação obtida com o comando lspci.
h. Servidor - Máquina que vamos selecionar para instalar o sistema LTSP.

Tentei ligar a segunda máquina, PC01, na qual eu já havia instalado o Debian Lenny, mas não inicializou. A máquina havia ficado desligada por alguns meses e resolvi fazer uns testes retirando a recolocando os pentes de memória, cabos flat e placa de rede, e finalmente ela inicializou. No entanto percebi que a máquina se mostrava muito instável, às vezes ligava, às vezes não ligava.

Além disso havia um zumbido incômodo, parecia um enxame de abelhas dentro do gabinete. Achei que era a fonte mas depois de ligar e desligar os diferentes componentes, percebi que o problema era no HD.

Vou continuar o levantamento das máquinas disponíveis e depois vou verificar as possibilidades de troca do HD.

O PC02 não inicializou na primeira tentativa mas após retirar e recolocar os pentes de memória, cabos flat e placas ela inicializou. Observei na mensagem de inicialização (para visualizar as mensagens da inicialização use o comando dmesg) mensagens sobre a incompatibilidade do driver da placa de rede:


... This (id 10ec:8139 rev 10) is not an 8139C+ compatible chip
... Try the "8139too" driver instead

Nesse momento não parei para estudar o problema, mas posteriormente vou voltar a esse assunto, se a placa de rede não funcionar.

Um dos HDs do PC02 está fazendo barulho, porém menos que o HD do PC01.

Para o PC03 usei um CD com o(a) Dizinha para avaliar os recursos da máquina. Esta distribuição tem sido muito útil no meu trabalho com máquinas antigas.

Ao montar a tabela percebi que os circuitos de vídeo, rede e audio do PC01 e PC03 são os mesmos, mas as placas mãe são diferentes, pelo menos na aparência!

O PC04 estava sendo usado em uma rede LTSP e por isso não precisava de HD, no entanto apresentava um problema chato de repetição dos caracteres quando em uso na rede LTSP.

Como não tinha HD, usei o(a) Dizinha mas como não tinha disponível o comando dmidecode resolvi usar o programa CTBIOS.

Para facilitar, deixei uma cópia do arquivo zipado aqui. Para usar basta descompactar e copiar os arquivos para um disquete de boot com o DOS criado conforme descrito anteriormente.

E para facilitar a vida dos usuários de Linux, resolvi criar uma imagem iso do disquete de boot DOS com o programa CTBIOS (e CTDMI) e o programa que usei para atualizar a bios da placa ABIT KV7(PC00), conforme descrito anteriormente.

Para copiar esta imagem iso para um disquete (no Linux) basta copiar a imagem iso para um diretório, colocar um disquete formatado no drive e digitar o comando: (Fonte: Como criar imagens iso de disquetes no Linux

Mas antes formatar o disquete com o comando:

bash# fdformat /dev/fd0

E em seguida copiar a imagem para o disquete:


bash#  cat bootdos.img > /dev/fd0

Atenção

Não se esqueça que disquetes e drives de disquete são tecnologias antigas, portanto esteja preparado para erros de entrada/saída. Eu mesmo tive que fazer umas 3 tentativas até conseguir gravar a imagem iso. E depois de algum tempo de uso o disquete começa a apresentar erros. :^(

Mas uma dica que pode ajudar a recuperar alguns disquetes é usar um "Disquete de Limpeza" que possui um feltro que ajuda a remover poeira do leitor. Em alguns casos isso resolve o problema. :^( (Dica do nosso amigo Marcelo!)

O PC06 tinha um HD instalado mas ao ligar começou a fazer muito barulho e por isso resolvi desconectar e considerar sem HD. Esta máquina ficou muito tempo em uma rede LTSP e portanto o HD não era usado.

Ao rodar o programa CTBIOS (e CTDMI) no PC07 observei que o mesmo identificou o modelo da placa mão como M571 apesar de fisicamente ser identica à placa do PC06.

Ainda com respeito ao PC07, percebi que havia uma antiga instalação do Slackware cuja senha eu não me lembrava mais. Então usei a dica disponível no link:


LILO: linux init=/bin/bash

Quando aparecer o prompt digitar:

# mount -o remount,rw / 

Em seguida rodar o comando passwd para gerar nova senha de root. E para criar novas senhas para os usuários basta rodar passwd nome_usuario.

Tentei desligar com os comandos halt ou reboot mas não funcionou, então executei o comando:

#umount /

Mas o site recomenda:

# mount -o remount,ro /

Para finalmente poder resetar a máquina com segurança.

O PC08 não inicializou mesmo depois de mexer nos cabos e placas. Após pensar um pouco retirei o processador e vi que se tratava de um Pentium III, então consultei a tabela e percebi que o PC03 usava este mesmo processador. Após a troca do processador o PC08 funcionou perfeitamente confirmando que o problema era do processador.

Temos uma outra máquina com placa da Intel, com processador Celeron 333 MHz, que apresentou problemas de voltagem na porta USB e na placa de vídeo, por isso estou pensando em aproveitar este processador para o PC08.

Não encontrei o manual da placa do PC09 (M748LMRT) no site da PCCHIPS mas felizmente uma alma bondosa deixou uma cópia no www.4shared.com.

Com o PC10 tive dificuldades para obter informações. O programa CTDMI não mostrou qualquer informação e o CTBIOS mostrava apenas que era placa da PCCHIPS com chipset 486AVIP.

Não encontrei manual para a placa do PC10 mas usando o código da BIOS pude encontrar algumas informações de placas muito parecidas, m919 ver:1 e DX-9500.

Ele não oferecia boot pelo CD e portanto não pude rodar o Dizinha para obter mais informações. No entanto, tive notícias, nesta semana, de uma minidistribuição chamada Tiny core Linux, para a qual eu pretendo dedicar algum tempo para conhecer melhor, além do Damn Small Linux - DSL.

Não conseguia encontrar memórias SIMM/72 suficientes para os 4 soquetes do PC10, então comecei a procurar alternativas e percebi que o PC06 possuia 4 módulos SIMM/72 completando 29040 kB e sois soquetes livres para memória DIMM/168.

Procurando na sucata encontrei um pente PC100 de 32MB (DIMM/168) e encontrei informações que essa memória precisa de alimentação de 3,3V. Esse ajuste foi feito pelo jumper JP4 conforme as informações do manual da placa mãe.

Troquei os 4 pentes SIMM/72 do PC06, coloquei um pente PC100 de 32MB (DIMM/168) e ajustei o jumper JP4 para 3,3 V. Liguei o micro e aparentemente tudo funcionou direitinho. :^)

Pretendo rodar, mais tarde o programa memtest para verificar a integridade das memórias.

Moral da história, quando houver possibilidade de escolha, usar os soquetes de memória mais modernos, deixando os pentes mais antigos para os "dinossauros".

Fiquei surpreso ao ligar o PC11 e descobrir que se tratava de um velho 486 com um HD de 325 MB com DOS e Windows 3.1 instalado!

Fiz algumas tentativas de aumentar a memória com os pentes disponíveis na sucata mas não consegui encontrar uma combinação que funcionasse.

Com o PC12 apenas troquei o cooler do processador, não consegui obter mais informações pois a placa é antiga e não dá boot pelo CD. Nos links Bios sem boot pelo CDROM encontrei informações sobre o programaSmart Boot Manager que permitiu dar boot pelo CD.

Apenas baixei o arquivo sbootmgr.dsk, coloquei um disquete no drive e usei o comando dd para copiar o arquivo para o disquete e o comando cmp para verificar se não houve erros durante a cópia:


#:  dd if=sbootmgr.dsk of=/dev/fd0
#:  cmp sbootmgr.dsk /dev/fd0 

Tentamos localizar pentes de memória mas não conseguimos mais do que 7 MB, por isso vamos deixar esta máquina para aproveitar alguns componentes.

O programa CTBIOS não mostrava muitas informações da placa mãe do PC13, e usando o código da BIOS exibido na inicialização, "03/03/97-i430VX-02071997C-00" encontrei o manual da placa M530, parecida mas não idêntica.

A inicialização do PC13 exibia a mensagem:


CMOS checksum error - Defaults loaded
CMOS battery failed

Procuramos por uma bateria da bios na placa mãe e depois de pesquisar na Internet descobri o artigo: Trocando a Bateria da Bios (Gabriel Torres), que esse modelo de placa usa uma bateria NVRAM que consiste em uma pequena caixa preta contendo um circuito de clock e uma pequena bateria de lítio. Por isso apenas atualizei o relógio e pressionei "F1" para continuar.

3.3. 08/01/2012 - Fonte Corsair CX430 e Live CD

Após cadastrar o PC15 e verificar a quantidade de memória instalada, comecei a pensar na idéia de instalar o LTSP nesta máquina. E após algumas pesquisas decidi que seria mais seguro instalar o Lenny para poder contar com o maior número de tutoriais disponíveis na Internet.

Selecionei um HD SATA Seagate Barracuda 7200.11 com 160GB para aproveitar os conectores SATA da placa ASUS K8N-E instalada nesta máquina.

Mas só na hora de instalar o HD percebi que a fonte não tinha conectores de alimentação SATA. :^(

Depois de pesquisar de fontes no BoaDica comprei uma fonte Corsair CX430 (430W). E só mais tarde, para minha satisfação, encontrei uma avaliação muito positiva para esta fonte no site do Gabriel Torres: Teste da Fonte de Alimentação Corsair CX430.

Liguei o micro e verifiquei no SETUP que o HD SATA tinha sido reconhecido mas fiquei na dúvida sobre habilitar ou não a opção "32Bit Data Transfer".

3.3.1. Live CD - http://live.debian.net/

Do site http://cdimage.debian.org/cdimage/release/current-live/ baixei o Live CD do Debian 6.0 (Squeeze) (debian-live-6.0.3-i386-gnome-desktop.iso).

Gravei a imagem ISO em um DVD com o programa K3B e dei boot no PC15.

No início correu tudo bem mas quando tentei fazer a instalação percebi que após alguns minutos de uso o sistema "congelava" o teclado e mouse e a única alternativa era desligar a máquina no botão ligar/desligar.

Troquei o leitor de DVD mas não adiantou, então pensei que pudesse ser problema no DVD e testei com um CD do NetInstall do Squeeze mas no meio da instalação o sistema também travava. Limpei os contatos dos pentes de memória com uma borracha, retirei e recoloquei a placa de vídeo mas também não resolveu.

Resolvi voltar a atenção para o PC00 e deixar para outra hora a investigação da causa dos travamentos no PC15.

Transferi a nova fonte Corsair CX430 para o PC00 liguei e carreguei o Lenny que já estava instalado nesta máquina e tudo funcionou sem problemas.

Transferi o HD SATA Seagate Barracuda 7200.11 com 160GB para esta máquina mas observei que esta máquina também apresentou problemas de travamento. O teclado e mouse ficam travados e não conseguia fazer nada.

Para desligar tinha que usar o botão ligar/desligar! :^(

O PC00 funcionava sem problemas com o Lenny até a instalação da fonte Corsair CX430.

Percebi que os intervalos entre o boot e o travamento iam diminuindo até o ponto de travar no Setup.

Mas além disso, percebi que o Setup do PC00 não mostrava a detecção da interface SATA e portanto eu não tinha condições de instalar o HD SATA.

Já era domingo à noite, estava cansado e no dia seguinte decidi levar a fonte na loja para pedir a troca mas, como eu já imaginava, o vendedor não aceitou as minhas informações e levou a fonte para testes, sem a minha presença! E depois de alguns dias apenas informou que não encontrou problemas e portanto não aceitaria devolução nem troca.

Não tinha condições de levar as máquinas para a loja para mostrar os problemas, então a minha única opção foi aceitar a fonte de volta.

Como a placa mãe do PC00 não detectava a interface SATA resolvi comprar uma outra placa mãe para poder instalar o HD SATA e pesquisei no BoaDica pelos modelos mais baratos de placa mãe com interface SATA, suporte para memórias DDR e manual disponível na Internet.

Escolhi a placa ECS Elitegroup 848P-A (v 1.0) para Pentium 4, que já está fora de linha, mas foi a mais barata que encontrei.

Comprei também um Pentium 4 (3GHz HT) por R$30,00 (mais R$15,00 do cooler) e dois pentes de memória DDR 400 com 1G da Samsung (R$35,00 cada).

Dica

Fico impressionado com a curva de preço desses processadores. Enquanto um Pentium 4 com 3GHz HT pode ser comprado por R$30,00, um Core i7 3960X Extreme Edition Box está na faixa de R$2500,00 a R$3000,00!

Resolvi, por segurança comprar uma outra fonte Real e usei um programa para calcular a potência mínima necessária no site http://educations.newegg.com/tool/psucalc/index.html. Com essas informações escolhi uma Cooler Master de 350W, seguindo algumas informações favoráveis sobre essa marca e o preço (quase metado do preço de uma Corsair!).

3.4. 20/01/2012 - Upgrade do PC00

Pude aproveitar um final de semana prolongado para providenciar o upgrade do PC00 instalando a a placa ECS Elitegroup 848P-A (v 1.0) com um Pentium 4 (3GHz HT), 2GB de memória DDR e um HD SATA Seagate Barracuda 7200.11 com 160GB.

Resolvi usar um cabo flat de 80 vias para o DVD conforme as informações disponíveis no fórum: http://forum.clubedohardware.com.br/cabo-flat-40/263853.

Habilitei na BIOS o reconhecimento do HD SATA seguindo as opções: Integrated Peripherals -> OnChip IDE Device -> SATA Mode (IDE) -> On-chip Serial ATA (Enabled).

Rodei o memtest para verificar a integridade das memórias e o teste padrão não identificou erros. :^)

Dei uma olhada no tutorial sobre HD SATA no tutorial Tudo o Que Você Precisa Saber Sobre o Serial ATA do Gabriel Torres e Cássio Lima, para entender um pouco mais as características dessa tecnologia.

Descobri que existem os padrões SATA I (150 MB/s) e SATA II (300 MB/s) e que algumas placas não suportam a velocidade SATA II e a velocidade do clock deve ser limitada manualmente para 150 Mb/s por meio de um jumper. Por exemplo o HD Seagate Barracuda 7200.10 160 GB vem com um jumper limitando o desempenho do disco em 150 MB/s (1,5 Gbps), e por precaução acabei usando esse jumper porque a placa mãe suporta o padrão SATA I.

Habilitei o S.M.A.R.T. para monitorar eventuais falhas futuras do HD com o programa smartmontools. (Fonte: Monitorando a saúde do HD com o SMART)

Dei o boot com o Live CD do Debian 6.0 (Squeeze) e iniciei a instalação clicando no ícone "Debian Installer" no desktop.

Para planejar o particionamento do HD, verifiquei que no repositório do Debian Squeeze existem 7 DVDs de 4,4GB, 1 DVD de 544 MB e dois DVDs de atualização com 5,5GB, totalizando 36,8 GB. Por isso criei uma partição raiz (/) com 37 GB para todos os pacotes do Debian Squeeze, 2 GB para swap e o restante para /home.

A instalação estava indo bem mas na hora de instalar o GRUB aparecia uma mensagem de erro! :^(

Quebrei a cabeça para tentar instalar o GRUB posteriormente mas não consegui.

Tentei montar a partição onde tinha sido instalado o sistema e rodar o programa grub-install mas aparecia a mensagem "command not found".

fdisk -l mount /dev/sda1 /mnt chroot /mnt grub-install --recheck /dev/sda

Também tentei bootar com o CD do netinst e na opção Advance Options -> Reconhecer o disco -> Abrir uma shell, rodar os comandos acima, mas não localizava o comando grub-install.

Percebi que havia algum problema com o Live CD pois o comando dmesg exibia muitas mensagens de erro. Não sabia se era problema do DVD, do leitor, do cabo ou da controladora IDE.

Mas nas buscas que fiz na Internet percebi que outras pessoas também tiveram problemas na instalação do GRUB com o Live CD.

Acabei desistindo de usar o Live CD e fiz a instalação do sistema básico (sem interface gráfica) com o Netinst para não perder mais tempo.

Depois de fazer a instalação com o netinst resolvi checar se havia algum problema com o DVD então coloquei o live cd no leitor e rodei:

md5sum /dev/sr0

Verifiquei que o código gerado bate com o MD5SUM da imagem iso do Live CD utilizada debian-live-6.0.3-i386-gnome-desktop.iso.

MD5SUM é um programa usado para verificar se um arquivo transmitido via rede não foi corrompido durante o download. Para usar, basta digitar:

md5sum [nome_do_arquivo]

O MD5SUM retorna um código (hexadecimal) que deverá ser idêntico ao original (calculado na origem), que é fornecido juntamente com o arquivo.

Após essa experiência com o Live CD vou começar a usar os >CDs de instalação do Debian 6.0 (Squeeze) de 32 bits.

3.5. 21/01/2012 - Recompilação do Kernel do Debian 6.0 (Squeeze) no PC00.

Segui os procedimentos descritos na seção "Recompilação do Kernel - Debian 5.0 (Lenny)" da página Automação Livre para Laboratórios de Águas - ALLA, dicas do Carlos Morimoto na página Compilando e instalando o kernel e algumas informações do tutorial Kernel Compiling Howto.

Baixei o kernel 2.6.32.5, selecionei o processador como Pentium 4, a opção "Bootup logo", e compilei com o comando make -j2 para usar os recursos do Pentium 4 HT e reduzir o tempo de compilação.


/usr/src/linux# make -j4
/usr/src/linux# make -j4 modules
/usr/src/linux# make modules_install
/usr/src/linux# make install

Depois de rodar o mkinitramfs tentei atualizar o arquivo menu.lst quando descobri que o squeeze usa o GRUB2.

Com o GRUB2 basta rodar update-grub.

Reiniciei a máquina e lá estava a opção do novo kernel otimizado para o Pentium 4 HT! :^)

3.6. 28/01/2012 - Upgrade do PC15

Troquei a placa ASUS (K8N-E) por uma ABIT (IS-10) para usar um processador Pentium 4, HD SATA e memória Dual Chanel.

A placa já vem com vídeo on-board mas possui slot AGP 4X/8X e achei interessante verificar que as fendas na placa de vídeo GeFORCE FX5200v (128 MB DDR+TV OUT) indicam a voltagem que ela suporta (3,3V e 1,5V).(Fonte: Wikipedia

Coloquei o HD Samsung HD250HJ com 250 GB e procurei informações no site da Samsung.

Ao que parece a Samsung e Seagate se juntaram pois os links da Samsung são direcionados para o site da Seagate.

Depois de digitar o modelo do HD (HD250HJ) no campo de procura do site descobri que este modelo pertence à série Spinpoint S Series (Data Sheet). No FAQ desta série encontrei a dica Samsung SpinPoint: jumper para alterar a taxa de transferência de 3,0 Gbps para 1,5 Gbps.

Resolvi copiar esta informação caso ela seja removida no futuro.

Nota

As placas-mãe de alguns computadores com conexões Serial ATA não oferecem suporte à SATA com desempenho de 3,0 Gbps. Um jumper pode ser aplicado às unidades Serial ATA do Samsung SpinPoint, que oferecem suporte ao desempenho de 3,0 Gbps, a fim de reduzir a unidade para 1,5 Gbps e para que as placas-mãe possam oferecer suporte à unidade.Este jumper deverá ser usado somente quando a placa-mãe não conseguir compensar o desempenho mais rápido da unidade.

Figura 8. Configuração do jumper para reduzir a velocidade de transferência de dados para 1,5 Gbps

No SETUP ajustei a temperatura de "Shutdown Temperature" para 85°C e "CPU Warning Temperature" para 70°C.

Figura 9. Tela do CMOS Setup para ajuste dos limites de proteção por superaquecimento do processador.

3.7. 04/02/2012 - Instalação do Debian 6.0 (Squeeze) no PC15

Após as dificuldades de instalação do GRUB com o Live CD do Squeeze resolvi baixar o CD1 e o CD2 do Debian 6.0 (Squeeze) de 32 bits seguindo as dicas do Leandro no tutorial Instalação e configuração básica de um Debian 6 Squeeze para Desktops e do tutorial Instalação e configuração Debian 6 Squeeze.

Para fazer o download usei o wget com a opção c que permite retomar o download a partir de um arquivo parcial caso a conexão seja interrompida.

wget -c http://cdimage.debian.org/debian-cd/6.0.3/i386/iso-cd/debian-6.0.3-i386-CD-1.iso

Depois de fazer o download verifiquei se o arquivo não estava corrompido com o comando md5sum e comparei o código gerado com o código do arquivo original MD5SUM.

md5sum debian-6.0.3-i386-CD-1.iso

Em seguida gravei as imagens ISO em um CD virgem com o programa K3B.

Para dar boot com o CDROM pressionar Delete (ou F1 em algumas máquinas) para entrar no programa SETUP para configuração da BIOS e na opção Advanced BIOS Features selecionar CDROM na opção First Boot Device.

Figura 10. Tela do CMOS Setup na opção Advanced BIOS Features com destaque para a seleção do primeiro dispositibo de BOOT.

Reiniciar a máquina e se der certo ( :^) ) vai aparecer a tela inicial de instalação do Debian.

Figura 11. Tela inicial de instalação do Debian.

Dica

Basta selecionar Install e selecionar as opções das telas seguintes: Linguagem, Localidade, Layout do teclado e em seguida o instalador carrega alguns pacotes do CD.

Nota

Informações mais detalhadas sobre a instalação estão disponíveis no tutorial: Instalação e configuração Debian 6 Squeeze

Na etapa de configuração de rede, selecionei a opção Não configurar a rede agora pois a instalação seria feita a partir dos CDs.

Em seguida o hostname (nome da máquina), nome do domínio (pimentel.edu), senha do root, criação do usuário normal e a respectiva senha, fuso horário (São Paulo) e o particionamento do HD.

Particionei o HD de 250 GB, usando ext4, deixando 35 GB para o /, 2GB para SWAP [1] e 193 GB restantes para o /home.

Em seguida foi instalado o sistema básico e é solicitado a colocação dos outros CDs (opcionais) para a instalação de outros pacotes.

Na etapa de seleção de software escolhi apenas Utilitários standard do sistema e Ambiente de trabalho gráfico.

A última etapa foi a instalação do GRUB na MBR [2]

Fizemos a reinicialização e tudo correu bem! :^)

O documento Instalação e configuração - Debian 6 Squeeze (Projeto - DIO), foi muito útil na instalação do Debian 6.0.

3.8. 05/02/2012 - Pós-instalação do Debian 6.0 (Squeeze) no PC15

Após a instalação do sistema com os CDs 1 e 2 tive que providenciar a conecção da máquina com a Internet para instalar os pacotes adicionais usando o sistema APT.

Eu uso um modem 3G Huawei E156B para acessar a Internet e portanto eu tinha 2 opções para conectar as máquinas com a Internet:

  1. Instalar os pacotes do WVDIAL no PC(00) (ou PC(15)) conforme está descrito aqui.

  2. Configurar um Laptop (IBM X60) como gateway, com um firewall, para compartilhar o acesso à Internet em uma rede.

Decidi seguir as seguintes etapas:

  1. Configurar um Laptop (IBM X60) como "Gateway", com um firewall, para compartilhar o acesso à Internet e instalar o WVDIAL, no PC(15).

  2. Configurar o PC(15) para compartilhar o acesso à Internet para as demais máquinas da rede atuando como um "Gateway" fazendo NAT (Network Address Translation - Tradução de Endereço de Rede), também conhecido como mascaramento (masquerading) e configurando um "Firewall" para proteção da rede.

Mas antes de continuar visite a seção "Entendendo alguns conceitos de rede no Linux", para entender alguns aspectos importantes sobre rede e segurança de redes em ambiente Linux.

3.9. 04/03/2012 - Instalação do Debian 6.0 (Squeeze) no PC14

Instalamos um HD de 20 GB (Quantum Fireball lct 15 - FBNHA 655T0040) (Manual) no PC14 para dar início à instalação mas percebi que não tinha informações sobre a configuração dos jumpers para colocar o HD como Master.

Felizmente encontrei no site oldman.ixbt.com (um site russo) um arquivo pdf com informações de configuração de vários modelos de HD da Quantum. Deixei uma cópia do manual no arquivo (Manual HDs Quantum).

Figura 12. Configuração do jumper para configurar um HD da série Fireball como Master ou Slave

O HD e o CDROM ficaram ambos como master.

Durante a instalação, percebi que não tinha instalado placa de rede! :^(

Na semana seguinte, instalei uma placa de rede e tentei ligar a máquina para dar início à instalação. Mas não ligou! :^(

Pensei que fosse problema com a placa de rede, mas continuava não ligando mesmo sem a placa de rede. Então resolvi trocar a fonte e funcionou!

Particionei o HD da seguinte forma:

A idéia é usar preferencialmente a área de disco compartilhada no PC15 para os arquivos de usuário e até mesmo, se for preciso, instalar aplicativos no PC15 e exportar a tela para micros da rede.

Mas na hora de reinicializar apareceu a mensagem


error: symbol not found: 'grup_list_push'
entering rescue mode...
grub rescue>

Aparentemente é um erro intermitente. Às vezes conseguia bootar. Resolvi trocar de IDE e retirar o leitor de CD. Parece que estabilizou.

Depois de carregar o sistema rodei:


# grub-install /dev/sda
# update-grub

Mas depois de carregar e logar no sistema vi mensagens de alerta do "Utilitário de Unidades" alertando que o HD apresentava problemas.

Resolvi trocar o HD de 20 GB (Quantum Fireball lct 15 - FBNHA 655T0040) por um HD com 80 GB da Samsung (SP0802N) e fazer nova instalação.

3.10. 25/03/2012 - Reinstalação do Debian 6.0 (Squeeze) no PC14

Depois de quebrar a cabeça para tentar resolver os problemas da instalação anterior, resolvi trocar o HD por um HD com 80 GB da Samsung (SP0802N).

Também retirei um dos pentes de memória que não estava sendo reconhecido.

E finalmente conseguimos instalar o Debian 6.0 no PC14 particionando o HD em três partições:

Tentei instalar um mause serial (DB9) mas não foi detectado, dei uma pesquisada e descobri que o Squeeze não usa mais o arquivo xorg.conf conforme informação na mensagem http://lists.debian.org/debian-user/2010/06/msg00323.html

3.11. 01/04/2012 - Upgrade do PC01 - Quarta Máquina para a Sala de Informática

A sala de informática tem espaço para 7 máquinas e já temos 3 máquinas prontas com o Debian 6.0 instalado e funcionando, por isso começamos a pensar na montagem de mais uma máquina.

Temos disponível as duas placas originais do PC00 (ABIT KV7 com processador AMD Atlhon XP 2800+ (2104 MHz)) e do PC15 (ASUS (K8N-E) com processador AMD Athlon 64 Processor 3000+ (2009 MHz)). Olhando o inventário das máquinas disponíveis resolvi procurar os gabinetes com tamanho adequado para essas placas e fontes de maior potência para suportar com segurança esses processadores.

Resolvi substituir a placa mãe do PC01 pela placa ASUS (K8N-E) com processador AMD Athlon 64 Processor 3000+ (2009 MHz) com uma fonte VCOM 400W modelo AGPS-400PQ.

Na hora de montar percebi que não tinha vídeo OnBoard e pesquisando o manual da placa constatei que não tinha nenhuma placa de vídeo AGP 8X ou 4X disponível e providenciei a compra de uma placa com chip GeForce 2 MX (R$ 30,00 / BoaDica).

A placa com chip GeForce 2 MX veio sem dissipador térmico e resolvi instalar assim mesmo e mais tarde, se necessário providenciar um dissipador e um cooler para o processador da placa.

Não prestei atenção nos conectores da placa e me esqueci de ligar o conector de 4 pinos. O cooler ligava e logo parava.

Depois de conectar corretamente a máquina ligou, entrei na BIOS mas ao tentar religar não bootava, o cooler ligava mas nada no monitor. Resolvi com o Clear CMOS.

Ao ligar a máquina percebi que o HD fazia um barulho irritante e seria mais uma fonte de ruído incômoda dentro da sala de informática. Então troquei por outro HD mas ao tentar religar, voltou a apresentar o mesmo problema, ou seja, não bootava.

Tentei novamente outro Clear CMOS, mas nenhum sinal de vida!

Depois de alguns dias resolvi trocar o pente de memória por um pente de 512 MB da Kinston™ (KVR400X64C3A/512) e finalmente a máquina passou a inicializar sem problemas.:^)

3.12. 22/07/2012 - PC16

Recebemos a doação de uma máquina que foi identificada como PC16 e como se mostrou operacional pude fazer a instalação do Debian 6.0 (Squeeze).

3.13. 12/08/2012 - Instalação do Debian 6.0 (Squeeze) no PC01

Fiz a instalação conforme já explicado na seção Instalação do Debian 6.0 (Squeeze) no PC15 e correu tudo bem.

Particionamento do HD:

Mas na hora de reinicializar aparecia a mensagem de erro "Chassis Intruded! Fatal error... System Halted!". :^(

Depois de pesquisar no Google vi que esse erro parece ser um bug pois os jumpers da placa mãe, para esse tipo de controle, estavam na posição default. Novamente a única salvação foi usar o Clear CMOS novamente.

3.14. 16/08/2012 - Tentativas de montagem da sexta máquina

Tentanto montar mais uma máquina para completar 6 máquinas na sala de informática, resolvi tentar usar as máquinas com ~400 MHz (PC02, PC03 e PC09) mas infelizmente todas apresentaram problemas na inicialização.

O PC09 veio com 3 pentes de memória PC100 (100 MHz) (1 x 128 MB + 2 x 32 MB = 192 MB), mas no início apresentou problemas de boot. Consultando o manual usei o Jumper 5 para limpar o CMOS (Clear CMOS), troquei as posições dos pentes de memória colocando o pente com 128 MB no primeiro banco e também limpei os contatos com uma borracha.

Não encontrei outros pentes de memória PC100. Encontrei apenas um pente sem qualquer informação sobre a velocidade, mas pelo código escrito no chip "SIEMENS HYB39S16800AT-10" foi possível encontrar um manual no site www.datasheetcatalog.com.

Instalei este pente no PC09 e indicou capacidade de 32 MB, portanto não justifica a troca dos pentes existentes. Pretendo rodar, mais tarde o programa memtestpara verificar a integridade das memórias.

Gostaria de ter pelo menos 6 máquinas funcionando para iniciar um curso de "Introdução à Computação com Software Livre".

Acho que vou providenciar a montagem de uma máquina nova para não perder mais tempo!

3.15. 23/09/2012 - Doação da sexta máquina

Felizmente recebemos a doação (do nosso amigo Daniel) de uma máquina completa que foi utilizada para completar a salinha de informática e foi catalogada como PC17.

3.16. 30/09/2012 - Montando a Rede

Como disse anteriormente, segui os seguintes passos:

  1. Configurar um Laptop (IBM X60) como "Gateway", com um firewall, para compartilhar o acesso à Internet e instalar o WVDIAL, no PC(15).

  2. Configurar o PC(15) para compartilhar o acesso à Internet para as demais máquinas da rede atuando como um "Gateway" fazendo NAT (Network Address Translation - Tradução de Endereço de Rede), também conhecido como mascaramento (masquerading) e configurando um "Firewall" para proteção da rede.

Fiz inicialmente a configuração das placas de rede no Laptop (IBM X60) e no PC15 para testar se o compartilhamento da Internet estava funcionando.

As interfaces de rede no Linux estão localizadas no diretório /dev e a maioria é criada dinamicamente pelos softwares quando são requisitadas.

Nos interessa essencialmente as interfaces "eth?" e "ppp?", onde "?" significa o número que identifica as interfaces sequencialmente. Portanto se o computador possui duas placas de rede ethernet elas serão identificadas como eth0 e eth1.

No laptop o comando ifconfig mostra no início apenas a interface "lo" (loopback):


lo        Link encap:Loopback Local  
          inet end.: 127.0.0.1  Masc:255.0.0.0
          endereço inet6: ::1/128 Escopo:Máquina
          UP LOOPBACKRUNNING  MTU:16436  Métrica:1
          RX packets:28 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:0 
          RX bytes:1976 (1.9 KiB)  TX bytes:1976 (1.9 KiB)

A interface loopback é um tipo especial de interface que permite fazer conexões com você mesmo. Todos os computadores que usam o protocolo TCP/IP utilizam esta interface e existem várias razões porque precisa fazer isto, por exemplo, você pode testar vários programas de rede sem interferir com ninguém em sua rede. Por convenção, o endereço IP 127.0.0.1 foi escolhido especificamente para a loopback, assim se abrir uma conexão telnet para 127.0.0.1, abrirá uma conexão para o próprio computador local. (Fonte: http://www.guiafoca.org/cgs/guia/avancado/ch-rede.html)

O comando lspci mostra uma placa de rede instalada:


02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller

Portanto é necessário usar o comando ifconfig (interface configure), como root, para ativar a interface e atribuir um endereço de rede.

Para ativar a interface (manualmente):

# ifconfig eth0 up

Para definir provisioriamente o endereço IP do laptop que vai funcionar como gateway:

# ifconfig eth0 192.168.0.1

E para definir a máscara de rede (netmask) no laptop:

# ifconfig eth0 netmask 255.255.255.0

Em seguida executei os mesmos comandos no PC15 apenas selecionando o IP 192.168.0.2 e executei o comando ping para testar se a comunicação entre as duas máquinas.

No laptop:


# ping 192.168.0.2
PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=3.44 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.367 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.769 ms
^C
--- 192.168.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2005ms

A mensagem mostra que a comunicação entre as máquinas está funcionando.

No PC15, além dos comandos acima também defini o laptop como gateway padrão com o comando:

# route add default gw 192.168.0.1

Em seguida conectei o laptop à Internet com o Wvdial e testei diretamente o script de exemplo disponível no site http://www.hardware.com.br/livros/linux-redes/escrevendo-script-firewall.html:


#!/bin/bash

iniciar(){

# Compartilha a conexão
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1536 \
-j TCPMSS --clamp-mss-to-pmtu
echo "Compartilhamento ativado"

# Abre para uma faixa de endereços da rede local
iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT

 Protege contra IP spoofing (esta opção já vem ativada por padrão na
# maioria das distribuições atuais, mas não custa ter certeza)
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

# Descarta pacotes malformados, protegendo contra ataques diversos
iptables -A INPUT -m state --state INVALID -j DROP

# Abre para a interface de loopback. Esta regra é essencial para que
# o KDE e outros programas gráficos funcionem adequadamente.
iptables -A INPUT -i lo -j ACCEPT

# Impede a abertura de novas conexões, efetivamente bloqueando o acesso
# externo ao seu servidor, com exceção das portas e faixas de endereços
# manualmente especificadas anteriormente. Bloqueia tudo.
iptables -A INPUT -p tcp --syn -j DROP


}

parar(){
iptables -F
iptables -t nat -F
echo "Regras de firewall e compartilhamento desativados"
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac

Salvei na pasta /etc/init.d com o nome firewall.sh e tornamos o script executável com o comando:

/etc/init.d/# chmod 744 firewall.sh

E rodei o script, como "root", com o comando: ./firewall.sh start

Mas não consegui compartilhar o acesso. :^(

Então resolvi simplificar os comandos e usei o script firewall_I.sh apenas com os comandos: (Fonte: http://www.guiafoca.org/cgs/guia/avancado/ch-rede.html


#!/bin/bash

iniciar(){

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -A FORWARD -i ppp0 -o eth0 -m state --state ! ESTABLISHED,RELATED -j LOG \
--log-prefix "FIREWALL: tent. conexao ext."

iptables -A FORWARD -i ppp0 -o eth0 -m state --state ! ESTABLISHED,RELATED -j DROP

iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

}

parar(){
iptables -F
iptables -t nat -F
echo "Regras de firewall e compartilhamento desativados"
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac

Na regra:

# iptables -A FORWARD -i ppp0 -o eth0 -m state --state ! ESTABLISHED,RELATED -j DROP

a opção "-m state" especifica o módulo "state" que permite controlar o estado da conexão do pacote.

As opções permitidas são as seguines:

O sinal "!" significa uma negação e portanto esta regra bloqueia todos as tentativas de NOVAS conexões que entram pela interface "ppp0" "exceto (!)" o tráfego de conexões já iniciadas (ESTABLISHED,RELATED) de dentro da rede.

3.17. 07/10/2012 - Configurações no sevidor (PC15).

Verificando com mais calma o script firewall.sh resolvi corrigir a linha:

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

mudando a opção "-o eth0" por "-o ppp0", pois a interface com a Internet é "ppp0", e depois disso o script passou a funcionar. :^)

Nada como um dia depois do outro! :^)

Muito bem! Esse script de firewall funcionou muito bem no meu laptop, rodando o Lenny, compartilhando acesso a outras máquinas. Mas ao rodar esse script no servidor (PC15) apareceu a mensagem:


Using intraposition negation (--option ! this) is deprecated 
in favor of extrapositioned (! --option this)

Pesquisando descobri que a sintaxe da negação havia mudado na nova versão do Iptables. Com o comando iptables --version pudemos ver que no Lenny a versão era "1.4.2" e no Squeeze a versão era "1.4.8".

Por isso apenas troquei a posição da negação "!" nas linhas:

# iptables -A FORWARD -i ppp0 -o eth0 -m state --state ! ESTABLISHED,RELATED -j LOG --log-prefix "FIREWALL: tent. conexao ext."
# iptables -A FORWARD -i ppp0 -o eth0 -m state --state ! ESTABLISHED,RELATED -j DROP

para:

# iptables -A FORWARD -i ppp0 -o eth0 -m state ! --state ESTABLISHED,RELATED -j LOG --log-prefix "FIREWALL: tent. conexao ext."
# iptables -A FORWARD -i ppp0 -o eth0 -m state ! --state ESTABLISHED,RELATED -j DROP

Portanto o script de firewall ficou assim:


#!/bin/bash

iniciar(){

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -A FORWARD -i ppp0 -o eth0 -m state --state ! ESTABLISHED,RELATED -j LOG --log-prefix "FIREWALL: tent. conexao ext."

iptables -A FORWARD -i ppp0 -o eth0 -m state --state ! ESTABLISHED,RELATED -j DROP

iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

echo "Regras de firewall e compartilhamento ativados"

}

parar(){
iptables -F
iptables -t nat -F
echo "Regras de firewall e compartilhamento desativados"
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac

Para rodar o script basta rodar o comando /etc/init.d/firewall_I.sh start (ou restart).

Para tornar automática a execução do script de firewall em cada inicialização incluí o comando /etc/init.d/firewall_I.sh start no arquivo /etc/rc.local.

Dica

Todos os comandos do arquivo /etc/rc.local são executados automaticamente em cada inicialização do sistema.

Em seguida tornamos a configuração da rede automática editando os respectivos arquivos de configuração.

No Debian editamos o arquivo /etc/network/interfaces. (Fonte: http://softwarelivre.uff.br/wiki/index.php/Tutorial:_Configuração_da_rede_pelo_/etc/network/interfaces e http://www.debian.org/doc/manuals/debian-reference/ch05.en.html)

Conteúdo inicial do arquivo /etc/network/interfaces do PC15:


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

Editei o arquivo acrescentando informações referentes ao IP, máscara de rede e gateway.


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 192.168.0.1
        netmask 255.255.255.0

E para reiniciar a rede basta rodar o comando /etc/init.d/networking restart.

Resolvi incluir um campo na tabela de inventário com a informação do endereço IP na rede interna e para facilitar a transferência de arquivos entre as máquinas a rede resolvi instalar o proftp como servidor de ftp.

Mas antes editei o arquivo /etc/apt/sources.list com a lista dos repositórios para poder instalar programas.


deb http://ftp.br.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.br.debian.org/debian/ squeeze main contrib non-free
deb http://ftp.de.debian.org/debian squeeze main

E a atualização da lista de pacotes com o comando:

apt-get update

Para instalar o ProFTPD rodei os comandos:

apt-get install proftpd-basic proftpd-doc

Após o download o debconf pergunta se o servidor vai ser executado utilizando o inetd ou no modo standalone. Escolhi o modo standalone.

Algumas fontes de informações importantes sobre o ProFTPD: www.servidordebian.org e www.bibliotecaunix.org/index.php/ProFTPD.

Em seguida o editor Emacs, o interpretador Tcl/Tk e o navegador Galeon:

apt-get install emacs
apt-get install tcl8.5 tcl8.5-doc tcl8.5-dev
apt-get install tk8.5 tk8.5-doc tk8.5-dev
apt-get install galeon

3.18. 28/10/2012 - Configurações nas máquinas clientes.

Usando como exemplo a configuração como cliente do PC17, editei o arquivo /etc/network/interfaces acrescentando informações referentes ao IP, máscara de rede e gateway.


# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 192.168.0.2
        netmask 255.255.255.0
        gateway 192.168.0.1

Ao tentar acessar a Internet, percebi que na máquina cliente era possível pingar endereços IP externo mas não estava funcionando a resolução de nomes. Mas conversando com o colega Maurício, me dei conta de que tinha que especificar os endereços DNS em cada cliente no arquivo /etc/resolv.conf.

Utilizei os endereços DNS público do Google™: 8.8.8.8 e 8.8.4.4.

Portanto o arquivo /etc/resolv.conf ficou assim:


nameserver 8.8.8.8
nameserver 8.8.4.4

3.19. 04/11/2012 - Configurações nas máquinas da rede

Repeti o procedimento de configuração nas demais máquinas da rede copiando do servidor (via ftp) para os clientes os arquivos: /etc/network/interfaces, /etc/resolv.conf e /etc/apt/sources.list.

Em seguida configurava os respectivos endereços IP, rodava apt-get update e instalava alguns aplicativos:

apt-get install emacs
apt-get install tcl8.5 tcl8.5-doc tcl8.5-dev
apt-get install tk8.5 tk8.5-doc tk8.5-dev
apt-get install galeon

Também tentei configurar a hora do sistema mas observei que não basta acertar a hora no SETUP da Bios. O sistema continua com a hora errada.

3.20. 26/01/2013 - Configuração dos serviços NIS e NFS.

Temos no total 6 máquinas na rede, que serão usadas por diferentes alunos. Imagine que temos 18 alunos que irão usar a sala em 3 horários diferentes. Para que os alunos possam ter a liberdade de acessar qualquer máquina, teríamos que criar contas para todos os alunos em todas as máquinas, ou seja, eu teria que fazer esse trabalho de criação de contas 108 vezes (6 máquinas x 18 contas).

Para simplificar essa tarefa foi criado o NIS - Network Information Service (Serviço de Informação de Rede) que permite que todas as informações sobre os usuários da "rede" fiquem armazenadas em um único computador que irá funcionar como um servidor NIS enquanto as demais máquinas da rede funcionam como clientes NIS.

Dessa forma basta criar a conta de um novo aluno no "apenas" no servidor NIS e a partir daí o aluno poderá se logar em qualquer máquina da rede.

Mas ainda tem uma questão para ser resolvida.

Se o aluno gravar os arquivos das suas atividades em uma máquina da rede, ele precisará transferir (copiar), de alguma forma, esses arquivos para a outra máquina que for utilizar na aula seguinte.

Para resolver esse problema usamos o NFS - Network File System (Sistema de Arquivo em Rede) que permite compartilhar (disponibilizar) um diretório de um computador para os demais computadores da rede, facilitando a troca de arquivos entre as máquinas da rede sem o uso de pendrives.

No nosso caso, optamos pelo compartilhamento do diretório /home do servidor para ser "montado", ou visualizado, pelas demais máquinas como se fosse um diretório no disco local de cada máquina.

Então vamos mostrar como isso tudo foi feito com todas as máquinas rodando o Debian 6.0 (Squeeze.

Outras fontes de informação sobre NIS e NFS:

3.20.1. Configuração do servidor NIS

Utilizei como principal fonte de informação o vídeo de Rocio Abreu disponível no Youtube.

Instalei os pacotes portmap e nis

apt-get install portmap
apt-get install nis

Durante a instalação é necessário digitar o nome de domínio (domainname.

Figura 13. Mensagem solicitando o domainname, durante a instalação do pacote nis.

Dica

Para saber o nome de domínio ver /proc/sys/kernel/domainname

Como os arquivos de configuração ainda não foram editados aparece no final da instalação uma mensagem de erro (failed (backgrounded)). Mas isso é normal porque ainda não foram editados os arquivos de configuração.

Em seguida editar o arquivo /etc/default/nis para indicar que a máquina atual será um servidor NIS modificando as linhas:


De NISSERVER=false para NISSERVER=master

De NISCLIENT=true para NISCLIENT=false

Em seguida editar o arquivo /etc/ypserv.securenets incluindo a máscara de rede e o endereço da rede para indicar a faixa de endereços IP que terá acesso ao servidor NIS.

Substituir a linha 0.0.0.0 0.0.0.0 por:

255.255.255.0 192.168.0.0

Em seguida editar o arquivo /var/yp/Makefile e incluir shadow na linha:

ALL = passwd group hosts rpc services netid protocols netgrp

para

ALL = passwd shadow group hosts rpc services netid protocols netgrp

Em seguinda editar o arquivo /etc/hosts e incluir o endereço IP, o nome do servidor (com o domínio) seguido do nome do servidor:


192.168.0.1 servidor.pimentel.edu servidor

Em seguida iniciar o serviço portmap com o comando:

/etc/init.d# portmap restart

Em seguida executar o comando ypinit -m no diretório /usr/lib/yp para indicar que vamos usar apenas o servidor nis na máquina local.

/usr/lib/yp# ypinit -m

O programa pede para indicar os outros hosts que vão rodar servidores nis. Além do localhost, que já está indicado, não vamos incluir nenhum e portanto basta digitar <CTRL D>.

Neste momento, se quiser criar novos usuários utilizar o a interface gráfica Sistema -> Administração -> Usuários e Grupos ou via linha de comando.

Para criar uma nova conta:

#useradd -d /home/aluno1 -m aluno1

E para criar a senha do novo usuário:

#passwd aluno1

Em seguida compilar uma base de dados NIS com informações para os novos usuários com o comando make dentro do diretório /var/yp:

/var/yp# make

E em seguida reiniciar o servidor nis:

/etc/init.d# ./nis restart

Atenção

O bando de dados NIS deve ser atualizado toda vez que for adicionada uma nova conta de usuário com os comandos:

/var/yp# make
/etc/init.d# ./nis restart

3.20.2. Configuração do Cliente NIS

A primeira etapa é instalar, assim como no servidor, os pacotes portmap e nis:

apt-get install portmap
apt-get install nis

Durante a instalação do pacote nis informar o mesmo nome de domínio pimentel.edu

Em seguida editar o arquivo /etc/hosts e incluir o endereço IP e o nome do servidor nis e da máquina cliente local (Ex: pc17)..


192.168.0.1       servidor.pimentel.edu servidor
192.168.0.2       pc17.pimentel.edu     pc17

Nota

O arquivo /etc/hosts mostra o estranho número IP 127.0.1.1. A explicação está disponível no link http://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_the_hostname_resolution

Em seguida editar o arquivo /etc/yp.conf e informar o nome de domínio e o servidor.


domain  pimentel.edu   server servidor.pimentel.edu

Atenção

Em algumas máquinas essa linha foi suficiente, mas no PC00 foi necessário incluir ainda a linha seguinte especificando o IP do servidor NIS:


ypserver 192.168.0.1

Em seguida editar o arquivo /etc/nsswitch.conf incluindo "nis" nas linhas:

De:


passwd:         compat
group:          compat
shadow:         compat

Para:


passwd:         files nis
group:          files nis
shadow:         files nis

Conforme as orientações do Bob Proulx através da Lista de Usuários Debian.

Reiniciar a máquina e "torcer os dedos". :^)

3.20.3. Configurações adicionais do serviço NIS.

O comando ypchfn muda as informações finger no banco de dados de mapa do servidor NIS, ou seja permite alterar os dados do usuário (nome completo, número de telefone etc).

O NIS utiliza o sh como shell padrão para os novos usuários.

Para alterar para o shell utilize o comando ypchsh para alterar o shell padrão.

Por exemplo, para usar o bash com o usuário "estudante2" digite:

# ypchsh username

O programa vai pedir a senha de root e em seguida digite /bin/bash no prompt que aparecer:


Login shell [/bin/sh]: /bin/bash
The login shell has been changed on servidor.

Na configuração do PC14 encontrei problemas pois após a reinicialização não mostrava os nomes dos usuários NIS. Após algumas tentativas, percebi que a conexão de rede havia caído pelo "LED" do switch estava apagado.

Ao trocar a placa de rede por uma placa Realtek RTL 8139D, observei que o "LED" do switch voltou a acender mas o comando ping não indicava conexão.

O comando dmesg | grep eth0 mostrava uma mensagem que o udev havia renomeado a placa para eth1. Com essa informação alterei o arquivo /etc/network/interfaces para:


auto eth1
iface eth1 inet static
        address 192.168.0.3
        netmask 255.255.255.0

Já na configuração do PC16 aparecia a mensagem Could not update ICEauthority file /home/aluno1/.ICEauthority.

Não sei porque aparecia esse erro mas resolvi dando permissão de leitura e escrita no diretório /home com o comando:

# chmod 777 /home

3.20.4. 16/02/2013 - Configuração do servidor NFS

Primeiro instalar os pacotes nfs-kernel-server e portmap

apt-get install nfs-kernel-server
apt-get install portmap

Em seguida editar o arquivo /etc/exports e inserir a linha:


/home 192.168.0.0/255.255.255.0(rw,sync,root_squash,no_subtree_check)

Editar também o arquivo /etc/hosts.allow incluindo as linhas:


portmap: 192.168.0.0/255.255.255.0
nfs: 192.168.0.0/255.255.255.0

E finalmente reiniciar os serviços nfs e portmap com os comandos:

/etc/init.d# portmap restart
/etc/init.d# nfs-kernel-server restart

3.20.5. Configuração do cliente NFS.

Instalar os pacotes nfs-common e portmap

apt-get install nfs-common
apt-get install portmap

Ao invés de montar a pasta /home do servidor diretamente na pasta /home do cliente, resolvi criar a pasta /home_servidor (com permissões de leitura e escrita para todos) no diretório /home da máquina cliente e montar o diretório /home do servidor nas máquinas clientes como /home/home_servidor.

Dessa forma os alunos poderão ver a distinção entre o conteúdo da pasta /home local e da pasta /home do servidor (remota). Tendo apenas de ter o cuidado de gravar os seus trabalhos na pasta /home/home_servidor para que possa ser acessível quando o aluno se logar em outras máquinas da rede. (Ficou confuso?)

# cd /home
/home# mkdir home_servidor
/home# chmod 777 home_servidor

Para automatizar a montagem das pastas remotas editar o arquivo /etc/fstab e incluindo na última linha, por exemplo


192.168.0.1:/home /home/home_servidor nfs defaults 0 0

Atenção

Mas isso não funcionou em todas as máquinas!

Por exemplo, o PC17 não montava a pasta NFS automaticamente no boot, mas depois da inicialização o comando manual funcionava perfeitamente:

# mount -t nfs 192.168.0.1:/home /home/home_servidor

Neste caso resolvi incluir o comando:

# mount -t nfs 192.168.0.1:/home /home/home_servidor

no arquivo /etc/rc.local para automatizar a execução do comando de montagem da pasta /home do servidor na pasta /home/home_servidor das máquinas clientes.

E finalmente reiniciar a máquina para verificar o funcionamento dos serviços NIS e NFS.

Ufa! Não foi fácil! Mas valeu o aprendizado, e espero que os serviços ajudem a tornar mais produtiva o uso da rede durante as aulas.

3.21. 04/05/2013 Instalação do KDE e GCompris

Deppois de algum tempo quis instalar os pacotes do KDE para mostrar outras opções de ambiente gráfico para os alunos. Então comecei a procurar qual CD eu deveria baixar para fazer essa instalação, pois para instalar o KDE deveria baixar ~500MB, o que seria inviável com a baixa velocidade de conexão com o modem 3G na sala de informática.

Seguindo a sugestão do Sérgio (VRLivre), durante o FLISOL (2013) fiz a instalação do KDE no micro de casa, com uma velocidade mais rápida. Mas antes tomei o cuidado de remover todos os arquivos .deb do diretório /var/cache/apt/archives antes de iniciar a instalação do KDE com comando:

apt-get install kde

Também aproveitei para instalar o GCompris.

apt-get install gcompris

Depois de instalar todos os pacotes do KDE e GCompris, no micro de casa, copiei para um pendrive os arquivos .deb do diretório /var/cache/apt/archives e copiei para a pasta /var/cache/apt/archives dos micros da sala de informática.

E dentro da pasta /var/cache/apt/archives rodei o comando:

dpkg -i *.deb

Atenção

Isso foi possível porque tanto na minha casa quanto na sala de informática está rodando o Debian Squeeze (6.0)!

Percebi que ainda faltavam alguns arquivos (~15MB) para atualizar então rodei o comando:

apt-get -f install

3.22. 04/08/2013 - Histórico de login

Durante o primeiro semestre de 2013, oferecemos o curso "Introdução à Informática com Software Livre", durante o qual não foi feito um controle de frequência dos alunos.

Estava com a expectativa de aproveitar os arquivos de log do sistema para gerar um relatório de frequência automatizado.

Ao pesquisar este assunto, descobri que poderia usar o comando last para obter informações a entrada (login) e saída (logout) de usuários do sistema.login dos usuários.

O comando last utiliza o arquivo /var/log/wtmp para gerar sua listagem. Mas o arquivo /var/log/wtmp não cresce indefinidamente.

Postei essa questão na lista de usuários Debian e reponderam que eu deveria alterar o arquivo etc/logrotate.conf conforme o exemplo abaixo:


...
/var/log/wtmp {
    missingok
    monthly
    create 0664 root utmp
    rotate 1 <------ change this value to 12 to keep log files for 12 months
}
...

Resolvi alterar para 24 para manter os registros por 2 anos.

Mas os registros são armazenados em cada máquina e portanto para ler esses arquivos e gerar um relatório de frequência vou ter que fazer na mão ou ver algum script para automatizar essa tarefa.

3.23. 07/09/2013 - Avaliando o Reuso das Máquinas mais Antigas

Hoje retomei o trabalho com o Hardware mais antigo que está ocupando espaço na "futura" sala de eletrônica.

Comecei a trabalhar com o PC09 e observei que estava inicializando sem problemas com o CD da Dizinha mas não estava reconhecendo o HD. Verifiquei o jumper, troquei de IDE (primária e secundária), mas nada.

Procurei nas estantes e o melhor HD que eu encontrei foi um Matrox com apenas "2 GB".

Ao procurar nos demais micros antigos que estavam na sala, percebi que a maioria deles estava sem HD.

Por isso pensei em duas alternativas:

  1. Jogar tudo no lixo. :^)

  2. Montar uma rede LTSP.

  3. Procurar por uma distribuição Linux compatível com máquinas antigas.

A primeira opção é de brincadeira.

A segunda opção seria interessante pois já tivemos uma experiência com uma rede LTSP rodando Slackware e funcionou muito bem durante uns 2 ou 3 anos.

Mas atualmente estamos sem espaço e colaboradores para montar uma segunda rede. E além disso eu gostaria de me concentrar na montagem da sala para atividades de "Eletrônica".

Por isso pensei na hipótese de tentar instalar distribuições concebidas para rodar em máquinas antigas com poucos recursos e distribuir essas máquinas para as crianças e jovens que participam das aulas de "Introdução à Informática com Software Livre".

Seria uma tentativa de estimular o aprendizado da instalação e configuração dessas máquinas. Uma dúvida que tenho é com relação ao desempenho dos monitores antigos que ainda temos.

Vamos testar!

Pesquisando na Internet encontrei algumas distribuições:

3.24. 05/03/2014 - Aquisição do modem/roteador Huawei B890-53 LTE

Para melhorar o acesso à Internet, passamos a utilizar o modem HUAWEI B890-53: Band 7 (2600MHz) o quel permite conexão ethernet e wireless simultâneamente.

Para simplificar o trabalho resolvi apenas instalar mais uma placa de rede que seria identificada como eth1 e teria IP dinâmico fornecido pelo servidor DHCP do modem. Por isso editei o arquivo /etc/network/interfaces:


# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
          address 192.168.0.1
          netmask 255.255.255.0

auto eth1
iface eth1 inet dhcp 

E o arquivo de firewall iptables substituindo ppp0 por eth1:


#!/bin/bash

iniciar(){

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -A FORWARD -i eth1 -o eth0 -m state --state ! ESTABLISHED,RELATED -j LOG --log-prefix "FIREWALL: tent. conexao ext."

iptables -A FORWARD -i eth1 -o eth0 -m state --state ! ESTABLISHED,RELATED -j DROP

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

echo "Regras de firewall e compartilhamento ativados"

}

parar(){
iptables -F
iptables -t nat -F
echo "Regras de firewall e compartilhamento desativados"
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
*) echo "Use os parâmetros start ou stop"
esac

Mas observei que o modem não estava enviando o endereço IP para a placa eth1.

Pensei que o problema fosse do modem e fiz um teste semelhante em casa mas o modem funcionou normalmente, indicando que o problema não era do modem.

No dia seguinte troquei a placa de rede do servidor e o modem passou a fornecer o número IP normalmente.

Mas aí surgiu um novo problema. Cada vez que eu trocava a placa ela aparecia com um nome diferente, eth1, eth2 etc.

Seguindo a dica http://aprendendolinuxx.wordpress.com/2011/10/02/muda-placa-de-rede-de-eth2-eth1-para-eth0-debian/ bastou editar o arquivo /etc/udev/rules.d/70_persistent-net.rules identificando a linha referente à placa instalada pelo endereço MAC e editar o campo NAME para :


NAME="eth1"

E apagar as outras entradas do arquivo /etc/udev/rules.d/70_persistent-net.rules referentes as outras tentativas anteriores.

Notas

[1]

O Linux tem suporte a memória virtual, isto é, ele utiliza o disco (HD) como extensão da memória RAM, fazendo com que o tamanho de memória disponível cresça consideravelmente. A parte do disco que é usada como memória virtual é chamada área de troca ou área de SWAP. (Fonte: www.vivaolinux.com.br/dica/Area-de-Troca-(swap)

[2]

MBR ("Master Boot Record") onde fica gravada a tabela de partição. Esta tabela contém informações sobre o tipo, endereço de início e final de cada partição. Ao instalar o sistema operacional, é gravado mais um componente: o gerenciador de boot, responsável por carregar o sistema durante o boot. Para o Linux existem dois carregadores de Boot LILO e GRUB.