Este capítulo está focado em administração de rede no Debian. Para uma
introdução geral a redes no GNU/Linux, leia o Net-HOWTO
.
Para um sistema Debian ser capaz de acessar a Internet, suas interfaces de rede precisam ser suportadas pelo kernel e estar configuradas apropriadamente.
O primeiro requisito é o suporte de kernel para os dispositivos de interface de rede como placas Ethernet, placas Wi-Fi e modems. Para obter esse suporte você pode precisar recompilar o kernel ou adicionar módulos a ele como descrito em O kernel Linux no Debian, Capítulo 7.
A configuração de dispositivos de rede é explicada abaixo. A informação nesse capítulo foi atualizada para o Sarge. Muito dela não se aplica para versões anteriores.
Um sistema Debian pode ter várias interfaces, cada uma com um endereço de Protocolo de Internet (IP) diferente. As interfaces podem ser de diferentes tipos, incluindo:
Há uma grande faixa de outros dispositivos de rede disponíveis, incluindo SLIP, PLIP (IP em linha serial e paralela), dispositivos "shaper" para controlar o tráfego em certas interfaces, frame relay, AX.25, X.25, ARCnet, e LocalTalk.
Toda interface de rede conectada diretamente à Internet (ou a qualquer rede baseada em IP) é identificada por um endereço IP de 32 bit único. [43] O endereço IP pode ser dividido na parte que endereça a rede e na parte que endereça o sistema (host). Se você tiver um endereço IP, defina para 1 os bits que são parte do endereço de rede e defina para 0 os bits que são parte do endereço do sistema e então você obtém a máscara da rede.
Tradicionalmente, redes IP foram agrupadas em classes cujas partes do endereço de rede foram de comprimento 8, 16 ou 24 bits. [44]
endereços IP máscara rede comprimento Classe A 1.0.0.0 - 126.255.255.255 255.0.0.0 = /8 Classe B 128.0.0.0 - 191.255.255.255 255.255.0.0 = /16 Classe C 192.0.0.0 - 223.255.255.255 255.255.255.0 = /24
Endereços IP fora dessas faixas são usados para propósitos especiais.
Há faixas de endereços em cada classe reservados para uso em redes locais (LANs). Esses endereços têm a garantia de não conflitar com nenhum endereço no domínio da Internet. (Pelo mesmo motivo, se um desses endereços é designado para um sistema então esse sistema não pode acessar a Internet diretamente, precisa acessá-la através de um gateway que atua como um proxy para serviços individuais ou que faça Translação de Endereço de Rede (Network Address Translation).) Essas faixas de endereços são dadas na tabela a seguir junto com o número de faixas em cada classe.
endereços de rede compr. quantidade Classe A 10.x.x.x /8 1 Classe B 172.16.x.x - 172.31.x.x /16 16 Classe C 192.168.0.x - 192.168.255.x /24 256
O primeiro endereço em uma rede IP é o endereço da própria rede. O último endereço é o endereço de broadcast da rede. [45] Todos os outros endereços podem ser alocados a sistemas na rede. Desses, o primeiro ou o último endereço normalmente é alocado para o gateway de Internet para a rede.
A tabela de roteamento contém a informação do kernel sobre como enviar pacotes IP aos seus destinos. Aqui está uma amostra de tabela de roteamento para um sistema Debian em uma rede local (LAN) com endereço IP 192.168.50.x/24. O sistema 192.168.50.1 (também na LAN) é um roteador para a rede corporativa 172.20.x.x/16 e o sistema 192.168.50.254 (também na LAN) é um roteador para a Internet para todos.
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 127.0.0.0 * 255.0.0.0 U 0 0 2 lo 192.168.50.0 * 255.255.255.0 U 0 0 137 eth0 172.20.0.0 192.168.50.1 255.255.0.0 UG 1 0 7 eth0 default 192.168.50.254 0.0.0.0 UG 1 0 36 eth0
Os endereços IP na tabela também podem aparecer como nomes que são obtidos
procurando endereços em /etc/networks
ou usando o resolvedor da
Biblioteca C.
Além de rotear, o kernel pode fazer translação de endereço de rede, shaping, e filtro.
Veja o Net-HOWTO
e
outros
HOWTOs de rede
para informações mais aprofundadas.
As ferramentas de configuração de rede de baixo nível tradicionais nos sistemas
GNU/Linux são os programas ifconfig
e route
que vêm
no pacote net-tools
. Essas ferramentas oficialmente foram
superadas pelo ip
que vem no pacote iproute
. O
programa ip
funciona no Linux 2.2 e superiores e é mais capaz que
as ferramentas antigas. Entretanto, as ferramentas antigas ainda funcionam e
são mais familiares a muitos usuários.
ifconfig
e route
Aqui está uma ilustração de como mudar o endereço IP da interface
eth0 de 192.168.0.3 para 192.168.0.111 e
tornar a eth0 como rota para a rede 10.0.0.0 via
192.168.0.1. Nós começamos executando ifconfig
e
route
sem argumentos de interface para exibir o estado atual de
todas as interfaces de rede e roteamento.
# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:46:7A:02:B0 inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:23363 errors:0 dropped:0 overruns:0 frame:0 TX packets:21798 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:13479541 (12.8 MiB) TX bytes:20262643 (19.3 MiB) Interrupt:9 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:230172 errors:0 dropped:0 overruns:0 frame:0 TX packets:230172 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:22685256 (21.6 MiB) TX bytes:22685256 (21.6 MiB) # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.0.0 U 0 0 0 eth0 default 192.168.0.1 255.255.255.255 UG 0 0 0 eth0
Primeiro nós desativamos a interface.
# ifconfig eth0 inet down # ifconfig lo Link encap:Local Loopback ... (agora sem a entrada eth0) # route ... (agora sem entradas de roteamento na tabela)
Então nós a ativamos com o novo endereço IP e novo roteamento.
# ifconfig eth0 inet up 192.168.0.111 \ netmask 255.255.0.0 broadcast 192.168.255.255 # route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.0.1 dev eth0
O resultado:
# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:46:7A:02:B0 inet addr:192.168.0.111 Bcast:192.168.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 ... lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 ... # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.0 * 255.255.0.0 U 0 0 0 eth0 10.0.0.0 192.168.0.1 255.0.0.0 UG 0 0 0 eth0
Para mais informações veja ifconfig(8)
e route(8)
.
ip
Os equivalentes para o ip
dos comandos ifconfig
e
route
anteriores são:
O programa ip
mostra sua sintaxe de comando quando executado com o
argumento help. Por exemplo, ip link help mostra:
Usage: ip link set DEVICE { up | down | arp { on | off } | dynamic { on | off } | multicast { on | off } | txqueuelen PACKETS | name NEWNAME | address LLADDR | broadcast LLADDR | mtu MTU } ip link show [ DEVICE ]
Veja também a página de manual ip(8)
.
O programa iwconfig
, que vem no pacote
wireless-tools
, é usado para interfaces Wi-Fi, juntamente com o
ifconfig
ou ip
.
Veja a página de manual iwconfig(8)
.
Se você acessa a Internet através de um modem conectado a uma linha telefônica discada, então a conexão é negociada usando o Protocolo Ponto-a-Ponto (PPP). Tais conexões são acessadas como uma interface de rede ppp0, ppp1 e assim por diante.
Uma interface PPP é gerenciada pelo daemon PPP pppd
quem vem no
pacote ppp
. Assim, para o usuário, configurar uma interface PPP
significa configurar o pppd
.
pppd
manualmente
Para um link de rede ser estabelecido, precisa-se abrir uma porta de
comunicação (normalmente uma porta serial), enviar comandos a um dispositivo de
comunicação (normalmente um modem), discar um número de telefone, autenticar a
identidade em um daemon PPP remoto, criar uma interface PPP e então modificar
tabelas de roteamento de forma que o tráfego possa ser enviado através do link.
O pppd
pode fazer tudo isso e conseqüentemente tem uma longa lista
de opções de operação. Essas opções são descritas na página de manual
pppd(8)
.
Em um sistema Debian, as opções globais são definidas no arquivo
/etc/ppp/options
. As opções específicas de usuário são definidas
em ~/.ppprc
. Opções que precisam depender da porta de comunicação
usada são gravadas em /etc/ppp/options.nome_da_porta
.
Por exemplo, suponha que você tem dois modems—um modem Lucent LT interno
("on board") acessado através de /dev/LT-modem e um modem externo
acessado através de /dev/ttyS0. Crie os dois seguintes arquivos de opções.
# cat > /etc/ppp/options.LT-modem <<EOF 115200 init "/usr/sbin/chat -f /etc/chatscripts/setup-LT-modem" EOF # cat > /etc/ppp/options.ttyS0 <<EOF 115200 init "/usr/sbin/chat -f /etc/chatscripts/setup-ttyS0" EOF
Esses se referem aos seguites scripts chat. Primeiro,
/etc/chatscripts/setup-LT-modem
.
ABORT ERROR '' ATZ OK 'ATW2X2 S7=70 S11=55' OK AT
Segundo, /etc/chatscripts/setup-ttyS0
.
ABORT ERROR '' ATZ OK 'ATL1M1Q0V1W2X4&C1&D2 S6=4 S7=70 S11=55 S95=63 S109=1 +FCLASS=0' OK AT
Os conteúdos desses arquivos devem depender de seu hardware, claro.
As opções também podem ser dadas ao pppd
como argumentos.
No Debian, o pppd
normalmente é iniciado usando o comando
pon
. Quando o pon
é usado, seu primeiro argumento dá
nome a um arquivo de opções em /etc/ppp/peers/
que também é lido
pelo pppd
. [46] Esse é o local onde se define as opções que são específicas
a um parceiro (peer) particular—por exemplo, um Provedor de Serviço de
Internet (ISP) particular.
Suponha por exemplo que você alterne entre Amsterdam e Den Haag. Em cada cidade você tem acesso a dois serviços de ISP—Planet e KPN. Primeiro crie um arquivo de opções básicas para cada ISP.
# cat > /etc/ppp/peers/KPN <<EOF remotename KPN noauth user kpn noipdefault ipparam KPN EOF # cat > /etc/ppp/peers/Planet <<EOF remotename Planet auth user user3579@planet.nl noipdefault mru 1000 mtu 1000 ipparam Planet EOF
Esses arquivos definem opções que diferem entre os dois ISPs. Opções comuns a
ambos os ISPs podem ser colocadas em /etc/ppp/options
ou em um dos
arquivos de opções específicos de interface, conforme apropriado.
Agora crie arquivos de opções para cada ISP em cada cidade. Em nosso exemplo a única diferença entre conectar a um ISP em um local ou em outro é o chatscript que é necessário. (O chatscript é diferente porque o número de telefone de acesso local é diferente.)
# cat > /etc/ppp/peers/KPN-Amsterdam <<EOF connect "/usr/sbin/chat -v -f /etc/chatscripts/KPN-Amsterdam" file /etc/ppp/peers/KPN EOF # cat > /etc/ppp/peers/KPN-DenHaag <<EOF connect "/usr/sbin/chat -v -f /etc/chatscripts/KPN-DenHaag" file /etc/ppp/peers/KPN EOF # cat > /etc/ppp/peers/Planet-Amsterdam <<EOF connect "/usr/sbin/chat -v -f /etc/chatscripts/Planet-Amsterdam" file /etc/ppp/peers/Planet EOF # cat > /etc/ppp/peers/Planet-DenHaag <<EOF connect "/usr/sbin/chat -v -f /etc/chatscripts/Planet-DenHaag" file /etc/ppp/peers/Planet EOF
Cada diretiva file
inclui um dos arquivos de opções mostrados
anteriormente. A diretiva connect especifica o comando que o
pppd
usa para fazer a conexão. Normalmente usa-se o programa
chat
para isso, adaptando o chatscript para o ISP. Aqui estão os
chatscripts para Den Haag; os chatscripts para Amsterdam devem ser similares
exceto pelo número de telefone, ou podem ser diferentes se o ISP oferecer
serviço através de outra companhia lá.
# cat > /etc/chatscripts/KPN-DenHaag <<EOF ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT ERROR OK-AT-OK ATDT 0676012321 CONNECT \d\c EOF # cat > /etc/chatscripts/Planet-DenHaag <<EOF ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT ERROR OK-AT-OK ATDT 0676002505 CONNECT \d\c EOF
Para poder conectar a esses ISPs você precisa de nomes de clientes e senhas que
o pppd
possa fornecer ao parceiro (peer) sob demanda. Essa
informação é guardada em /etc/ppp/pap-secrets
(se o protocolo PAP
for usado) ou em /etc/ppp/chap-secrets
(se o protocolo CHAP for
usado). Apesar de CHAP ser mais seguro, PAP ainda é o mais largamente usado.
Devido a esses arquivos conterem segredos, o grupo e o mundo não podem ter
permissão de leitura ou escrita neles. Os formatos desses arquivos são
explicados na página de manual pppd(8)
. Um "segredo"
(terceiro campo) é procurado no arquivo encontrando o nome do cliente (primeiro
campo) e/ou o nome do servidor (segundo campo). Ao conectar a um ISP
geralmente não se sabe o nome do servidor, então ao invés fornece-se o nome do
cliente; isso foi feito nas linhas user nos peers/KPN
e peers/Planet
acima.
# nome cliente nome serv. segredo kpn * kpn user3579@planet.nl * myfavoritepet
pppd
usando o pppconfig
Uma maneira rápida de configurar o pppd
é usar o programa
pppconfig
que vem no pacote de mesmo nome. O
pppconfig
define arquivos como aqueles acima depois de perguntar
ao usuário questões através de uma interface de menu.
Se você optar usar o resolvconf
então certifique-se de selecionar
"None" na tela "Configure Nameservers".
wvdial
Uma abordagem diferente de usar o pppd
é executá-lo a partir do
wvdial
que vem no pacote wvdial
. Ao invés de o
pppd
executar o chat
para discar e negociar a
conexão, o wvdial
faz a discagem e negociação inicial e então
inicia o pppd
para que faça o resto. Dados somente um número de
telefone, nome de usuário e senha, o wvdial
em muitos casos tem
sucesso em fazer a conexão.
Um sistema Debian algumas vezes precisa identificar a si mesmo pelo nome. Para esse propósito é mantido um nome de sistema (hostname) pelo kernel.
O script de inicialização /etc/init.d/hostname.sh
ajusta o nome do
sistema durante a inicialização (usando o comando hostname
) para o
nome gravado em /etc/hostname
. Esse arquivo contém
somente o nome do sistema, não um nome de domínio completo.
Para mostrar o nome do sistema atual execute hostname
sem
argumentos.
O nome de correio (mailname) de um sistema é o nome que os
programas relacionados a correio usam para identificar o sistema. O arquivo
/etc/mailname
contém esse nome seguido por uma nova linha. O nome
de correio geralmente é um dos nomes de domínio totalmente qualificados do
sistema. Veja a página de manual mailname(5)
.
O que o destinatário de e-mail vê no cabeçalho From: (De:) de uma mensagem enviada por seu sistema Debian depende de como Agentes de Correio de Usuário (MUA) e Agentes de Transferência de Correio (MTA) são configurados. Suponha que um usuário local foo envie uma mensagem a partir de um sistema com nome de correio meusistema.dom. O cabeçalho From: do e-mail de saída será:
Mesmo quando o MUA tiver um cabeçalho From: definido o MTA pode adicionar um cabeçalho "Sender:foo@herman.dom" para indicar sua verdadeira origem.
É claro que quando algum MTA envolvido realiza reescrita de endereço como discutido em Definindo um pega-tudo (catchall) para endereços de email inexistentes sob o Exim, Seção 9.6.1.3 e Configurando reescrita seletiva de endereço para mensagens de saída sob o Exim, Seção 9.6.1.4, o endereço de e-mail visto pelo destinatário pode ser mudado para qualquer coisa.
Os sistemas são referenciados por um nome de domínio assim como por endereço
IP. DNS é um sistema cliente-servidor em que resolvedores de nome consultam
servidores de nome (nameservers) para associar nomes de domínios com endereços
IP e outras propriedades de sistemas. O resolver(3)
da Biblioteca
C GNU também pode procurar endereços IP em arquivos ou consultar Network
Information Services (NIS) (Serviços de Informação de Rede).
Para ver qual nome de domínio é associado com o sistema local, use o comando hostname --fqdn. Isso mostra o primeiro nome de domínio completamente qualificado que o resolvedor encontra para o nome do sistema local. [47]
O trabalho de encontrar quais endereços IP são associados com um nome de
domínio particular é trabalho de um resolvedor. O resolvedor mais comumente
usado é o conjunto de funções que leva esse nome (resolver(3)
) na
Biblioteca C GNU. Outro é o resolvedor FireDNS que vem no pacote
libfiredns
.
A forma como o resolvedor da LIBC resolve nomes é governada pela linha
hosts no arquivo de configuração /etc/nsswitch.conf
.
Essa linha lista os serviços que devem ser usados para resolver um nome: por
exemplo, dns, files, nis,
nisplus. [48]
Veja a página de manual nsswitch.conf(5)
. Se for usado o serviço
files, o comportamento do resolvedor também é governado pelo
arquivo de configuração /etc/hosts
. Veja a página de manual
hosts(5)
.
Todos os arquivos acima são estáticos e podem ser editados com seu editor favorito.
Se for usado o serviço dns, o comportamento do resolvedor também é
governado pelo arquivo de configuração /etc/resolv.conf
. Veja a
página de manual resolv.conf(5)
. Uma das funções importantes do
resolv.conf
é listar os endereços IP de servidores de nome que
serão contactados para resolver o nome. Essa lista freqüentemente depende do
ambiente de rede e esse pode mudar de tempos em tempos enquanto seu computador
está funcionando. Programas como o pppd
e o dhclient
são capazes de manipular o resolv.conf
para adicionar e remover
linhas, mas esses recursos não funcionam sempre apropriadamente e eles
conflitam uns com os outros. O pacote resolvconf
soluciona o
problema melhor fornecendo uma estrutura padrão para atualizar esse arquivo.
Veja Gerenciando informação do resolvedor de nomes
– resolvconf
, Seção 10.4.2.
resolvconf
O pacote resolvconf
fornece uma estrutura para gerenciamento
dinâmico de informação disponível sobre servidores de nomes. Ele soluciona o
problema de longa data de como manter listas dinâmicas de servidores de nomes
para o resolvedor e caches de DNS para usar. O resolvconf ajusta a si mesmo
como o intermediário entre programas que controlam interfaces de rede e
fornecem informação de servidor de nome, e aplicações que precisam de
informação de servidor de nome.
O resolvconf
é projetado para funcionar sem que qualquer
configuração manual precise ser feita. Entretanto, o pacote é um tanto novo e
requer alguma intervenção manual para que funcione adequadamente. Isso é
certamente verdadeiro se você já personalizou pacotes para que atualizem o
/etc/resolv.conf
: você precisará desabilitar suas personalizações.
Veja /usr/share/doc/resolvconf/README.gz
para detalhes.
dnsmasq
A menos que seu servidor de nomes precise ser obrigatório para um domínio, é
melhor que você use um servidor de nomes local para cache como o
dnsmasq
. Ele funciona bem com o resolvconf
.
bind
Se você precisa fornecer serviço de nome de autoridade para um domínio então
precisa de um servidor de nomes bastante maduro como o named
que
vem no pacote bind9
ou no pacote bind
. Recomenda-se
o bind9
para instalações novas.
Para instalar o bind9
, instale esses pacotes básicos:
bind9
; dnsutils
. Você pode também desejar instalar
esses pacotes utilitários: bind9-host
; dns-browse
;
dnscvsutil
; nslint
. Você também pode querer instalar
esse pacote de documentação: bind9-doc
. Você pode também querer
instalar esses pacotes de desenvolvimento: libbind-dev
;
libnet-dns-perl
. Se você configurar interfaces usando DHCP então
pode achar esse pacote útil: dhcp-dns
.
Instale o bind9
ou reconfigure-o com dpkg-reconfigure
para fazer a configuração básica. A configuração consiste na edição do arquivo
named.conf
. No Debian esse arquivo é encontrado em
/etc/bind/
e é usado principalmente para definir as zonas DNS
básicas; ele inclui dois outros arquivos:
named.conf.local
, usado para definir zonas locais, e
named.conf.options
, usado para definir opções. (O último é
processado pelo resolvconf
para produzir
/var/run/bind/named.options
que é igual ao original exceto que a
especificação forwarders é uma liista de servidores de nome não
locais disponíveis no momento. Para fazer uso disso, mude a linha
include no named.conf
de forma que inclua
/var/run/bind/named.options
. Veja Gerenciando informação do resolvedor de nomes –
resolvconf
, Seção 10.4.2.)
Os arquivos de base de dados nomeados em named.conf*
sem caminho
completo para o arquivo serão gravados em /var/cache/bind/
. Esse
é o lugar certo para gravar arquivos gerados pelo named
: por
exemplo, arquivos de base de dados para zonas para as quais o daemon é
secundário. Arquivos de base de dados estáticos em /etc/bind/
são
e precisam ser referenciados em named.conf
pelos caminhos
completos dos nomes de arquivo. Veja /usr/share/doc/bind9/README.Debian.gz
para detalhes.
A configuração de baixo nível de interfaces de rede pode ser automatizada por meio de Dynamic Host Configuration Protocol (DHCP) (Protocolo de Configuração Dinâmica de Sistemas). Seu firewall ou sistema roteador ou seu ISP de banda larga podem fornecer endereços IP e outros parâmetros dessa maneira.
Para fazer isso funcionar você precisa instalar um dos seguintes pacotes:
dhcp3-client
(versão 3, Internet Software Consortium)
dhcpcd
(Yoichi Hariguchi e Sergei Viznyuk)
pump
(Redhat)
O pump
é simples e largamente utilizado. O
dhcp3-client
é complexo mas mais configurável. [49]
Para tornar a configuração de rede mais fácil, o Debian fornece uma ferramenta
de configuração de rede de alto nível padrão que consiste dos programas
ifup
e ifdown
e do arquivo
/etc/network/interfaces
. [50] Se você optar por usar ifupdown
para fazer a
configuração de sua rede então normalmente você não deve usar
comandos de baixo nível também. [51] O ifupdown
é escrito considerando que será
usado sozinho para configurar e desconfigurar interfaces de rede.
Para atualizar configuração de interface faça isso:
# ifdown eth0 # editor /etc/network/interfaces # altere como quiser # ifup eth0
Para mais informações veja interfaces(5)
, /usr/share/doc/ifupdown/examples/network-interfaces.gz
e ifup(8)
.
Suponha que você quer configurar uma interface Ethernet que tem um endereço IP
fixo 192.168.0.123. Esse endereço começa com
192.168.0 então deve estar em uma LAN. Suponha também que
192.168.0.1 é o endereço do gateway da LAN para a Internet. Edite
o arquivo /etc/network/interfaces
de forma que inclua uma estrofe
como essa:
iface eth0 inet static address 192.168.0.123 netmask 255.255.255.0 gateway 192.168.0.1
Se você tiver o resolvconf
instalado então pode adicionar linhas
que especifiquem informação de DNS. Por exemplo:
iface eth0 inet static address 192.168.0.123 netmask 255.255.255.0 gateway 192.168.0.1 dns-search nicedomain.org dns-nameservers 195.238.2.21 195.238.2.22
Depois que a interface foi levantada, os argumentos das opções
dns-search e dns-nameservers se tornam disponíveis
para o resolvconf
para inclusão no arquivo
resolv.conf
. O argumento nicedomain.org da opção
dns-search corresponde ao argumento de uma opção
search em resolv.conf(5)
. Os argumentos
195.238.2.21 e 195.238.2.22 da opção
dns-nameservers corresponde aos argumentos das opções
nameserver no resolv.conf(5)
. Outras palavras de
opção reconhecidas são dns-domain e dns-sortlist.
Veja Gerenciando informação do resolvedor de nomes
– resolvconf
, Seção 10.4.2.
Para configurar uma interface usando DHCP edite o arquivo
/etc/network/interfaces
de forma que inclua uma estrofe como essa:
iface eth0 inet dhcp
Para que isso funcione você precisa ter instalado um dos clientes DHCP mencionados em Configurando interfaces de rede usando DHCP, Seção 10.5.
O pacote wireless-tools
inclui um script
/etc/network/if-pre-up.d/wireless-tools
que torna possível
configurar hardware Wi-Fi (802.11a/b/g) antes de levantar a interface. A
configuração é feita usando o programa iwconfig
; veja a página de
manual iwconfig(8)
. Para cada parâmetro de comando possível do
iwconfig
você pode incluir uma opção em
/etc/network/interfaces
nomeada como o parâmetro com um prefixo
"wireless-". Por exemplo, para definir o ESSID de eth0
para meuessid e a chave de encriptação para
123456789e antes de levantar a eth0 usando DHCP,
edite o arquivo /etc/network/interfaces
de forma a incluir uma
estrofe como esta:
iface eth0 inet dhcp wireless-essid myessid wireless-key 123456789e
Os programas ifup
e ifdown
usam pon
e
poff
para adicionar e remover interfaces PPP, então primeiro leia
Configurando uma interface PPP, Seção 10.2.4.
Suponha que você precisa configurar PPP para funcionar com o parceiro (peer)
meuisp. Edite o /etc/network/interfaces
de forma a
incluir uma estrofe como essa:
iface ppp0 inet ppp provider myisp
Com essa estrofe no lugar, ifup ppp0
faz
pon meuisp
Infelizmente atualmente não é possível fornecer opções do pppd
adicionais em uma estrofe ppp no
/etc/network/interfaces
. [52]
Atualmente não é possível usar ifupdown
para realizar configuração
auxiliar de interfaces PPP. Devido ao pon
finalizar antes que o
pppd
tenha acabado de fazer a conexão, o ifup
executa
os scripts up antes que a interface PPP esteja pronta para usar.
Até que esse bug [53] seja
corrigido é necessário fazer configuração auxiliar em
/etc/ppp/ip-up
ou /etc/ppp/ip-up.d
.
Muitos Internet Service Providers (ISPs) (Provedores de Serviço de Internet)
usam PPP para negociar conexões mesmo quando as máquinas dos clientes são
conectadas a eles através de redes Ethernet e/ou ATM. Isso é realizado por
meio de PPP sobre Ethernet (PPPoE) que é uma técnica para o encapsulamento de
fluxos PPP dentro de frames Ethernet. Suponha que seu ISP se chame
meuisp. Primeiro configure PPP e PPPoE para o parceiro
(peer) meuisp. A maneira mais fácil de fazer isso é
instalar o pacote pppoeconf
e executar o pppoeconf
a
partir do console. Então edite o arquivo /etc/network/interfaces
de forma a incluir uma estrofe como essa:
iface eth0 inet ppp provider myisp
Algumas vezes ocorrem problemas de Maximum Transmit Unit (MTU) (Unidade de
Transmissão Máxima) com PPPoE sobre Digital Subscriber Line (DSL). Veja
DSL-HOWTO
para
detalhes.
Note que se seu modem de banda larga contém um roteador então o próprio modem/roteador negocia a conexão PPPoE e aparece no lado da LAN como um simples gateway Ethernet para a Internet.
Suponha que a eth0
esteja conectada à Internet com um endereço IP
configurado por DHCP e que a eth1
esteja conectada à LAN com um
endereço IP estático 192.168.1.1. Edite o arquivo
/etc/network/interfaces
de forma a incluir estrofes como essas:
iface eth0 inet dhcp iface eth1 inet static address 192.168.1.1 netmask 255.255.255.0
Se você ativar NAT nesse sistema como descrito em Construindo um roteador gateway, Seção 10.12, então você poderá compartilhar a conexão à Internet com todos os sistemas na LAN.
Usando interfaces virtuais você pode configurar uma única placa Ethernet para
ser uma interface para várias sub-redes IP. Por exemplo, suponha que seu
sistema esteja em uma rede LAN 192.168.0.x/24. Você quer conectar o sistema à
Internet usando um endereço IP público provido via DHCP usando sua placa
Ethernet existente. Edite o /etc/network/interfaces
de forma a
incluir estrofes como essas:
iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 iface eth0:0 inet dhcp
A interface eth0:0 é uma interface virtual. Quando é levantada, também é levantada a sua superior eth0.
O que vem a seguir será importante para o leitor compreender a diferença entre uma interface física e uma interface lógica. [54] Uma interface física é o que temos chamado de "a interface", a coisa que é chamada eth0, ppp1, ou o que você tiver. Uma interface lógica é um conjunto de valores que pode ser atribuído aos parâmetros variáveis de uma interface física. Se você achar isso confuso, substitua a expressão "configurado como interface lógica X" pela expressão "configurado com o perfil de interface X" conforme você ler.
As definições iface no arquivo
/etc/network/interfaces
são na verdade definições de interfaces
lógicas, não de interfaces físicas. [55] Se você nunca quiser reconfigurar suas interfaces então
pode ignorar esse fato já que a interface física X por padrão será
configurada como interface lógica X.
Entretanto, suponha que seu computador seja um laptop que você transporta entre a casa e o trabalho. Quando você conecta o computador à rede corporativa ou à sua LAN doméstica você precisa configurar a eth0 apropriadamente.
Primeiro defina duas interfaces lógicas casa e trabalho (ao invés de eth0 como fizemos anteriormente) que descrevem como a interface deve ser configurada para a rede doméstica e a rede do trabalho, respectivamente.
iface home inet static address 192.168.0.123 netmask 255.255.255.0 gateway 192.168.0.1 iface work inet static address 81.201.3.123 netmask 255.255.0.0 gateway 81.201.1.1
Então a interface física eth0 pode ser levantada para a rede doméstica com a configuração apropriada especificando na linha de comando:
# ifup eth0=casa
Para configurar a eth0 para a rede do trabalho execute os comandos:
# ifdown eth0 # ifup eth0=work
Note que com o arquivo interfaces
escrito como acima não será mais
possível levantar a eth0 usando apenas ifup eth0. A
razão para isso é que o ifup
usa o nome da interface física como o
nome padrão da interface lógica e agora em nosso exemplo não há uma interface
lógica eth0 definida.
Nomes de interface lógica podem ser "mapeados" para outros nomes de
interface lógica quando o ifup
é executado. A forma como os nomes
são mapeados pode ser feita para depender de circunstâncias. Então o
ifup
pode ser configurado de forma que levante uma dada interface
física como a interface lógica apropriada entre um conjunto de alternativas
predefinidas.
O mapeamento de nome de interface lógica ocorre como a seguir:
ifup
então o nome da interface física é usado como o nome de
interface lógica inicial.
/etc/network/interfaces
então a interface física é
levantada como essa interface lógica. Caso contrário o ifup
mostra uma mensagem que está ignorando a interface desconhecida ("Ignoring
unknown interface" e sai.
A sintaxe de uma estrofe mapping é:
mapping padrão-glob script nome-do-script [map entrada do script]
O script nomeado na estrofe mapping é executado com o nome de interface física como seu argumento e com os conteúdos de todas as linhas "map" seguintes na estrofe para ele como sua entrada padrão. O script mostra o resultado do mapeamento em sua saída padrão antes de acabar.
Por exemplo, a seguinte estrofe mapping fará com que o
ifup
levante a interface eth0 como a interface lógica
casa.
mapping eth0 script /usr/local/sbin/echo-casa
onde /usr/local/sbin/echo-casa
é:
#!/bin/sh echo casa
Devido ao mapeamento ser feito com um script é possível selecionar a interface
lógica baseado em algum tipo de teste. Vamos começar com um exemplo. Suponha
que você tem placas de rede diferentes para casa e trabalho. O diretório
/usr/share/doc/ifupdown/examples/
contém um script de mapeamento
que pode ser usado para selecionar uma interface lógica baseado no endereço de
Media Access Controller (endereço MAC) (Controlador de Acesso de Mídia).
Primeiro instale o script no diretório apropriado.
# install -m770 /usr/share/doc/ifupdown/examples/match-mac-address.sh \ /usr/local/sbin/
Então adicione uma estrofe como a seguinte em
/etc/network/interfaces
:
mapping eth0 script /usr/local/sbin/match-mac-address.sh map 02:23:45:3C:45:3C casa map 00:A3:03:63:26:93 trabalho
Programas de mapeamento mais sofisticados são descritos abaixo em guessnet, Seção 10.8.1, e laptop-net, Seção 10.8.2.
Instale o pacote guessnet
e então adicione uma estrofe como a
seguinte ao arquivo /etc/network/interfaces
:
mapping eth0 script guessnet-ifupdown map casa map trabalho
Agora quando você fizer ifup eth0
, o guessnet
verificará se a eth0 deve ser levantada como casa ou
trabalho. Para fazer isso ele usa informação gravada nas
definições de interface lógica.
O pacote laptop-net
toma uma abordagem diferente para
reconfiguração de rede automágica. O laptop-net não faz uso das interfaces
lógicas do ifupdown
mas ao invés disso tem seu próprio sistema de
"esquemas" de configuração e "perfis" de sistema. O
laptop-net entretanto ainda usa o ifupdown
para configurar
interfaces físicas. Para mais informações consulte a documentação bem escrita
no pacote laptop-net-doc
.
Nós temos visto como as interfaces podem ser reconfiguradas. A reconfiguração precisa ser feita em momentos apropriados.
Tradicionalmente a rede era configurada durante a seqüência de inicialização
através do script de inicialização /etc/rcS.d/S40networking
e era
raramente reconfigurada. Serviços que dependiam de rede eram iniciados mais
tarde na seqüência de inicialização. No desligamento ou reinicialização os
scripts de inicialização eram executados na ordem oposta.
Atualmente, entretanto, há uma tendência no GNU e no Linux no sentido de
suportar hardware e circunstâncias que mudam dinamicamente. O primeiro suporte
foi adicionado para cartões PCMCIA trocáveis durante funcionamento; mais
recentemente o mecanismo hotplug foi adicionado de forma que muito
mais periféricos podem ser inseridos e retirados enquanto o computador está
funcionando. Isso inclui hardware de rede. Note que serviços que dependem de
hardware que é inserido com computador em funcionamento (hot swapped) precisam
ser iniciados somente depois que o hardware é inserido e precisam ser parados
quando o hardware estiver removido. Isso significa que tais serviços precisam
ser removidos do controle de inicialização System V e ao invés disso colocados
no controle do ifupdown
.
Por exemplo, suponha que o serviço foo controlado pelo script de
inicialização /etc/init.d/foo
depende da interface de rede
eth0 configurada dinamicamente.
# update-rc.d -f foo remove
ifupdown
adicionando as opções up e down à estrofe
eth0 em /etc/network/interfaces
que contém chamadas
ao script de inicialização foo:
iface eth0 inet dhcp up /etc/init.d/foo start down /etc/init.d/foo stop
Na inicialização o script /etc/rcS.d/S40networking
executa o
comando ifup -a
. Isso levanta todas as interfaces físicas
listadas em estrofes auto no /etc/network/interfaces
.
Atualmente é freqüentemente melhor gerenciar a configuração de rede usando
métodos dinâmicos. Uma vez que estão disponíveis mecanismos para suportar
hardware que mude dinamicamente se torna mais simples tratar hardware estático
como se fosse dinâmico também. A inicialização pode então ser tratada
simplesmente como outro evento hotplug. (Veja Gatilhando configuração de rede –
hotplug
, Seção 10.9.2.)
Entretanto, na maioria dos casos se deseja que pelo menos a interface de
loopback lo seja levantada na inicialização. Assim, certifique-se
de que o /etc/network/interfaces
inclua as seguintes estrofes.
auto lo iface lo inet loopback
Você pode listar nomes de interfaces físicas adicionais em estrofes
auto se desejar que também sejam levantadas durante a
inicialização. Nunca liste interfaces PCMCIA em estrofes
auto. O programa cardmgr
de PCMCIA é iniciado mais
tarde na seqüência de inicialização que quando o
/etc/rcS.d/S40networking
é executado.
hotplug
Para obter suporte a hot plug instale o pacote hotplug
.
Hardware de rede pode ser conectado com o computador ligado durante a
inicialização ou depois que um cartão (por exemplo, um cartão PCMCIA) é
inserido na máquina ou depois que um utilitário como o discover
é
executado e carrega os módulos de controladores necessários.
Quando o kernel detecta um novo hardware ele inicializa o controlador (driver)
para o hardware e então executa o programa hotplug
para
configurá-lo. Mais tarde, se o hardware for removido, então o kernel executa o
hotplug
novamente com ajustes de variáveis de ambiente diferentes.
No Debian, quando o hotplug
é chamado ele executa scripts em
/etc/hotplug/
e /etc/hotplug.d/
. Veja
hotplug(8)
para obter detalhes.
O hardware de rede recentemente inserido é configurado pelo script
/etc/hotplug/net.agent
. [56] Suponha que seu cartão de rede PCMCIA tenha sido inserido
resultando na interface eth0 se tornando disponível para uso. O
/etc/hotplug/net.agent
faz o seguinte:
ifup eth0=hotplug
A menos que você tenha adicionado uma definição de interface lógica ou um
mapeamento chamado hotplug em
/etc/network/interfaces
, esse comando não fará nada. Para fazer
com que o comando configure a eth0, adicione a seguinte estrofe em
/etc/network/interfaces
:
mapping hotplug script echo
(Não inclua uma estrofe mapping como essa se você estiver
usando pedidos do ifplugd
iniciados pelo hotplug
para
controlar a interface, como descrito em Gatilhando
a configuração de rede – ifplugd
, Seção 10.9.3.)
Se você quiser que apenas a eth0 e mais nenhuma outra interface
seja levantada com hot plug então use grep
ao invés de
echo
como a seguir:
mapping hotplug script grep map eth0
Veja Reconfiguração mágica de rede, Seção
10.8 e /usr/share/doc/hotplug/README.Debian
para mais dicas.
ifplugd
O ifplugd
levanta ou derruba uma interface de acordo com o
hardware relacionado estar ou não plugado em uma rede. O programa pode
detectar um cabo conectado a uma interface Ethernet ou um ponto de acesso
associado a uma interface Wi-Fi. Quando o ifplugd
vê que o estado
do link foi alterado ele executa um script proxy que por padrão chama o
ifup
ou ifdown
para a interface.
O ifplugd
funciona bem em combinação com o hotplug
.
Quando um cartão foi inserido resultando na disponibilização de uma interface
para uso, /etc/hotplug.d/net/ifplugd.hotplug
inicia um pedido de
ifplugd
para essa interface. Quando o ifplugd
detecta que o cartão está plugado em uma rede ele usa o ifup
para
a interface.
waproamd
Para associar a um ponto de acesso, um cartão Wi-Fi pode ter que ser programado
com uma chave de encriptação WEP apropriada. Se você está usando o
ifplugd
para controlar o ifup
como descrito em Gatilhando a configuração de rede –
ifplugd
, Seção 10.9.3 então obviamente você não pode definir a
chave de encriptação usando o ifup
porque o ifup
só é
chamado depois que o cartão foi associado. Uma possível solução é programar
todas as chaves requeridas na memória não-volátil do cartão Wi-Fi. Se você
muda entre muitas redes então seu cartão Wi-Fi pode não ser capaz de gravar
chaves suficientes.
Outra solução é usar o waproamd
que define a chave de encriptação
WEP de acordo com os pontos de acesso que estão disponíveis, conforme revelado
pela varredura (scanning).
O waproamd
funciona bem em combinação com o hotplug
.
Quando um cartão foi inserido resultando na disponibilização de uma interface
para uso, o /etc/hotplug.d/net/waproamd
inicia um pedido de
waproamd
para essa interface. O waproamd
funciona
muito bem em combinação com o ifplugd
.
Veja o arquivo README do pacote waproamd
para mais informações.
Se você usa cartões de rede PCMCIA de 16 bit então deve definir
CARDMGR_OPTS="-f" em /etc/default/pcmcia
.
Isso deixa a inicialização ligeiramente mais lenta mas previne uma condição de
corrida executando o cardmgr
em primeiro plano (foreground) até
que todos os cartões PCMCIA de 16 bit sejam configurados.
Apesar de por padrão o /etc/init.d/pcmcia
ser iniciado a partir de
/etc/rc2.d/S20pcmcia
você pode querer mudar isso para executar
antes, por exemplo, para /etc/rc2.d/S12pcmcia
para garantir que o
subsistema PCMCIA seja inicializado antes que os serviços de rede sejam
iniciados em S20.
Há várias abordagens possíveis para configurar interfaces de rede PCMCIA.
hotplug
/ ifupdown
hotplug
/ ifupdown
com
/etc/pcmcia/network
desabilitado localmente (recomendado), ou
pcmcia-cs
/ ifupdown
com o
/etc/pcmcia/network
padrão (obsoleto), ou
pcmcia-cs
personalizado habilitando recursos de
/etc/pcmcia/network
(obsoleto)
A abordagem recomendada para cartões de 16 bit toma vantagem do fato que o
subsistema hot plug do Linux 2.4 agora suporta PCMCIA. Simplesmente siga as
direções em Gatilhando configuração de rede
– hotplug
, Seção 10.9.2. [57] Note, entretanto, que para
prevenir que o script hook /etc/pcmcia/network
do
cardmgr
interfira com o hotplug
você precisa
adicionar localmente a linha:
exit 0
no início de /etc/pcmcia/network
para desabilitar esse
comportamento padrão.
Note que não há nada errado em executar o cardmgr
. Nós apenas não
queremos que ele chame programas de configuração de rede.
Para o cardmgr
funcionar adequadamente você precisa editar o
arquivo /etc/pcmcia/config.opts
para configurar recursos
atribuídos a cartões PCMCIA de 16 bit. Veja PCMCIA, Seção 7.2.1 e o
HOWTO de PCMCIA no
Linux
para mais informações.
A configuração de serviço de rede típica em um ambiente desktop ou servidor doméstico envolve:
/etc/inetd.conf
ssh
: Shell segura OpenSSH, veja SSH, Seção 9.5.
/etc/ssh/ssh_config
/etc/ssh/sshd_config
exim
: agente de transporte de correio, veja Nome de correio (Mailname), Seção 10.3.2 e Agentes de transporte de correio (MTAs), Seção
9.6.1.
/etc/exim/exim.conf
/etc/mailname
/etc/aliases
/etc/email-addresses
fetchmail
: daemon para baixar mensagens de uma conta POP3, veja Baixando mensagens – Fetchmail,
Seção 9.6.2.
/etc/fetchmailrc
procmail
: programa de distribuição local de mensagens e filtro,
veja Processando mensagens –
Procmail, Seção 9.6.3.
~/.procmailrc
/etc/host.conf
/etc/hostname
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/resolv.conf
/etc/bind/named.conf
(edite)
/etc/bind/db.lan
(adicione para sistemas de LAN)
/etc/bind/db.192.168.0
(adicione para LAN reverso)
/etc/dhcp3/dhclient.conf
(DHCP lado do cliente)
/etc/default/dhcp3-server
(DHCP lado do servidor)
/etc/dhcp3/dhcpd.conf
(DHCP lado do servidor)
cvs
: concurrent versions system (sistema de versões concorrentes),
veja Concurrent Versions System (CVS)
(Sistema de Versões Concorrentes), Seção 12.1.
/etc/cvs-cron.conf
/etc/cvs-pserver.conf
nfs-kernel-server
: network file system (sistema de arquivos de
rede), veja Configuração de NFS, Seção
3.4. (para sistemas semelhantes ao unix)
/etc/exports
samba
: compartilhamento de arquivos e impressora com o Windows,
veja Configuração do Samba, Seção
3.5 e Samba, Seção 8.6.37.
/etc/samba/smb.conf
/etc/printcap
(para o lpr)
apache
e apache2
: servidor web.
/etc/apache/*
/etc/apache2/*
squid
: servidor cache proxy web.
/etc/squid/*
Se você encontrar problemas então verifique a saída do seguinte como primeira verificação do que está acontecendo:
# ifconfig # cat /proc/pci # cat /proc/interrupts # dmesg | more
Veja também as seções seguindo Testes de rede básicos, Seção 8.6.28.
Se você tiver problemas com alguns sítios web, veja Estranhos problemas de acesso a alguns websites, Seção 3.7.5.
Um sistema Debian pode ser uma máquina gateway de propósitos gerais que faz Network Address Translation (Translação de Endereço de Rede) (NAT, também conhecido como masquerading (mascaramento)), transferência de correio, DHCP, cache DNS, cache proxy HTTP, serviço CVS, serviço NFS, e serviço Samba. Veja Hosts e IP a usar para LAN, Seção 3.1.9 para o exemplo de tal configuração.
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 em uma LAN podem acessar os recursos da Internet através de um gateway que translada o endereço IP na LAN para endereços IP usáveis na Internet.
# 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 2.4 do Debian sob o woody, certifique-se de carregar os
módulos apropriados. A versão do Sarge do ipmasq resolveu esse problema.
Consulte Função de rede, Seção
7.2.3 para obter instruções de configuração.
Para imagens de kernel 2.2 do Debian, edite o Z92timeouts.rul
em
/etc/masq/rules
como a seguir para assegurar uma conexão mais
longa para sites remotos (bom para e-mails grandes, 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 um cartão de rede PCMCIA,
o ipmasq
precisa ser iniciado a partir de
/etc/pcmcia/network.opts
(leia: /usr/share/doc/ipmasq/ipmasq.txt.gz
)
ou a partir de /etc/network/interfaces
(leia: Configuração de rede e PCMCIA, Seção 10.9.5 e Gatilhando a reconfiguração de rede, Seção 10.9).
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 roteamento (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
CVS, Seg Abr 3 22:58:08 UTC 2005osamu@debian.org
pormenese@uol.com.br