Instalação, configuração do Coyote Linux

Por Noticias Populares em 22 fevereiro, 2009, 5:15 pm

Vamos ensinamos como configurar e usar o Coyote, sistema baseado no Linux 2.4 capaz de transformar um micro qualquer (até um 486 com 16MB de RAM sem HD) em um roteador capaz de compartilhar o acesso à Internet com toda a sua rede local.

  • O Coyote Linux provê uma forma simples e barata de dividir a conexão Internet para redes locais de pequeno porte;
  • Oferece desempenho e estabilidade do kernel 2.4 (embora uma versão bem enxuta);
  • Suporta protocolo PPPoE, normalmente utilizado pelos serviços de banda larga;
  • Suporta protocolo PPP dialup para conexão discada via modem;
  • Oferece o Iptables, firewall maduro e integrado a nível de kernel;
  • Oferece serviço DHCP para as máquinas internas;
  • Oferece administração via SSH e/ou via browser.

E mais…

  1. O Coyote serve apenas como roteador e firewall de pacotes – ele não serve como plataforma para serviços de Internet, como FTP, DNS, SMTP, etc.;
  1. Não suporta Modems PCI ou WinModems.

“Obs: isso não impossibilita que você configure o redirecionamento de portas para que possa criar tais serviços em alguma máquina interna – veja mais detalhes sobre o iptables. (no fim do manual falaremos um pouco sobe iptables)”.

Configuração de hadware necessária:

Processador 486 ou superior*;
Pelo menos 16 de RAM
Uma placa de rede para comunicação interna, e outra placa/modem para conexão com Internet;
Floppy 1.44MB

Dica: Criando o disco pelo Linux você tem a opção de utilizar processadores inferiores a um 486, mas o processamento de cálculos matemáticos precisa ser emulado pelo kernel. A criação pelo Windows não possui esta opção (não recomendável)”.

Conexão e Diagrama da Rede

No COYOTE LINUX, você escolhe o tipo de conexão com a Internet que será compartilhada.

As Opções são:

  • DHCP Assigned Adress – Usado com conexões via cabo ou linha dedicada, onde as configurações são feitas pelo servidor da operadora. Entre em contato com a empresa par saber o nome ( ou IP ) do servidor DHCP, marque a caixa “My areas require a DHCP” e digite o nome do servidor na caixa “Hostname:”;
  • Use a static IP confiration – Usado em conexões com IP fixo como satélites e linhas privadas. Mais uma vez, devemos entrar em contato com o provedor, pedindo todos os parâmetros como IP, máscara, Gateway e domínio. Com os dados em mãos, é só preencher todos os campos necessários;
  • PPPoE Configured Internet – Usado com conexões ADLS como o Speedy da Telefônica e Velox da Telemar, onde efetuar login quando nos conectamos e o IP muda automaticamente de tempos em tempos. Além do login e senha usuais, será necessário ter pelo menos um servidor de DNS (nameserver 1). Entre em contato com a operadora para obter esses dados, caso ainda não os tenha;
  • PPP Modem Dialup – Usado com conexões discadas comuns, via modem e linha telefônica convenciona. Além dos dados do provedor, como:

Número de telefone; Servidores DNS; Usuário e senha, você deve selecionar em que porta serial (COM) o seu modem está configurado.

Lembre-se que o COYOTE, não suporta Soft Modems, por isso deve-se teu um modem “de verdade” instalado no computador que compartilhará a Internet. Caso este modem seja interno, desabilite o recurso Plug-and-Play, configurando-o manualmente (normalmente por jumpers). Sugerimos usar a COM3 (com IRQ4), que normalmente está livre no computador.

  • NA opção “Dial On Demand Timeout:”, configuramos o tempo em segundos, após o envio do último pacote, em que o COYOTE se desconectará do provedor.

Abaixo, o esquema da rede com COYOTE:

diagrama_de_rede_coyote_linux


Criando o disco

Aqui temos duas opções: criar pelo Windows ou Linux.

Para o Linux foi desenvolvido uma série de scripts que auxiliam na criação do disco Coyote. Pelo Windows, instalação gráfica de exatamente 7 passos, sem necessidade de conhecimentos específicos do Linux.

Download para Windows
Download para Linux

Instalando pelo Windows:

Nota: A instalação pelo Linux segue praticamente os mesmos passos descritos aqui – a única diferença é que pelo Linux usamos scripts via terminal. Já que o intuito deste tutorial é facilitar bastante a criação de um roteador/firewall (em exatos 8 passos!). E não esquecendo antes de criar o disquete, formate-o “completo” e faça a verificação de erro (Scandisk), só use o disquete se ele estiver completamente sem erros.

Faça o download do arquivo zip para windows e o descompacte. Siga clicando em setup.exe e …

Primeiro Passo:

instalacao_coyote_linux1

A próxima tela é onde configuramos parâmetros e opções da rede Interna, que obviamente deve utilizar uma classe de endereço IP reservado.

O Coyote nos sugere utilizar a sub-rede 255.255.255.0 , sendo que a interface interna do Coyote fica com o endereço 192.168.0.1 . Isso significa que os computadores locais servidos pelo Coyote também utilizarão endereços IP dentro da sub-rede sugerida (de 192.168.0.2 ate 192.168.0.253, estando disponíveis, 253 endereços de IP, só relembrando o COYOTE é indicado para poucas máquinas, quando a necessidade for maior, recomenda-se usar o Wolverine, que falaremos no fim do manual). Normalmente não há necessidade de mudar esses parâmetro – só mude se desejar algum outro range de IP reservado.

Segundo Passo:

instalacao_coyote_linux2

Clique em “Next”

Terceiro Passo:

instalacao_coyote_linux3

Aqui configuramos a senha do ROOT (ADMINISTRADOR), não utilize senha fácil.

instalacao_coyote_linux4

O Coyote permite que todo log gerado pelo syslog seja enviado a um servidor remoto. Isso significa que todo log gerado pelos aplicativos/kernel, gerenciado pelo programa syslog será enviado para um servidor syslogd pré-configurado da rede Interna. O motivo? Facilidade de administração e maior segurança.
Se você não quer este recurso, apenas deixe em branco e clique Next .

Quarto passo:

instalacao_coyote_linux5

Lembra que comentei sobre os tipos de conexão externa? Agora é o momento de escolher qual se aplica ao seu caso. Se você estiver em dúvida, consulte a empresa que oferece o serviço de Internet – ela tem obrigação de te informar .

Clique em “Next”

Quinto passo:

instalacao_coyote_linux6

Clique em “Next”

Sexto passo:

Configurando a placa de rede:

instalacao_coyote_linux7

No nosso caso temos 2 placas 3com 3c501. Configure as mesmas Placas em “Local Network Card” e em “Internet Network Card”.
Clique em “Next”.

Sétimo Passo:

Nesse passo, escolheremos o idioma do nosso sistema (disquete):

instalacao_coyote_linux8

Após escolhido:

instalacao_coyote_linux9

Clique em “Next”

Oitavo passo:

Agora é só clicar em “Create Disk”

instalacao_coyote_linux10

Preparando os clientes:

Após criar o disquete, devemos configurar cada um dos hosts da rede para que acessem a Internet via Coyote.

Nas máquinas Windows:

  1. Abra o Internet Explorer e acesse o menu Ferramentas > Opções da Internet > Conexões e marque a opção “Nunca discar uma conexão”;
  2. Clique no botão “Configurações da LAN” e marque “Detectar automaticamente as configurações”;
  3. Clique em “Ok” e em “Ok” novamente para fechar todas as janelas aceitando as configurações;
  4. Acesse Iniciar > Configurações > Painel de controle > Rede. Selecione o TCP/IP para a placa de rede e clique em “Propriedades”;
  5. Na aba “endereço IP”, digite o IP e a máscara de rede do cliente. Lembre-se que a máscara e os três primeiros números do IP devem ser os mesmos e o último número do IP deve ser diferente para cada host da rede. Caso a opção DHCP do Coyote tenha sido habilitada, apenas selecione “Obter um IP automaticamente” que o Coyote fará o resto;
  6. Na aba “Gateway”, digite 192.168.0.1 ou o endereço que você configurou no Coyote. Clique em “Adicionar”, depois em “Ok”;
  7. Na aba “Identificação”, dê um nome para o cliente atual em “Nome do computador” (que deve ser diferente em cada cliente) e um nome para a rede em “Grupo de trabalho” (que deve ser o mesmo para todos da rede). Preencha também a “Descrição do computador” com qualquer coisa;
  8. Na aba “Configuração DNS”, seleciona “Ativar DNS”, em “Host” preencha com o nome da máquina com o Coyote como por exemplo “Coyote” e no “Domínio”, coloque o domínio fornecido pelo provedor, normalmente “provedor.com.br”;
  9. Em “Ordem pesquisa servidor DNS”, insira o endereço do Coyote, 192.168.0.1 e clique em “Adicionar” para que ele seja acrescentado na lista logo abaixo;
  10. Clique “Ok” e reinicie o computador para que as configurações sejam aceitas.

O processo deve ser repetido em todos os clientes da rede que acessarão a Internet via Coyote.

Nas máquinas Linux:

Se você tem clientes Linux na rede, as configurações destes devem ser as mesmas:

  • IP do cliente: 192.168.0.X – Onde o “X” é um número diferente em cada host, e varia de 2 até 254;
  • Máscara de rede: 255.255.255.0 – Em todos os hosts;
  • Gateway padrão: 192.168.0.1 – Ou, caso tenha sido alterado, o IP do Coyote na rede;

Como esta configuração depende da distribuição utilizada, convém procurar a ajuda do seu Linux para saber como fazer. Normalmente utilizamos a ferramenta Linuxconf.

O micro com o Coyote:

Criado o disquete, e configurados os clientes, insira o disco do Coyote no computador que você preparou anteriormente e ligue-o. Se todas as configurações foram feitas corretamente, nenhuma mensagem de erro deve ser apresentada durante a incialização.

Caso não funcione de primeira, com certeza faltou algum detalhe ou até mesmo um pouco de experiência. Para ter mais detalhes, convém acessar o site www.coyotelinux.com em busca de mais informações, principalmente relacionadas ao hardware suportado.

Ferramentas como o ping serão muito úteis para testar as configurações e conexões da rede.

  • SSH na porta 22 (tanto de máquinas locais quanto máquinas externas – na internet) : a vantagem é a segurança – todos os dados trafegam cifrados .
  • WWW na porta 80 : aponte teu browser para http://192.168.0.1 (ou o hostname do Coyote, desde que já esteja configurado no /etc/hosts e/ou DNS)
  • Se houve resposta e suas configurações da interface externa (DNS, endereço IP, máscara,etc) estiverem corretos, você já pode acessar a internet.
  • Se ocorrer algum problema, releia este tutorial desde o início e preste atenção principalmente em:
  • Endereçamento IP da rede local – precisa ser uma sub-rede de IP reservado!
  • Endereçamento IP da rede externa;
  • Servidor DNS está configurado corretamente?;
  • No caso de PPPoE e PPP dialup, certifique que o usuário e senha estão corretos;
  • Modelo (módulo) das interfaces de rede.

Vamos partir para a parte do IPTABLES …

O IPTABLES é uma ferramenta de edição da tabela de filtragem de pacotes, ou seja, com ele você é capaz de analisar o cabeçalho (header) e tomar decisões sobre os destinos destes pacotes. O IPTABLES não é a única solução existente para controle desta filtragem, temos ainda as antigas ipfwadm e ipchains, dentre outros.

O iptables é um firewall com estado, ou seja, um firewall stateful. Os anteriores eram stateless. O modo de filtragem ‘Stateless’ tende a tratar cada pacote roteado pelo firewall como pacotes individuais, sendo mais simples de implementar e por terem uma resolução mais rápida que um do tipo stateful, podem ser usados para obterem um desempenho melhor em determinadas situações onde existem regras de nível de rede bem simples.

O tipo de filtragem stateful (IPTABLES) cria um poderoso sistema de firewall que se “lembra” das conexões entrantes, evitando ataques do tipo Stealth Scans, que trazem flags especiais para técnicas de port scanning, como o uso da flag ACK para enganar tais firewalls.

Não vamos entrar em detalhes sobre o funcionamento deste ataque ou do tipo stateful, porém podemos afirmar que usando stateful trataremos de forma mais inteligente as atividades da rede, indo até mais longe do que o conceito de filtro de pacotes (Packet Filter) devido a esta característica.

Funcionamento

Através de regras poderemos fazer com que os pacotes possam ser ou não recebidos a rede toda, a determinada máquina, interface ou mesmo porta de conexão. O Iptables trabalha através de Tabelas, Chains e Regras:

Tabelas: Existem 3 tabelas possíveis de serem utilizadas no Iptables, sendo que uma delas, a mangle raramente é usada, restando a filter, que é a padrão, utilizada nos tráfegos de dados comuns, sem ocorrência de NAT. Quando não especificamos qual tabela a ser utilizada é ela que será ativada. A outra geralmente utilizada é a nat, que como o próprio nome diz, usada quando há ocorrência de NAT.

Chains: Através delas podemos especificar a situação do tratamento dos pacotes, seja qual tabela for.

Quando utilizamos a tabela nat as Chains possíveis são:

PREROUTING – Quando os pacotes entram para sofrerem NAT.
POSTROUTING – Quando os pacotes estão saindo após sofrerem NAT
OUTPUT – Pacotes que são gerados na própria máquina e que sofrerão NAT
Já com a tabela filter as Chains são:
INPUT – Pacotes cujo destino final é a própria máquina firewall.
OUTPUT – Pacotes que saem da máquina firewall
FORWARD – Pacote que atravessa a máquina firewall, cujo destino é uma outra máquina. Este pacote não sai da máquina firewall e sim de outra máquina da rede ou fonte. Neste caso a máquina firewall está repassando o pacote.

Regras: As regras de firewall geralmente são compostas de uma Tabela, Opção, Chain, Dados e Ação. Através destes elementos podemos especificar o que fazer com os pacotes.
Opções:
-P Define uma regra padrão
-A Acrescenta uma nova regra as existentes.
Este tem prioridade sobre a -P
-D Apaga-se uma regra
-L Lista as regras existentes
-F Apaga todas as regras
-I Insere uma regra nova
-h Muito útil, pois mostra a ajuda
-R Substitui uma regra
-C Faz uma checagem das regras existentes
-Z Zera uma regra específica
-N Cria uma nova regra com um nome
-X Exclui uma regra específica pelo seu nome

Ações:
As ações sempre vem após o parâmetro -j e geralmente são:
ACCEPT – Aceita e permite a passagem do pacote.
DROP – Não permite a passagem do pacote e abandona-o não dando sinais de recebimento.
REJECT – Assim como o DROP, não permite a passagem do pacote, mas envia um aviso ( icmp unreachable )
LOG – Cria um Log referente a regra em /var/log/messages

  1. iptables -A FORWARD -s 192.168.0.45 -p icmp -j DROP
    Sendo: -A ( opção ) / FORWARD ( Chain ) / -s 192.168.0.45 -p icmp ( Dados ) -j DROP ( Ação )

Diferenças entre iptables e ipchains

  1. Primeiramente, os nomes das chains padrão passarão a ser escritos com MAIÚSCULAS em vez de minúsculas, porque as chains INPUT e OUTPUT apenas recebem pacotes destinados localmente e gerados localmente. Antes, essas chains visam todos os pacotes entrando e saindo, respectivamente.
  2. A flag `-i’ agora significa interface de entrada e apenas funciona nas chains INPUT e FORWARD. Regras nas chains FORWARD e OUTPUT que utilizavam `-i’ devem ser alteradas para `-o’
  3. Portas TCP e UDP agora precisam ser descritas com as opções –source-port ou – sport (ou –destination-port/–dport), que devem se colocadas depois das opções `-p tcp’ ou `-p udp’, já que essas carregam as extensões TCP ou UDP respectivamente.
  4. A flag TCP -y agora é –syn, e deve ser posicionada depois de `-p tcp’.
  5. Finalmente o alvo DENY agora é DROP.
  6. Zerar chains enquanto listando-as funciona.
  7. Zerar chains padrão também apaga os contadores de suas políticas.
  8. Listar as chains também mostra os contadores.
  9. REJECT e LOG são agora alvos-extensões, ou seja, eles são módulos do KERNEL separados.
  10. Nomes das chains podem ter até 31 caracteres.

MASQ agora é MASQUERADE e utiliza uma sintaxe diferente. REDIRECT, embora tenha mantido o nome, também sofreu uma mudança de sintaxe.

Veja o NAT HOWTO para mais informações sobre como configurar ambos.
A opção -o não é mais utilizada para mandar os pacotes para o dispositivo userspace (veja -i acima). Pacotes agora são mandados para o espaço do usuário com o alvo QUEUE.

Abaixo vão algumas dicas de IPTABLES :

#Redirecionar Porta
iptables -t nat -A PREROUTING -s IP_NET -i EXT_INT -j DNAT –to IP_DESTINO
iptables -t nat -A POSTROUTING -s IP_NET -o EXT_INT -p tcp –dport PORT -j ACCEPT
iptables -t nat -A POSTROUTING -s IP_DESTINO -o EXT_INT -j SNAT –to IP_NET
iptables -t nat -A POSTROUTING -s IP_DESTINO -o EXT_INT –p tcp –dport PORT -j ACCEPT
IP_NET = IP válido da internet.
EXT_INT = Interface da Internet.
IP_DESTINO = IP inválido da Internet ou melhor ip da rede que vai fazer redirecionamento.
PORT = porta

#Proteção contra IP Spoofing
iptables -A INPUT -s 172.16.0.0/16 -i ext_face -j DROP
iptables -A INPUT -s 192.168.0.0/24 -i ext_face -j DROP
iptables -A INPUT -s 192.168.0.0/24 -i ext_face -j DROP
#Proteção contra port scanners ocultos
iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT
#Proteção contra ping da morte
iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT
#Bloqueando ping de um ip
iptables -A INPUT -p icmp -s 192.168.1.1/24 -j DROP
#Bloqueando pacotes fragmentados
iptables -A INPUT -i INTEXT -m unclean -j log_unclean
iptables -A INPUT -f -i INTEXT -j log_fragment

#Bloqueando tracertroute
iptables -A INPUT -p udp -s 0/0 -i eth1 –dport 33435:33525 -j DROP

Bloqueando MSN

A regra abaixo bloqueia qualquer host da rede ao conectar no MSN:
iptables -A FORWARD -s LAN -p tcp –dport 1863 -j REJECT
iptables -A FORWARD -s LAN -d loginnet.passport.com -j REJECT
LAN = Rede interna (192.168.0.0/32)
Essa regra libera para o host 192.168.0.2, 192.168.0.3 e 192.168.0.4
# Host Liberados
iptables -A FORWARD -s 192.168.0.2/32 -p tcp –dport 1863 -j ACCEPT
iptables -A FORWARD -s 192.168.0.2/32 -d loginnet.passport.com -j ACCEPT
iptables -A FORWARD -s 192.168.0.3/32 -p tcp –dport 1863 -j ACCEPT
iptables -A FORWARD -s 192.168.0.3/32 -d loginnet.passport.com -j ACCEPT
iptables -A FORWARD -s 192.168.0.4/32 -p tcp –dport 1863 -j ACCEPT
iptables -A FORWARD -s 192.168.0.4/32 -d loginnet.passport.com -j ACCEPT

# Bloqueando os Demais

iptables -A FORWARD -s 192.168.0.0/32 -p tcp –dport 1863 -j REJECT
iptables -A FORWARD -s 192.168.0.0/32 -d loginnet.passport.com -j REJECT
#Bloqueando WebMensseger
Para bloquear o WebMensseger basta usar o seguinte host: webmessenger.msn.com
iptables -A FORWARD -s LAN -d webmessenger.msn.com -j REJECT
LAN = Rede interna (192.168.0.0/32)
Essa regra libera para o host 192.168.0.2, 192.168.0.3 e 192.168.0.4
# Host Liberados
iptables -A FORWARD -s 192.168.0.2/32 -d webmessenger.msn.com -j ACCEPT
iptables -A FORWARD -s 192.168.0.3/32 -d webmessenger.msn.com -j ACCEPT
iptables -A FORWARD -s 192.168.0.4/32 -d webmessenger.msn.com -j ACCEPT

# Bloqueando os Demais

iptables -A FORWARD -s 192.168.0.0/32 -d webmessenger.msn.com -j REJECT
Esse script é uma outra forma que você possa bloquear o MSN
PORTS=”1863:1864 6891:6900 6901 1863 5190 6901″

for PORT in $PORTS; do

$IPTABLES -A FORWARD -o $DEV_PUB -s ! 192.168.0.20 -p tcp –dport $PORT -j DROP

done

$IPTABLES -A FORWARD -s ! 192.168.1.20 -d 64.4.13.0/24 -j REJECT

OBS: Como padrão o COYOTE 2.4 (esta versão que utilizamos) já bloqueia os programas P2P.

Conclusão

Após varias pesquisas, concluímos que, o COYOTE é um roteador e firewall, fácil de criar, configurar , administrar. Para as atividades de compartilhamento de pequenas redes, alem de ser bem mais barato e eficaz.

Fontes:

www.br-linux.org
www.coyotelinux.com
www.linuxit.com.br
www.vivaaolinux.com.br
www.linuxdicas.com.br
www.eriberto.pro.br
www.guiadohardware.net

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks

Leia também

  • Download Google Chrome OS (Sistema operacional)
  • Wordpress para iniciantes
  • Melhor contador de visitas para blog e site
  • Tutorial Easyphp 3.0
  • Configurando o Plugin WP-PostRatings
1 Voto2 Votos3 Votos4 Votos5 Votos (No Ratings Yet)
Loading ... Loading ...
Enviar para um amigo Enviar para um amigo
Categorias : Linux | Segurança | Totoriais

Comments
izabella 14 de março de 2009

quero saber como é que faço para estalar o msn no meu micro, que é linux.

obrigo pela atenção.

André Belchior 22 de dezembro de 2009

Muito bom! Unico local que descreve muito bem iptables, referindo maioria dos comandos necessarios!

Leave a comment