INTRODUÇÃO
Esse documento é um guia rápido de instalação do Netfilter Rede no sistema operacional Fedora Core 4, descreve os pré-requisitos, a instalação passo a passo e soluções de problemas que possam surgir ao final do processo, mostrando também o que deve ser feito para instalação manual do Netfilter.
Primeiro defina qual e onde estarão concentrados os serviços de firewall e gateway de sua rede. Por padrão, a instalação do Netfilter supõe que sua rede possui um firewall, e após o firewall estará localizado o servidor Netfilter, que deve ser também o gateway de sua rede para que os recursos de filtragem de protocolo e controle de banda funcionem adequadamente. Essa configuração separada de firewall e gateway é a que possibilita maior segurança em sua rede, não concentrando todos os serviços em apenas uma máquina. Caso queira que o micro Netfilter também seja o firewall de sua rede, não se esqueça de ajustar as regras que desejar no arquivo de inicialização de firewall do Netfilter, conforme será explicado adiante.
Para a instalação do Netfilter em seu computador, verifique se ele atende aos seguintes requisitos de hardware:
- Processador Pentium 3;
- 128Mb RAM;
- 10Gb de HD;
- Duas ou mais placas de rede (uma para a interface WAN e outra para a rede interna);
- Drive de CD-ROM.
Atendendo aos requisitos, verifique se os seguintes pacotes estão instalados em seu sistema:
- PHP 4;
- Apache;
- PostgreSQL;
- Perl;
- Squid;
- Xterm;
- OpenSSH;
- Samba;
- Sudo.
Na falta de um ou mais pacotes, instale-os antes da execução do instalador do Netfilter, utilizando o yum ou através dos RPMs presentes nos cds de instalação do Fedora.
Desative o firewall caso você tenha ativado esse serviço durante a instalação do Fedora Core, e defina suas regras do iptables no arquivo /etc/rc.d/init.d/S65nftables.sh caso seja necessário.
Verificado esses itens, abra o diretório onde se localizam os arquivos de instalação do Netfilter e execute o script instalar.sh. Aguarde o término do processo de cópia dos arquivos, e reinicie seu computador. Verifique se o serviço httpd, squid e postgres estão rodando corretamente.
Caso não tenha ocorrido problemas durante o processo de instalação, será possível abrir a página de administração do Netfilter em algum computador de sua rede através do endereço http://ipdomicro:8080, onde ipdomicro é o endereço IP de seu computador Netfilter na rede.
Em caso de problemas, veja o capítulo de solução de problemas, ao final desse guia.
Caso prefira instalar manualmente o Netfilter em seu sistema, proceda com os seguintes passos descritos a seguir:
- Desative o serviço SELinux, editando o arquivo /etc/selinux/config
- Ative os serviços apache, postgresql e squid para serem inicializados durante o boot, utilizando o aplicativo ntsysv ou chkconfig.
- Instale o pacote RRDTool, que está no diretório de instalação, usando o comando rpm.
- Instale o pacote cvsup, que também está no diretório de instalação.
- Edite o arquivo /etc/squid/squid.conf. Procure pela sessão redirect_program e adicione a seguinte linha:
redirect_program /usr/local/netfilter/bin/redirector/netfilter
Ainda no squid.conf, descomente as seguintes linhas:
httpd_accel_port 80
httpd_accel_host virtual
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
- Edite o arquivo /etc/php.ini. Procure pela linha register_globals e altere essa opção para on. Na sessão extension, verifique se o módulo pgsql.so está sendo carregado. Caso não esteja, copie o arquivo pgsql.so do diretório de instalação para o diretório de extensões do php, que você definiu na opção extension_dir (o padrão é /usr/lib/php/modules), e adicione a linha extension=pgsql.so na sessão extension do php.ini.
- Edite o arquivo /etc/httpd/conf/httpd.ini, e procure pela linha listen. Altere o valor padrão (provavelmente 80) para outra porta, recomendamos o uso da porta 8080.
- Edite o arquivo /var/lib/pgsql/data/pg_hba.conf, e altere o método de acesso (method) para trust.
- Adicione o conteúdo do arquivo tarefascron, localizado no diretório de instalação, ao arquivo /etc/crontab.
- Verifique se o diretório de cache do squid foi inicializado. Se o squid nunca foi iniciado nesse computador, execute o comando abaixo para que o diretório de cache seja configurado corretamente.
# squid -z
- Crie o banco de dados logs no postgresql e adicione o SQL do arquivo criatabelas.sql para esse banco.
# sudo -u postgres createdb logs
# sudo -u postgres psql -d logs -f criatabelas.sql
- Descompacte o conteúdo do arquivo databases.tar.gz para o diretório /var/bd
- Descompacte o conteúdo do arquivo boot.tar.gz para o diretório /etc/rc.d/init.d, e execute os comandos abaixo:
# ln -s /etc/rc.d/init.d/S65nftables.sh /etc/rc.d/rc3.d/S65nftables.sh
# ln -s /etc/rc.d/init.d/S66utip.sh /etc/rc.d/rc3.d/S66utip.sh
# ln -s /etc/rc.d/init.d/S66banda.sh /etc/rc.d/rc3.d/S66banda.sh
# ln -s /etc/rc.d/init.d/S66nfp2p.sh /etc/rc.d/rc3.d/S66nfp2p.sh
# ln -s /etc/rc.d/init.d/S66netfilter.sh /etc/rc.d/rc3.d/S66netfilter.sh
Caso o inittab padrão de sua máquina seja 5, substituia o rc3.d por rc5.d.
- Descompacte o conteúdo do arquivo usr.tar.gz para o diretório /usr/local.
- Descompacte o conteúdo do arquivo usretc.tar.gz para o diretório /usr/local/etc.
- Descompacte o conteúdo do arquivo htmls.tar.gz para o diretório /var/www.
- Crie os arquivos temporários do Netfilter:
# touch /var/log/netfilter.block
# touch /var/log/netfilter.libe
# touch /var/log/netfilter_cluster.block
# touch /var/log/netfilter_cluster.libe
- Altere as permissões de acesso dos arquivos Netfilter, digitando os comandos abaixo:
# chmod -R +666 /var/db/netfilter
# chmod -R +666 /usr/local/netfilter
# chmod +666 /var/log/netfilter*
Após ter efetuado todos os procedimentos, reincie seu computador e verifique o funcionamento do Netfilter. Em caso de falha, verifique o capítulo de solução de problemas a seguir.
SOLUCIONANDO PROBLEMAS DE INSTALAÇÃO
O apache não inicializa.
Verifique se todos os módulos especificados no httpd.conf estão presentes. Veja se a porta escolhida já não está em uso por outro servidor.
O squid não inicializa.
Veja se o cache do squid foi inicializado corretamente. Verifique se suas configurações de rede e DNS estão corretas.
O squid funciona perfeitamente, mas trava após algum tempo.
Tamanho do cache para o squid muito pequeno. Configure o squid.conf de modo que o cache do squid seja maior.
Tudo aparenta estar funcionando corretamente, mas o Netfilter não filtra as páginas e protocolos.
Sua licença do Netfilter é inválida. Contacte o serviço de suporte para obter uma nova licença de uso.
O controle de protocolo ou banda não funcionam.
Para que esses recursos funcionem corretamente, o Netfilter deve ser o gateway de sua rede, ou o netfilter deve estar conectado a um hub ou switch que permita que o servidor Netfilter capture todo tráfego da rede. Reconfigure os clientes para que usem o servidor Netfilter como gateway de acesso ou configure seu switch (caso seja possível) para que transmita todo o tráfego da rede para a porta onde o servidor Netfilter está conectado.
Squid funciona como proxy, mas não funciona como proxy transparente.
Está faltando as configurações correspondentes no squid.conf ou S65nftables.sh. Reveja sua instalação e veja se esses passos foram efetuados corretamente.
Aparece uma página em branco com uma mensagem de erro do PHP ao abrir a página de logs.
O pacote ou módulo que habilita o suporte a PostgreSQL no PHP não foi instalado.
O Netfilter não salva os logs, ao tentar gerar um relatório ele sempre retorna vazio.
Servidor PostgreSQL não está inicializando corretamente, verifique se está funcionando usando o comando service postgresql status. Não foram adicionadas as tarefas no crontab. Veja o passo de instalação manual e veja se as tarefas estão presentes no crontab, adicionando-as caso necessário.
O Netfilter não salva os logs, ao tentar gerar um relatório ele retorna uma mensagem de erro.
Servidor PostgreSQL não está inicializando corretamente. O banco de dados do Netfilter não foi criado. Permissão de acesso do postgres não configurado corretamente. (caso apareça mensagem “access denied” ou “permissão negada”).
Consumo excessivo de memória pelo apache.
Foi configurado um número excessivo de processos filhos no httpd.conf . Diminua o valor, com cuidado para não causar problemas de performance devido a valores muito baixos.
Netfilter não salva as configurações feitas no painel de administração.
Defina corretamente as permissões de acesso aos arquivos do Netfilter.
Não é possível sair da tela de login do Netfilter, mesmo utilizando usuário e senha corretos.
Não foi habilitada a opção register_globals = on no arquivo /etc/php.ini. Faça a alteração e reinicie o apache.
Questões referentes a instalação do Fedora Core 4
Mensagem de erro “kernel panic” durante ou após a instalação do Fedora.
Falha de hardware ou dispositivo incompatível Particionamento de disco incorreto
Tela preta ou embaralhada durante a instalação do Fedora.
Placa de vídeo não suportada pelo servidor X. Use o modo texto para instalação ou substitua a placa de vídeo. Um exemplo de placa de vídeo incompatível são aquelas baseadas em chipset Trident.
A cópia dos arquivos trava durante a instalação, mas o micro continua respondendo.
A mídia está danificada, ou o arquivo ISO que foi usado para gerar o disco está corrompido. Faça o teste de CRC do ISO utilizando o md5sum e regrave o CD.
|