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.
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.
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
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.
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
Os pacotes são processados em cada chain embutida usando as seguintes tabelas.
Regras de firewall possuem diversos alvos :
--to-source endereçoip[-endereçoip][:porta-porta]
--to-ports porta[-porta]
--to-destination endereçoip[-endereçoip][:porta-porta]
--to-ports porta[-porta]
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
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
.
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
ao diretório
M30redirect.def
/etc/ipmasq/rules/
.
[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 :
[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 :)
Referência Debian
1.06-16, Sáb Jan 3 21:37:21 UTC 2004osamu@debian.org
pormenese@uol.com.br