[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ próximo ]

Referência Debian
Capítulo 10 - Construindo um gateway com um sistema Debian


O Debian oferece uma máquina gateway para todos os propósitos, a qual gerencia NAT, mail, DHCP, cache DNS, HTTP proxy cache, CVS, NFS e serviços Samba para um sistema LAN doméstico. Consulte Netfilter, onde muitos tópicos de configuração de rede são explicados.


10.1 Configuração de rede


10.1.1 Configuração de host para o gateway

A LAN usa endereços IP para as seguintes faixas de rede privadas para evitar colisão de endereços IP com a Internet.

     Class A: 10.0.0.0                    com máscara 255.0.0.0
     Class B: 172.16.0.0 - 172.31.0.0     com máscara 255.255.0.0
     Class C: 192.168.0.0 - 192.168.255.0 com máscara 255.255.255.0

O Debian usa o arquivo /etc/network/interfaces para configuração IP.

Por exemplo, caso a interface eth0 conecte à Internet com um endereço IP fornecido via DHCP e a interface eth1 conecte a LAN, o arquivo /etc/network/interfaces é configurado como a seguir (para o Woody e posteriores) :

     auto lo
     iface lo inet loopback
     
     auto eth0
     iface eth0 inet dhcp
     
     auto eth1
     iface eth1 inet static
     address 192.168.1.1
     network 192.168.1.0
     netmask 255.255.255.0
     broadcast 192.168.1.255

Execute o comando a seguir para atualizar a configuração de rede para o novo arquivo /etc/network/interfaces :

     # /etc/init.d/networking restart

Lembrete : o arquivo /etc/network/interfaces no Woody e em versões posteriores não é compatível com o Potato. (O mesmo situação pode acontecer entre o Sarge e o Woody.)

Caso o sistema use uma placa de rede PCMCIA, é necessário configurar a rede através do arquivo /etc/pcmcia/network.opts ao invés do arquivo indicado anteriomente em sistemas Potato. Em sistema Woody, esse problema foi solucionado.

Confira a saída dos comandos a seguir caso esteja em dúvida :

     # ifconfig
     # cat /proc/pci
     # cat /proc/interrupts
     # dmesg | more

Algumas vezes, conexões DSL (PPPoE) possuem problemas de MTU. Consulte o documento LDP DSL-HOWTO. Caso você tenha problemas com certos websites, consulte Estranhos problemas de acesso a alguns websites, Seção 3.7.5.


10.1.2 Pontos de checagem de configuração de rede

Conjunto típico de programas :

     # apt-get install nfs samba dhcpd dhcp-client bind squid procmail fetchmail 
     # apt-get install ssh cvs

Então confira os seguintes arquivos :

     /etc/init.d/dhcpd       (edite para servir somente LAN = eth1)
     /etc/host.allow         (ALL: 192.168.0.0/16 127.0.0.0/8) para NFS
     /etc/exports            (Esse é preciso para NFS)
     /etc/bind/db.192.168.1  (adicione)
     /etc/bind/db.lan        (adicione)
     /etc/bind/named.conf    (edite)
     /etc/resolv.conf        (edite)
     /etc/hosts
     /etc/dhcpd.conf         (edite para LAN = eth1)
     /etc/dhclient.conf      (edite para forçar DNS local)
     /etc/samba/smb.conf
     /etc/exim/exim.conf
     /etc/mailname
     /etc/aliases
     /etc/squid.conf         (adicione todos os IPs dos hosts da LAN como permitidos)

O bind cria um servidor de cache DNS local. Mude o DNS para localhost. Confira o arquivo /etc/resolv.conf :

     nameserver 127.0.0.1
     search lan.aokiconsulting.com

10.2 Configuração Netfilter

O projeto netfilter/iptables é um subsistema de firewalling para o kernel Linux 2.4 e superiores. Consulte Netfilter, onde muitos tópicos de configuração de rede são explicados.


10.2.1 Básico do netfilter

O Netfilter processa pacotes usando 5 chains embutidas : PREROUTING, INPUT, FORWARD, OUTPUT e POSTROUTING.

                     decisão de
                     roteamento
     IN ------> PRE ---> ------> FORWARD -----> ----> POST -----> OUT
     interface  ROUTING  \       filter       /       ROUTING     interface
                DNAT     |       tracking     ^       SNAT
                REDIRECT |                    |       MASQUERADE
                         v                    |
                       INPUT                OUTPUT
                         | filter             ^ filter,DNAT 
                         v                    |
                         \--> Processo Local --/
                             programas user-space

10.2.2 Tabela Netfilter

Os pacotes são processados em cada chain embutida usando as seguintes tabelas.


10.2.3 Alvo Netfilter

Regras de firewall possuem diversos alvos :


10.2.4 Comandos Netfilter

Os comandos básicos do iptables são :

     iptables -N chain                   # cria uma chain
     
     iptables -A chain \                 # adiciona regra na chain
              -t tabela \                # usa tabela (filter, nat, mangle)
              -p protocolo \             # tcp, udp, icmp ou all,
              -s endereço-origem[/máscara] \
              --sport porta[:porta] \    # porta de origem caso -p seja tcp ou udp
              -d endereço-origem[/máscara] \
              --dport porta[:porta] \    # porta de destino caso -p seja tcp ou udp
              -j alvo \                  # o que fazer se o pacote casar
              -i nome-interface-entrada \# para INPUT,  FORWARD, PREROUTING
              -o nome-interface-saída    # para FORWARD, OUTPUT, POSTROUTING

10.2.5 Mascaramento de IP

Máquinas na LAN podem acessar os recursos da Internet através de um gateway que executa mascaramento de IP (NAT) compartilhando um único endereço IP acessível externamente.

     # apt-get install ipmasq

Aplique as regras de exemplo para aumentar a proteção do ipmasq. Consulte /usr/share/doc/ipmasq/examples/stronger/README. Para imagens de kernel Debian 2.4 , certifique-se de carregar os módulos apropriados. Consulte Função de rede, Seção 7.2.3 para conhecer a configuração necessária.

Para imagens de kernel Debian 2.2, edite o Z92timeouts.rul em /etc/masq/rules como a seguir para assegurar uma conexão mais longa para sites remotos (bom para grandes e-mails, etc.) :

     # tcp, tcp-fin, udp
     # 2hr, 10 sec, 160 sec - padrão
     # 1 day, 10 min, 10 min - exemplo mais longo
     $IPCHAINS -M -S 86400 600 600

Adicionalmente, caso a rede seja acessada através de uma placa de rede PCMCIA, o ipmasq precisa ser iniciado a partir de /etc/pcmcia/network.opts. Leia /usr/share/doc/ipmasq/ipmasq.txt.gz.


10.2.6 Redirecionar conexões SMTP (kernel 2.4)

Suponha que você possua um notebook PC que esteja configurado para usar outros ambientes LAN e você queira usar seu agente de mensagens de usuário (software de e-mail) no notebook PC sem reconfigurá-lo.

Adicionar as seguintes regras através do comando iptables na máquina gateway irá redirecionar a conexão SMTP para a máquina gateway.

     # iptables -t nat -A PREROUTING -s 192.168.1.0/24 -j REDIRECT \
                -p tcp --dport smtp --to-port 25 # smtp=25, INPUT está aberto

Para um conjunto de regras de redirecionamento mais completo considere instalar o pacote ipmasq e adicionar M30redirect.def ao diretório /etc/ipmasq/rules/.


10.3 Gerenciar múltiplas conexões de rede

[FIXME] Política de roteament (por Phil Brutsche pbrutsch@tux.creighton.edu): Confira o manual iproute para maiores detalhes. Controle de tráfego (tc) pode também ser interessante.

Ambiente :

     eth0: 192.168.1.2/24; gateway 192.168.1.1
     eth1: 10.0.0.2/24; gateway 10.0.0.1
     Sem mascaramento nesta máquina.

Mágica especial :

  1. ip rule add from 192.168.1.2 lookup 1
  2. ip rule add from 10.0.0.2 lookup 2
  3. ip route add to default via 10.0.0.1 metric 0
  4. ip route add to default via 192.168.1.1 metric 1
  5. ip route add table 1 to 192.168.1.0/24 via eth0
  6. ip route add table 1 to 10.0.0.2/24 via eth1
  7. ip route add table 1 to default via 192.168.1.1
  8. ip route add table 2 to 192.168.1.0/24 via eth0
  9. ip route add table 2 to 10.0.0.2/24 via eth1
  10. ip route add table 2 to default via 10.0.0.2

[FIXME] Eu nunca fiz isso. Como configurar a conexão discada como backup para uma conexão rápida com recursos de auto-discagem ? Por favor enviem-me um patch aqui :)


[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ próximo ]

Referência Debian

1.06-16, Sáb Jan 3 21:37:21 UTC 2004

Osamu Aoki osamu@debian.org
Paulo Rogério Ormenese (líder: pt-br) pormenese@uol.com.br
Autores, Seção A.1