Índice
![]() |
Dica |
---|---|
Para um guia geral de rede em GNU/Linux, leia o Guia de Administradores de Rede de Linux. |
![]() |
Dica |
---|---|
Apesar deste documento ainda utilizar o antigo
ifconfig(8)
com IPv4 para os seus exemplos de configuração de rede, Debian está a mudar
para
ip(8)
com IPv4+IPv6 no lançamento |
Vamos rever a infra-estrutura básica de rede do sistema Debian moderno.
Tabela 5.1. Lista de ferramentas de configuração de rede
pacotes | popcon | tamanho | tipo | descrição |
---|---|---|---|---|
ifupdown
|
V:573, I:997 | 121 | config::ifupdown | ferramenta standard para activar e desactivar a rede (especifico de Debian) |
ifplugd
|
V:3, I:11 | 352 | , , | gerir a rede com fios automaticamente |
ifupdown-extra
|
V:0, I:1 | 123 | , , |
script de testes de rede para melhorar o pacote
"ifupdown "
|
ifmetric
|
V:0, I:1 | 21 | , , | define métricas de rota para uma interface de rede |
guessnet
|
V:0, I:1 | 456 | , , |
script de mapeamento para melhorar o pacote "ifupdown "
via ficheiro "/etc/network/interfaces "
|
ifscheme
|
V:0, I:0 | 132 | , , |
scripts de mapeamento para melhorar o pacote "ifupdown "
|
ifupdown-scripts-zg2
|
V:0, I:0 | 147 | , , | scripts da interface Zugschlus para o método manual do ifupdown |
network-manager
|
V:369, I:486 | 7106 | config::NM | NetworkManager (daemon): gere a rede automaticamente |
network-manager-gnome
|
V:272, I:434 | 6720 | , , | NetworkManager (frontend do GNOME) |
plasma-widget-networkmanagement
|
V:25, I:64 | 16 | , , | NetworkManager (frontend do KDE) |
wicd
|
I:21 | 16 | config::wicd | gestor de rede com fios e sem fios (meta-pacote) |
wicd-cli
|
V:0, I:3 | 28 | , , | gestor de rede com fios e sem fios (cliente de linha de comandos) |
wicd-curses
|
V:1, I:6 | 128 | , , | gestor de rede com fios e sem fios (cliente Curses) |
wicd-daemon
|
V:23, I:27 | 1103 | , , | gestor de rede com fios e sem fios (daemon) |
wicd-gtk
|
V:17, I:23 | 387 | , , | gestor de rede com fios e sem fios (cliente GTK+) |
iptables
|
V:244, I:995 | 1415 | config::Netfilter | ferramentas administrativas para filtragem de pacotes e NAT (Netfilter) |
iproute
|
V:467, I:971 | 16 | config::iproute2 | iproute2, IPv6 e outras configurações avançadas de rede: ip(8), tc(8), etc |
ifrename
|
V:1, I:3 | 192 | , , | renomear interfaces de rede baseado em vários critérios de estatística: ifrename(8) |
ethtool
|
V:94, I:245 | 272 | , , | mostra ou altera as definições de um dispositivo Ethernet |
iputils-ping
|
V:287, I:996 | 116 | test::iproute2 | teste de acessibilidade de rede de uma máquina remota pelo nome-de-máquina ou endereço IP (iproute2) |
iputils-arping
|
V:2, I:23 | 47 | , , | teste de acessibilidade de rede de uma máquina remota especificado pelo endereço ARP |
iputils-tracepath
|
V:24, I:320 | 77 | , , | rastreia o caminho de rede até uma máquina remota |
net-tools
|
V:655, I:998 | 910 | config::net-tools | conjunto de ferramentas de rede NET-3 (net-tools, configuração de rede IPv4): ifconfig(8) etc. |
inetutils-ping
|
V:0, I:1 | 347 | test::net-tools | teste de acessibilidade de rede de uma máquina remota pelo nome-de-máquina ou endereço IP (legacy, GNU) |
arping
|
V:3, I:30 | 103 | , , | teste de acessibilidade de rede de uma máquina remota especificado pelo endereço ARP (legacy) |
traceroute
|
V:85, I:994 | 126 | , , | rastreia o caminho de rede até uma máquina remota (legacy, consola) |
isc-dhcp-client
|
V:501, I:924 | 560 | config::low-level | Cliente DHCP |
wpasupplicant
|
V:384, I:536 | 2469 | , , | suporte de cliente para WPA e WPA2 (IEEE 802.11i) |
wpagui
|
V:0, I:5 | 831 | , , | Cliente GUI Qt para o wpa_supplicant |
wireless-tools
|
V:68, I:268 | 325 | , , | ferramentas para manipular Extensões Wireless do Linux |
ppp
|
V:99, I:534 | 921 | , , |
ligação PPP/PPPoE com chat
|
pppoeconf
|
V:1, I:17 | 290 | config::helper | ajudante de configuração para ligação PPPoE |
pppconfig
|
V:1, I:7 | 1014 | , , |
ajudante de configuração para ligação PPP com chat
|
wvdial
|
V:1, I:11 | 276 | , , |
ajudante de configuração para ligação PPP com wvdial e
ppp
|
mtr-tiny
|
V:9, I:74 | 123 | test::low-level | rastreia o caminho de rede até uma máquina remota (curses) |
mtr
|
V:6, I:36 | 167 | , , | rastreia o caminho de rede até uma máquina remota (curses e GTK+) |
gnome-nettool
|
V:21, I:349 | 2752 | , , | ferramentas para operações comuns de informação de rede (GNOME) |
nmap
|
V:57, I:486 | 17598 | , , | mapeamento de rede / sondagem de portos (Nmap, consola) |
zenmap
|
V:2, I:13 | 2657 | , , | mapeamento de rede / sondagem de portos (GTK+) |
tcpdump
|
V:25, I:199 | 1092 | , , | analisador de tráfego de rede (Tcpdump, consola) |
wireshark
|
V:11, I:74 | 2300 | , , | analisador de tráfego de rede (Wireshark, GTK+) |
tshark
|
V:3, I:33 | 359 | , , | analisador de tráfego de rede (consola) |
nagios3
|
V:1, I:12 | 1 | , , | sistema de monitorização e gestão para máquinas, serviços e redes (Nagios) |
tcptrace
|
V:0, I:2 | 389 | , , |
produz um sumário das ligações a partir da saída do
tcpdump
|
snort
|
V:2, I:3 | 1707 | , , | sistema flexível de detecção de intrusos na rede (Snort) |
ntop
|
V:5, I:10 | 1685 | , , | mostra a utilização da rede num navegador web |
dnsutils
|
V:102, I:922 | 377 | , , | clientes de rede disponibilizados com BIND: nslookup(8), nsupdate(8), dig(8) |
dlint
|
V:2, I:53 | 96 | , , | verifica informação de zona DNS usando pesquisas do servidor de nomes |
dnstracer
|
V:0, I:3 | 81 | , , | rastreia uma cadeia de servidores DNS até à fonte |
A resolução de nome de máquina também é suportada actualmente pelo mecanismo NSS (Name Service Switch). O fluxo desta resolução é o seguinte.
O ficheiro "/etc/nsswitch.conf
" com "hosts:
files dns
" dicta a ordem de resolução do nome de máquina. (Isto
substitui a funcionalidade antiga de "order
" em
"/etc/host.conf
".)
O método files
é invocado primeiro. Se o nome de máquina
for encontrado no ficheiro "/etc/hosts
", devolve um
endereço válido e termina. (O ficheiro "/etc/host.conf
"
contém "multi on
".)
O método dns
é invocado. Se o nome de máquina é
encontrado pela consulta ao Internet Domain Name System
(DNS) identificado pelo ficheiro
"/etc/resolv.conf
", devolve um endereço válido para ele e
termina.
Por exemplo, "/etc/hosts
" parece-se com o seguinte.
127.0.0.1 localhost 127.0.1.1 <host_name> # As linhas seguintes são desejáveis para máquinas capazes de IPv6 ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts
Cada linha começa por um endereço IP e é seguida pelo hostname associado.
O endereço IP 127.0.1.1
na segunda linha deste exemplo
pode não ser encontrada nalguns outros sistemas tipo-Unix. O Instalador Debian cria esta entrada para um
sistema sem um endereço IP permanente como contenção para algum software
(p.e., GNOME) conforme é documentado no bug
#719621.
O <host_name> coincide com o nome da máquina definido em
"/etc/hostname
".
Para um sistema com um endereço IP permanente, esse endereço IP permanente
deve ser utilizado aqui em vez do 127.0.1.1
.
Para um sistema com um endereço IP permanente e um nome de domínio totalmente qualificado (FQDN) disponibilizado pelo Sistema de Nomes de Domínio (DNS), o <nome_máquina> e <nome_domínio> canónicos devem ser utilizados em vez de apenas <nome_máquina>.
O "/etc/resolv.conf
" é um ficheiro estático se o pacote
resolvconf
não estiver instalado. Se instalado, é um link
simbólico. De qualquer modo, contém informação que inicializa as rotinas de
resolução de nomes. Se o DNS existir no
IP="192.168.11.1
", contém o seguinte.
nameserver 192.168.11.1
O pacote resolvconf
torna este
"/etc/resolv.conf
" num link simbólico e gere o seu
conteúdo automaticamente pelos scripts hook.
Para o PC estação de trabalho do ambiente LAN adhoc típico, o nome de
máquina pode ser resolvido via Multicast DNS (mDNS, Zeroconf) adicionalmente aos métodos
files
e dns
básicos.
Avahi disponibiliza uma infraestrutura para Multicast DNS Service Discovery em Debian.
É o equivalente de Apple Bonjour / Apple Rendezvous.
O pacote de plugin libnss-mdns
disponibiliza resolução de
nomes de máquinas via mDNS para a funcionalidade Name Service Switch (NSS)
do GNU da Biblioteca C do GNU (glibc).
O ficheiro "/etc/nsswitch.conf
" deve ter uma estrofe como
"hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
".
Os nomes de máquinas com o domínio de pseudo nível de topo (TLD) ".local" estão resolvidos.
O endereço multicast link-local mDNS IPv4 "224.0.0.251
"
ou o seu equivalente em IPv6 "FF02::FB
" são usados para
fazer pesquisas DNS para nomes que terminem com ".local
".
A resolução de nome de máquina através do depreciado NETBios sobre TCP/IP utilizada em antigos
sistemas Windows pode ser disponibilizada ao instalar o pacote
winbind
. O ficheiro
"/etc/nsswitch.conf
" deverá ter um bloco como
"hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
wins
" para activar esta funcionalidade. (Os sistemas modernos de
Windows normalmente utilizam o método dns
para a
resolução dos nomes de máquinas.)
![]() |
Nota |
---|---|
A expansão Top-Level Domains genéricos (gTLD) no Domain Name System está em desenvolvimento. Tenha cuidado com a colisão de nomes quando escolher um nome de domínio usado apenas dentro da LAN. |
O nome da interface de rede, p.e. eth0
, é atribuído a
cada hardware no kernel Linux conforme é encontrado, através do mecanismo de
configuração do espaço de utilizador, udev
(veja Secção 3.3, “O sistema udev”). O nome da interface de rede é referido como
interface física em
ifup(8)
e
interfaces(5).
De modo a assegurar que cada interface de rede seja chamado de modo
persistente em cada arranque do sistema utilizando o MAC address e etc., existe um ficheiro de regras
"/etc/udev/rules.d/70-persistent-net.rules
". Este
ficheiro é gerado automaticamente pelo programa
"/lib/udev/write_net_rules
", provavelmente executado pelo
ficheiro de regras persistent-net-generator.rules
". Você
pode modificá-lo para alterar as regras de nomeação.
![]() |
Cuidado |
---|---|
Quando editar o ficheiro de regras
" |
Vamos lembrar as gamas de endereços do IPv4 de 32 bits em cada classe reservada para utilização em redes de área local (LANs) pelo rfc1918. É garantido que estes endereços não estejam em conflito com quaisquer endereços na Internet.
Tabela 5.2. Lista de gamas de endereços de rede
Classe | endereços de rede | máscara de rede | máscara de rede /bits | # de sub-redes |
---|---|---|---|---|
A | 10.x.x.x | 255.0.0.0 | /8 | 1 |
B | 172.16.x.x — 172.31.x.x | 255.255.0.0 | /16 | 16 |
C | 192.168.0.x — 192.168.255.x | 255.255.255.0 | /24 | 256 |
![]() |
Nota |
---|---|
Se for atribuído um destes endereços a uma máquina, então essa máquina não poderá aceder à Internet directamente mas terá de aceder através de uma gateway que age como um proxy para serviços individuais ou então fará Network Address Translation(NAT). O router de banda larga geralmente executa NAT para o ambiente LAN do consumidor. |
Apesar da maioria dos dispositivos de hardware serem suportados pelo sistema Debian, existem alguns dispositivos de rede que necessitam de firmware não-livre DFSG para os suportar. Por favor veja Secção 9.9.6, “Controladores de hardware e firmware”.
Debian squeeze
e mais recentes podem gerir a ligação de
rede através de software daemon de gestão como
o NetworkManager (NM)
(network-manager e pacotes associados) ou Wicd
(wicd e pacotes associados).
Vêm com as suas próprias GUIs e programas de linha de comandos como as suas interfaces de utilizador.
Vêm com os seus próprios daemons como os seus sistemas de backend.
Permitem ligação fácil do seu sistema à Internet.
Permitem gestão fácil de configuração de redes com e sem fios.
Permitem-nos configurar a rede independentemente do pacote legacy
ifupdown
.
![]() |
Nota |
---|---|
Não utilize estas ferramentas de configuração de rede automáticas em servidores. Estas são destinadas principalmente para os utilizadores móveis em portáteis. |
Estas ferramentas modernas de configuração de rede necessitam ser
correctamente configuradas para evitar entrarem em conflito com o pacote
legacy ifupdown
e o seu ficheiro de configuração
"/etc/network/interfaces
".
![]() |
Nota |
---|---|
Algumas funcionalidades destas ferramentas automáticas de configuração de
rede podem sofrer regressões. Não são tão robustas como o pacote legacy
|
Documentação oficial para NM e Wicd em Debian são disponibilizadas em
"/usr/share/doc/network-manager/README.Debian
" e
"/usr/share/doc/wicd/README.Debian
", respectivamente.
Essencialmente, a configuração de rede para desktop é feita como se segue.
Tornar o utilizador de ambiente de trabalho, p.e. foo
,
pertencente ao grupo "netdev
" com o seguinte (Em
alternativa, em ambientes de trabalho modernos como o GNOME e o KDE, faça-o
automaticamente através de D-bus).
$ sudo adduser foo netdev
Mantenha a configuração de "/etc/network/interfaces
" tão
simples como o seguinte.
auto lo iface lo inet loopback
Reiniciar NM ou Wicd com o seguinte.
$ sudo /etc/init.d/network-manager restart
$ sudo /etc/init.d/wicd restart
Configure a sua rede através da GUI.
![]() |
Nota |
---|---|
Apenas as interfaces que não estão
listadas em " |
![]() |
Dica |
---|---|
Se desejar estender as capacidades de configuração de rede do NM, por favor
procure módulos plug-in apropriados e pacotes suplementares como os
|
![]() |
Cuidado |
---|---|
Estas ferramentas automáticas de configuração de rede podem não ser
compatíveis com as configurações esotéricas do legado
|
Quando o método descrito em Secção 5.2, “A configuração moderna de rede para desktop” não satisfizer as suas necessidades, deve utilizar a ligação de rede e método antigo de configuração que combina muitas ferramentas mais simples.
A antiga ligação de rede é específica para cada método (veja Secção 5.4, “O método de ligação de rede (antigo)”).
Existem 2 tipos de programas para a configuração de rede de baixo nível em Linux (veja Secção 5.7.1, “Comandos iproute2”).
Os programas antigos net-tools (ifconfig(8), …) são do sistema de rede Linux NET-3. A maioria estão agora obsoletos.
Os novos programs Linux iproute2 (ip(8), …) são o sistema de rede actual do Linux.
Apesar destes programas de rede de baixo nível serem poderosos, não são tão práticos de utilizar. Por isso foram criados sistema de configuração de rede de alto nível.
O pacote ifupdown
é o standard de facto para tais
sistemas de configuração de rede de alto nível em Debian. Permite-lhe
activar a rede simplesmente ao fazer, p. e., "ifup
eth0
". O seu ficheiro de configuração é o ficheiro
"/etc/network/interfaces
" e o seu conteúdo típico é o
seguinte:
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
O pacote resolvconf
foi criado como suplemento ao sistema
ifupdown
para suportar uma fácil configuração da
resolução de endereços de rede ao automatizar a rescrita do ficheiro de
configuração do resolvedor "/etc/resolv.conf
". Agora, a
maioria dos pacotes de configuração de rede em Debian estão modificados para
utilizar o pacote resolvconf
(veja
"/usr/share/doc/resolvconf/README.Debian
").
Scripts de ajuda do pacote ifupdown
tais como
ifplugd
, guessnet
,
ifscheme
, etc. são criados para automatizar a
configuração dinâmica do ambiente de rede para os PCs móveis assim como numa
rede com fios. Estes são relativamente difíceis de usar mas funcionam bem
com o sistema ifupdown
existente.
Estes estão explicados em detalhe com exemplos (veja Secção 5.5, “A configuração básica de rede com ifupdown (legacy)” e Secção 5.6, “A configuração de rede avançada com ifupdown (antigo)”).
![]() |
Cuidado |
---|---|
O método de teste de ligação descrito nesta secção destina-se a propósitos
de teste. Não se destina a ser utilizado directamente para as ligações do
dia-a-dia de rede. Você é avisado para utilizá-lo via NM, Wicd, ou do pacote
|
O método de ligação de rede típico e caminho de ligação para um PC pode ser resumido ao seguinte:
Tabela 5.3. Lista de métodos de ligação de rede e caminhos de ligação
PC | método de ligação | caminho de ligação |
---|---|---|
Porta série (ppp0 )
|
PPP | ⇔ modem ⇔ POTS ⇔ ponto de acesso dial-up ⇔ ISP |
Porta Ethernet (eth0 )
|
PPPoE/DHCP/Estático | ⇔ BB-modem ⇔ serviço BB ⇔ ponto de acesso BB ⇔ ISP |
Porta Ethernet (eth0 )
|
DHCP/Estático | ⇔ LAN ⇔ router BB com with tradução de endereços de rede (NAT) (⇔ BB-modem …) |
Aqui está um sumário dos scripts de configuração para cada método de ligação.
Tabela 5.4. Lista de configurações de ligação de rede
método de ligação | configuração | pacote(s) backend |
---|---|---|
PPP | pppconfig para criar chat determinista
|
pppconfig , ppp |
PPP (alternativa) | wvdialconf para criar chat heurístico
|
ppp , wvdial |
PPPoE | pppoeconf para criar chat determinista
|
pppoeconf , ppp |
DHCP |
descrito em "/etc/dhcp/dhclient.conf "
|
isc-dhcp-client
|
IP estático (IPv4) |
descrito em "/etc/network/interfaces "
|
iproute ou net-tools (obsoleto)
|
IP estático (IPv6) |
descrito em "/etc/network/interfaces "
|
iproute
|
A ligação de rede anónima significa o seguinte.
Tabela 5.5. Lista de ligações de rede anónimas
acrónimo | significado |
---|---|
POTS | serviço de antigo telefone simples |
BB | banda larga |
serviço BB | ex. a linha de subscrição digital (DSL), a TV por cabo, ou a fibra até aos casas (FTTP) |
modem BB | ex. o modem DSL, o modem de cabo, ou o terminal de rede óptica (ONT) |
LAN | rede de área local |
WAN | rede de área alargada |
DHCP | protocolo de configuração dinâmico de máquina |
PPP | protocolo ponto-para-ponto |
PPPoE | protocolo ponto-para-ponto sobre Ethernet |
ISP | Provedor de serviço de Internet |
![]() |
Nota |
---|---|
Os serviços de ligação WAN via TV por cabo são normalmente servidos por DHCP ou PPPoE. Os de ADSL e FTTP são geralmente servidos por PPPoE. Você tem de consultar o seu ISP para os requisitos de configuração exactos para a ligação WAN. |
![]() |
Nota |
---|---|
Quando é utilizado um router de banda larga para criar um ambiente LAN caseiro, os PCs na LAN são ligados à WAN através do router com tradução de endereços de rede (NAT). Para tais casos, as interfaces de rede dos PCs na LAN são servidas por DHCP ou IP estático a partir do router. O router tem de ser configurado para ligar à WAN seguindo as instruções do seu ISP. |
A típica rede moderna de casa ou de pequena empresa, isto é, LAN, está ligada à WAN (Internet) por um router de banda larga de classe de consumidor. A LAN por detrás deste router é servida geralmente pelo servidor de protocolo de configuração dinâmica de máquinas (DHCP) que corre no router.
Instale apenas o pacote isc-dhcp-client
para a Ethernet
servida pelo protocolo de
configuração dinâmica de máquinas (DHCP).
Veja dhclient.conf(5).
Não é necessária nenhuma acção especial para a Ethernet servida por IP estático.
O script de configuração pppconfig
configura a ligação
PPP interactivamente ao seleccionar o seguinte.
O número de telefone
O nome de utilizador do ISP
A palavra-passe do ISP
A velocidade da porta
A porta de comunicação do modem
O método de autenticação
Tabela 5.6. Lista de ficheiros de configuração para a ligação PPP com pppconfig
ficheiro | função |
---|---|
/etc/ppp/peers/<nome_do_isp>
|
O ficheiro de configuração gerado pelo pppconfig para um
pppd específico para <nome_de_isp>
|
/etc/chatscripts/<nome_do_isp>
|
O ficheiro de configuração gerado pelo pppconfig para
chat especifico com <nome_de_isp>
|
/etc/ppp/options
|
O parâmetro de execução geral para o pppd
|
/etc/ppp/pap-secret
|
Dados de autenticação para PAP (risco de segurança) |
/etc/ppp/chap-secret
|
Dados de autenticação para CHAP (mais seguro) |
![]() |
Cuidado |
---|---|
O valor "<nome_do_isp>" do " |
Você pode testar a configuração usando ferramentas de configuração de baixo nível como as seguintes.
$ sudo pon <nome_do_isp> ... $ sudo poff <nome_do_isp>
Veja "/usr/share/doc/ppp/README.Debian.gz
".
Uma aproximação diferente a utilizar
pppd(8)
é corrê-lo a partir do
wvdial(1)
que vem no pacote wvdial
. Em vez do
pppd
correr o
chat(8)
para marcar e negociar a ligação, o wvdial
faz a marcação
e a negociação inicial e depois arranca o pppd
para fazer
o resto.
O script de configuração wvdialconf
configura a ligação
PPP interactivamente ao seleccionar apenas o seguinte:
O número de telefone
O nome de utilizador do ISP
A palavra-passe do ISP
wvdial
tem sucesso a criar a ligação na maioria dos casos
e mantém automaticamente uma lista de dados de autenticação.
Tabela 5.7. Lista de ficheiros de configuração para a ligação PPP com wvdialconf
ficheiro | função |
---|---|
/etc/ppp/peers/wvdial
|
O ficheiro de configuração gerado pelo wvdialconf para o
pppd , específico para wvdial
|
/etc/wvdial.conf
|
O ficheiro de configuração gerado pelo wvdialconf
|
/etc/ppp/options
|
O parâmetro de execução geral para o pppd
|
/etc/ppp/pap-secret
|
Dados de autenticação para PAP (risco de segurança) |
/etc/ppp/chap-secret
|
Dados de autenticação para CHAP (mais seguro) |
Você pode testar a configuração usando ferramentas de configuração de baixo nível como as seguintes.
$ sudo wvdial ... $ sudo killall wvdial
Veja wvdial(1) e wvdial.conf(5).
Quando o seu ISP o serve com ligação PPPoE e você decide ligar o seu PC
directamente à WAN, a rede do seu PC tem de ser configurada com PPPoE. PPPoE
significa PPP over Ethernet. O script de configuração
pppoeconf
configura a ligação PPPoE interactivamente.
Os ficheiros de configuração são os seguintes:
Tabela 5.8. Lista de ficheiros de configuração para a ligação PPPoE com pppoeconf
ficheiro | função |
---|---|
/etc/ppp/peers/dsl-provider
|
O ficheiro de configuração gerado pelo pppoeconf para o
pppd , específico para pppoe
|
/etc/ppp/options
|
O parâmetro de execução geral para o pppd
|
/etc/ppp/pap-secret
|
Dados de autenticação para PAP (risco de segurança) |
/etc/ppp/chap-secret
|
Dados de autenticação para CHAP (mais seguro) |
Você pode testar a configuração usando ferramentas de configuração de baixo nível como as seguintes.
$ sudo /sbin/ifconfig eth0 up $ sudo pon dsl-provider ... $ sudo poff dsl-provider $ sudo /sbin/ifconfig eth0 down
Veja "/usr/share/doc/pppoeconf/README.Debian
".
A configuração tradicional de rede
TCP/IP no sistema Debian utiliza o pacote
ifupdown
como uma ferramenta de alto nível. Existem 2
casos típicos:
Para sistemas de IP dinâmico, como os PCs
portáteis, você configurar a rede TCP/IP com o pacote resolvconf
para
permitir-lhe mudar facilmente a configuração da sua rede (veja Secção 5.5.4, “A interface de rede servida por DHCP”).
Para sistemas de IP estático como os
servidores, você deve configurar a rede TCP/IP sem o pacote resolvconf
e manter
o seu sistema simples (veja Secção 5.5.5, “A interface de rede com IP estático”).
Estes métodos de configuração tradicionais são muito úteis se desejar definir configurações avançadas; encontre detalhes no seguinte.
O pacote ifupdown
disponibiliza uma estrutura standard
para a configuração de rede de alto nível no sistema Debian. Nesta secção,
aprendemos a configuração básica de rede com o ifupdown
com uma introdução simplificada e muitos exemplos típicos.
O pacote ifupdown
contém dois comandos:
ifup(8)
e
ifdown(8).
Eles oferecem configuração de rede de alto nível ditada pelo ficheiro de
configuração "/etc/network/interfaces".
Tabela 5.9. Lista de comandos de configuração de rede básicos com ifupdown
comando | acção |
---|---|
ifup eth0
|
activa a interface de rede eth0 com a configuração
eth0 se existir "iface eth0 "
|
ifdown eth0
|
desactiva a interface de rede eth0 com a configuração
eth0 se existir "iface eth0 "
|
![]() |
Atenção |
---|---|
Não utilize as ferramentas de configuração de baixo nível tais como os comandos ifconfig(8) e ip(8) para configurar uma interface em estado activo. |
![]() |
Nota |
---|---|
Não existe nenhum comando |
A sintaxe chave de "/etc/network/interfaces
" como
explicada em
interfaces(5)
pode ser resumida ao seguinte.
Tabela 5.10. Lista de estrofes em "/etc/network/interfaces
"
estrofe | significado |
---|---|
"auto <nome_da_interface> "
|
inicia a interface <nome_da_interface> no arranque do sistema |
"allow-auto <nome_de_interface> "
|
, , |
"allow-hotplug <nome_de_interface> "
|
inicia a interface <nome_de_interface> quando o kernel detecta um evento hotplug da interface |
Linhas começadas por "iface <nome_de_configuração>
… "
|
definem a configuração de rede <nome_de_configuração> |
Linhas iniciadas por "mapping
<nome_da_interface_global> "
|
define valor de mapeamento de <nome_de_configuração> para o <nome_de_interface> correspondente |
A linha começada com um cardinal "# "
|
ignorar como comentários (os comentários no fim da linha não são suportados) |
Uma linha terminada com uma barra inversa "\ "
|
estende a configuração para a próxima linha |
As linhas começadas por iface
têm a seguinte sintaxe:
iface <nome_de_configuração> <familia_de_endereços> <nome_do_método> <opção1> <valor1> <opção2> <valor2> ...
Para a configuração básica, mapping
não é utilizado e você
utiliza o nome da interface de rede como o nome da configuração de rede
(Veja Secção 5.6.5, “A estrofe de mapeamento”).
![]() |
Atenção |
---|---|
Não defina duplicados da estrofe " |
A seguinte entrada de configuração no ficheiro
"/etc/network/interfaces
" activa a interface de rede
loopback lo
durante o arranque do sistema (via estrofe
auto
).
auto lo iface lo inet loopback
Isto está sempre presente no ficheiro
"/etc/network/interfaces
".
Após preparar o sistema com Secção 5.4.1, “A ligação DHCP com Ethernet”, a interface de rede
servida por DHCP é configurada ao criar a entrada de configuração no
ficheiro "/etc/network/interfaces
" como o seguinte:
allow-hotplug eth0 iface eth0 inet dhcp
Quando o kernel Linux detecta a interface física eth0
, a
estrofe allow-hotplug
faz com que ifup
active a interface e a estrofe iface
faz com que
ifup
utilize DHCP para configurar a interface.
A interface de rede servida por IP estático é configurada ao criar a entrada
de configuração no ficheiro "/etc/network/interfaces
"
como se segue:
allow-hotplug eth0 iface eth0 inet static address 192.168.11.100 netmask 255.255.255.0 gateway 192.168.11.1 dns-domain exemplo.com dns-nameservers 192.168.11.1
Quando o kernel Linux detecta a interface física eth0
, a
estrofe allow-hotplug
faz com que ifup
active a interface e a estrofe iface
faz com que
ifup
use IP estático para configurar a interface.
Aqui, eu assumi o seguinte:
Alcance de endereços IP da rede LAN: 192.168.11.0
-
192.168.11.255
Endereço IP da gateway: 192.168.11.1
Endereço IP do PC: 192.168.11.100
O pacote resolvconf
: instalado
O nome de domínio: "exemplo.com
"
Endereço IP do servidor DNS: 192.168.11.1
Quando o pacote resolvconf
não estiver instalado, a
configuração relacionada com DNS precisa ser feita manualmente ao editar o
ficheiro "/etc/resolv.conf
" como se segue:
nameserver 192.168.11.1 domain exemplo.com
![]() |
Cuidado |
---|---|
Os endereços IP utilizados no exemplo acima não se destinam a ser copiados literalmente. Você tem de ajustar os números do IP à configuração da sua rede actual. |
A LAN sem fios (WLAN resumindo) disponibiliza a ligação sem fios mais rápida através da difusão espectral de bandas de rádio não licenciadas baseada no conjunto de standards chamado IEEE 802.11.
As interfaces de WLAN são quase iguais às interfaces Ethernet normais mas
necessitam que lhes seja disponibilizado um ID de rede e dados de chave de
encriptação quando são inicializadas. As suas ferramentas de rede de alto
nível são exactamente as mesmas das interfaces Ethernet com a excepção que
os nomes das interfaces são um pouco diferentes como
eth1
, wlan0
, ath0
,
wifi0
, … dependendo das drivers de kernel usadas.
![]() |
Dica |
---|---|
O dispositivo |
Aqui estão algumas palavras chave para lembrar para a WLAN.
Tabela 5.11. Lista de siglas para WLAN
acrónimo | palavra completa | significado |
---|---|---|
NWID | ID de rede | ID de rede a 16 bit usado por redes pre-802.11 WaveLAN (muito descontinuado) |
(E)SSID | (Extenso) Service Set Identifier | nome de rede dos Pontos de Acesso Wireless (APs) interligados para formar uma LAN 802.11 wireless integrada, ID de Domínio |
WEP, (WEP2) | Wired Equivalent Privacy | standard de encriptação wireless 64-bit (128-bit) de 1ª geração com chave de 40 bits (descontinuado) |
WPA | Wi-Fi Protected Access | standard de encriptação wireless de 2ª geração (maioria dos 802.11i), compatível com WEP |
WPA2 | Wi-Fi Protected Access 2 | standard de encriptação wireless de 3ª geração (todos 802.11i), não compatível com WEP |
A escolha actual do protocolo é normalmente limitada pelo router wireless que você possui.
Tem de instalar o pacote wpasupplicant
para suportar a
WLAN com o novo WPA/WPA2.
No caso de IP servido por DHCP em ligação WLAN,
a entrada no ficheiro "/etc/network/interfaces
" deverá
ser conforme a seguinte:
allow-hotplug ath0 iface ath0 inet dhcp wpa-ssid homezone # hexadecimal psk is encoded from a plaintext passphrase wpa-psk 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
Veja "/usr/share/doc/wpasupplicant/README.modes.gz
".
Tem de instalar o pacote wireless-tools
para suportar a
WLAN com o antigo WEP. (O seu router pode ainda usar esta infraestrutura
insegura, mas é melhor do que nada.)
![]() |
Cuidado |
---|---|
Por favor note o seu tráfego de rede em WLAN com WEP pode ser interceptado por outros. |
No caso de IP servido por DHCP em ligação WLAN,
a entrada no ficheiro "/etc/network/interfaces
" deverá
ser conforme a seguinte:
allow-hotplug eth0 iface eth0 inet dhcp wireless-essid Home wireless-key1 0123-4567-89ab-cdef wireless-key2 12345678 wireless-key3 s:password wireless-defaultkey 2 wireless-keymode open
Veja "/usr/share/doc/wireless-tools/README.Debian
".
Tem de configurar a ligação PPP primeiro como descrito antes (veja Secção 5.4.3, “A ligação PPP com o pppconfig”). Depois, adicione a entrada
no ficheiro "/etc/network/interfaces
" para o dispositivo
PPP principal ppp0
como se segue.
iface ppp0 inet ppp provider <nome_do_isp>
Necessita primeiro de configurar a ligação PPP alternativa com o
wvdial
como descrito antes (veja Secção 5.4.4, “A ligação PPP alternativa com o wvdialconf”). Depois,
adicione a entrada no ficheiro "/etc/network/interfaces
"
para o dispositivo PPP principal ppp0
como se segue.
iface ppp0 inet wvdial
Para um PC ligado directamente à WAN servido por PPPoE, você precisa de
configurar o sistema com a ligação PPPoE como descrito antes (veja Secção 5.4.5, “A ligação PPPoE com o pppoeconf”). Depois, adicione a
entrada no ficheiro "/etc/network/interfaces
" para o
dispositivo PPPoE principal eth0
como se segue.
allow-hotplug eth0 iface eth0 inet manual pre-up /sbin/ifconfig eth0 up up ifup ppp0=dsl down ifdown ppp0=dsl post-down /sbin/ifconfig eth0 down # O seguinte é usado apenas internamente iface dsl inet ppp provider dsl-provider
O ficheiro "/etc/network/run/ifstate
" armazena os estados
de configuração de rede desejados para
todas as interfaces de rede actualmente activas e geridas pelo pacote
ifupdown
. Infelizmente, mesmo que o sistema
ifupdown
falhe ao activar uma interface como desejado, o
ficheiro "/etc/network/run/ifstate
" lista-a como activa.
A menos que o resultado do comando ifconfig(8) para uma interface não tenha uma linha como o exemplo seguinte, não pode ser usada como parte de uma rede IPV4.
inet addr:192.168.11.2 Bcast:192.168.11.255 Mask:255.255.255.0
![]() |
Nota |
---|---|
Para o dispositivo Ethernet ligado a PPPoE, ao resultado do comando ifconfig(8) falta uma linha que se parece com o exemplo em cima. |
Quando tentar reconfigurar a interface, p.e., eth0
, tem
que primeiro desactivá-la com o comando "sudo ifdown eth0
". Isto remove a
entrada de eth0
do ficheiro
"/etc/network/run/ifstate
". (Isto pode resultar nalguma
mensagem de erro se a eth0
não estiver activa ou tiver
sido mal configurada anteriormente. Até agora, parece ser seguro fazer isto
para a estação de trabalho simples de um utilizador em qualquer altura.)
Agora você é livre de rescrever o conteúdo de
"/etc/network/interfaces
" como necessitar para
reconfigurar a interface de rede eth0
.
Então, você pode reactivar eth0
com o comando "sudo ifup eth0
".
![]() |
Dica |
---|---|
Você pode (re)inicializar a interface de rede com um simples " |
O pacote ifupdown-extra
disponibiliza fáceis testes de
ligação de rede para utilizar com o pacote ifupdown
.
O comando network-test(1) pode ser usado a partir da shell.
Os scripts automáticos são corridos para cada execução do comando
ifup
.
O comando network-test
poupa-lhe a trabalheira de
executar comandos de baixo nível para analisar o problema de rede.
Os scripts automáticos estão instalados em
"/etc/network/*/
" e executam o seguinte.
Verificar a ligação de cabo de rede
Verificar o uso duplicado de endereço IP
Configura rotas estáticas do sistema baseadas na definição
"/etc/network/routes
"
Verificar se a gateway de rede está ao alcance
Grava os resultados no ficheiro "/var/log/syslog
"
Este registo do syslog é bastante útil para a administração de problemas de rede no sistema remoto.
![]() |
Dica |
---|---|
O comportamento automático do pacote |
A funcionalidade do pacote ifupdown
pode ser melhorada
para além do que foi descrito em Secção 5.5, “A configuração básica de rede com ifupdown (legacy)” com
conhecimentos avançados.
As funcionalidades descritas aqui são completamente opcionais. Estou a ser preguiçoso e minimalista, raramente me incomodo a utilizar isto.
![]() |
Cuidado |
---|---|
Se não conseguir configurar a ligação de rede com a informação de Secção 5.5, “A configuração básica de rede com ifupdown (legacy)”, irá agravar a situação ao utilizar a informação em baixo. |
O pacote ifplugd
é uma antiga ferramenta de configuração
automática de rede que apenas pode gerir ligações Ethernet. Isto resolve
situações de ligar/desligar cabos Ethernet para portáteis e etc. Se tiver o
NetworkManager ou o Wicd (veja Secção 5.2, “A configuração moderna de rede para desktop”) instalado, não
precisa deste pacote.
Este pacote corre um daemon e substitui as
funcionalidades auto ou allow-hotplug (veja Tabela 5.10, “Lista de estrofes em "/etc/network/interfaces
"”) e inicia as interfaces após a sua
ligação à rede.
Aqui está como utilizar o pacote ifplugd
para a porta
Ethernet interna, ex. eth0
.
Remova a estrofe em "/etc/network/interfaces
":
"auto eth0
" ou "allow-hotplug eth0
".
Mantenha a estrofe em "/etc/network/interfaces
":
"iface eth0 inet …
" e "mapping …
".
instale o pacote ifplugd
.
Corra "sudo dpkg-reconfigure ifplugd
".
Coloque eth0
como a "interface estática para ser
correspondida pelo ifplugd".
Agora, a configuração de rede funciona como deseja.
Após o ligar da máquina ou após a descoberta do hardware, a interface não é activada por si própria.
Processo de arranque rápido sem o longo tempo limite do DHCP.
Nenhuma interface activada de modo esquisito sem um endereço IPv4 apropriado (veja Secção 5.5.12, “O estado de configuração de rede do ifupdown”).
Após encontrar o cabo Ethernet, a interface é activada.
Após algum tempo depois de desligar o cabo Ethernet, a interface é desactivada automaticamente.
Após ligar outro cabo Ethernet, a interface é activada sob o novo ambiente de rede.
![]() |
Dica |
---|---|
Os argumentos para o comando ifplugd(8) podem definir o seu comportamento tal como o atraso para reconfigurar interfaces. |
O pacote ifmetric
permite-nos manipular métricas de rotas
à posteriori mesmo para DHCP.
O seguinte configura a interface eth0
para ser preferida
sobre a interface wlan0
.
Instale o pacote ifmetric
.
Adicione uma linha de opção com "metric 0
" logo por baixo
da linha "iface eth0 inet dhcp
" em
"/etc/network/interfaces
".
Adicione uma linha de opção com "metric 1
" logo por baixo
da linha "iface wlan0 inet dhcp
" em
"/etc/network/interfaces
".
O 0 (zero) métrico significa que a rota de prioridade mais alta e é a predefinida. O valor métrico mais alto significa rotas de prioridade mais baixa. O endereço IP da interface activa com o valor métrico mais baixo torna-se o originário. Veja ifmetric(8).
Uma única interface Ethernet física pode ser configurada como múltiplas interfaces virtuais com endereços IP diferentes. Normalmente o objectivo é ligar uma interface a diferentes sub-redes de IP. Por exemplo, hospedagem web virtual baseada em endereço IP por uma única interface de rede é uma das tais aplicações.
Por exemplo, vamos supor o seguinte.
Uma única interface Ethernet na sua máquina está ligada a um hub de Ethernet (não ao router de banda larga).
O hub Ethernet esta ligado a ambos; Internet e rede LAN.
A rede LAN usa a sub-rede 192.168.0.x/24
.
A sua máquina usa endereço IP servido por DHCP com a interface física
eth0
para a Internet.
A sua máquina usa 192.168.0.1
com a interface virtual
eth0:0
para a LAN.
As seguintes estrofes em "/etc/network/interfaces
"
configuram a sua rede.
iface eth0 inet dhcp metric 0 iface eth0:0 inet static address 192.168.0.1 netmask 255.255.255.0 network 192.168.0.0 metric 1
![]() |
Cuidado |
---|---|
Apesar deste exemplo de configuração com network address translation (NAT) que usa netfilter/iptables (veja Secção 5.9, “Infraestrutura netfilter”) poder disponibilizar um router barato para a LAN com apenas uma interface única, não existem capacidades reais de firewall com tal configuração. Você deve utilizar 2 interfaces físicas com NAT tornar a rede local segura a partir da Internet. |
O pacote ifupdown
oferece configuração de rede avançada
utilizando o nome de configuração de rede
e o nome de interface de rede. Eu utilizo
uma terminologia ligeiramente diferente da usada em
ifup(8)
e
interfaces(5).
Tabela 5.12. Lista de terminologia para dispositivos de rede
terminologia do manual | a minha terminologia | exemplos no texto que se segue | descrição |
---|---|---|---|
nome da interface física | nome da interface de rede | lo , eth0 ,
<nome_da_interface> |
nome dado pelo kernel do Linux (usando o mecanismo udev )
|
nome da interface lógica | nome da configuração de rede | config1 , config2 ,
<nome_da_configuração> |
testemunho de nome seguindo iface no
"/etc/network/interfaces "
|
Os comandos de configuração de rede básicos em Secção 5.5.1, “A sintaxe simplificada de comando ” necessitam que o testemunho de
nome da configuração de rede da estrofe
iface
corresponda ao
nome da interface de rede em
"/etc/network/interfaces
".
Os comandos de configuração de rede avançados activam a separação do nome da
configuração de rede e o nome da
interface de rede em
"/etc/network/interfaces
" como se segue.
Tabela 5.13. Lista de comandos avançados de configuração de rede com ifupdown
comando | acção |
---|---|
ifup eth0=config1
|
torna activa a interface de rede eth0 com a configuração
config1
|
ifdown eth0=config1
|
torna inactiva a interface de rede eth0 com a
configuração config1
|
ifup eth0
|
torna activa a interface de rede eth0 com a configuração
seleccionada pela estrofe mapping
|
ifdown eth0
|
torna inactiva a interface de rede eth0 com a
configuração seleccionada pela estrofe mapping
|
Nós saltamos a explicação da estrofe mapping
no
"/etc/network/interfaces
" em Secção 5.5.2, “A sintaxe básica de "/etc/network/interfaces"” para evitar
complicações. Esta estrofe tem a seguinte sintaxe:
mapping <glob_de_nome_de_interface> script <nome_de_script> map <script_de_entrada1> map <script_de_entrada2> map ...
Isto disponibiliza funcionalidades avançadas ao ficheiro
"/etc/network/interfaces
" ao automatizar a escolha da
configuração com o script de mapeamento especificado por
<nome_do_script>
.
Vamos seguir a execução do seguinte.
$ sudo ifup eth0
Quando o "<glob_de_nome_de_interface>
" corresponde
a "eth0
", esta execução leva à execução do seguinte
comando para configurar automaticamente eth0
.
$ sudo ifup eth0=$(echo -e '<script_entrada1> \n <script_entrada2> \n ...' | <nome_do_script> eth0)
Aqui, as linhas de entrada do script com "map
" são
opcionais e podem ser repetidas.
![]() |
Nota |
---|---|
O glob para a estrofe |
Aqui está como mudar manualmente entre várias configurações de rede sem
reescrever o ficheiro "/etc/network/interfaces
" como em
Secção 5.5.13, “A reconfiguração de rede básica”.
Para todas as configurações de rede que necessite aceder, crie uma estrofe
separada no ficheiro "/etc/network/interfaces
" conforme o
seguinte:
auto lo iface lo inet loopback iface config1 inet dhcp iface config2 inet static address 192.168.11.100 netmask 255.255.255.0 gateway 192.168.11.1 dns-domain example.com dns-nameservers 192.168.11.1 iface pppoe inet manual pre-up /sbin/ifconfig eth0 up up ifup ppp0=dsl down ifdown ppp0=dsl post-down /sbin/ifconfig eth0 down # O seguinte é usado apenas internamente iface dsl inet ppp provider dsl-provider iface pots inet ppp provider provider
Por favor note que o nome de configuração de
rede o qual é o testemunho após iface
não usa o testemunho para
o nome da interface de rede. Também, não
existe nenhuma estrofe auto
nem estrofe allow-hotplug
para iniciar a
interface de rede eth0
automaticamente após eventos.
Agora está pronto para comutar a configuração de rede.
Vamos levar o seu PC para uma LAN servida por DHCP. Você activa a interface de rede (a interface física)
eth0
ao atribuir-lhe o nome de configuração de rede (o nome lógico da interface)
config1
com o seguinte.
$ sudo ifup eth0=config1 Password: ...
A interface eth0
está activa, configurada por DHCP e
ligada a LAN.
$ sudo ifdown eth0=config1 ...
A interface eth0
está inactiva e desligada da LAN.
Vamos levar o seu PC para uma LAN servida por IP estático. Você activa a
interface de rede eth0
ao atribuir-lhe o nome de configuração de
rede config2
para ela com o seguinte.
$ sudo ifup eth0=config2 ...
A interface eth0
está activa, configurada com IP estático
e ligada à LAN. Os parâmetros adicionais dados como dns-*
configuram o conteúdo de "/etc/resolv.conf
". Este
"/etc/resolv.conf
" é melhor is better gerido se o pacote
resolvconf
estiver instalado.
$ sudo ifdown eth0=config2 ...
A interface eth0
está inactiva e desligada da LAN, outra
vez.
Vamos levar o seu PC para uma porta em modem-BB ligado ao serviço servido de
PPPoE. Você activa a interface de rede
eth0
ao atribuir o nome de configuração de rede pppoe
a ela
com o seguinte.
$ sudo ifup eth0=pppoe ...
A interface eth0
está activa, configurada com ligação
PPPoE directamente ao ISP.
$ sudo ifdown eth0=pppoe ...
A interface eth0
está inactiva e desligada, outra vez.
Vamos levar o seu PC para uma localização sem LAN ou modem BB mas com POTS e
modem. Você activa a interface de rede
ppp0
ao atribuir o nome de configuração de rede pots
a ela
com o seguinte.
$ sudo ifup ppp0=pots ...
A interface ppp0
está activa e ligada à Internet com PPP.
$ sudo ifdown ppp0=pots ...
A interface ppp0
está inactiva e desligada da Internet.
Você deve verificar o ficheiro "/etc/network/run/ifstate
"
para o estado actual da configuração de rede do sistema
ifupdown
.
![]() |
Atenção |
---|---|
Talvez necessite ajustar os números no final de |
O sistema ifupdown
corre automaticamente scripts
instalados em "/etc/network/*/
" enquanto exporta
variáveis de ambiente para os scripts.
Tabela 5.14. Lista de variáveis de ambiente passadas pelo sistema ifupdown
variável de ambiente | valor passado |
---|---|
"$IFACE "
|
nome físico (nome da interface) da interface a ser processada |
"$LOGICAL "
|
nome lógico (nome da configuração) da interface a ser processada |
"$ADDRFAM "
|
<família_de_endereços> da interface |
"$METHOD "
|
<nome_de_método> da interface (ex., "static") |
"$MODE "
|
"start" se corrido a partir de ifup , "stop" se corrido a
partir de ifdown
|
"$PHASE "
|
como para "$MODE ", mas com granularidade mais fina,
distinguindo as fases pre-up , post-up ,
pre-down e post-down
|
"$VERBOSITY "
|
indica se "--verbose " foi usado, regulado para 1 se sim,
0 se não.
|
"$PATH "
|
caminho de busca de comando:
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin "
|
"$IF_<OPTION> "
|
valor para a opção correspondente sob a estrofe iface
|
Aqui, cada variável de ambiente, "$IF_<OPTION>
", é
criada a partir do nome da opção correspondente tal como <opção1> e
<opção2> ao preceder com "$IF_
", convertendo para
maiúsculas, substituindo hífenes por underscores, e descartando os
caracteres não-alfanuméricos.
![]() |
Dica |
---|---|
Veja Secção 5.5.2, “A sintaxe básica de "/etc/network/interfaces"” para <família_de_endereços>, <nome_de_método>, <opção1> e <opção2> |
O pacote ifupdown-extra
(veja Secção 5.5.14, “O pacote ifupdown-extra”) utiliza estas variáveis de ambiente
para estender a funcionalidade do pacote ifupdown
. O
pacote ifmetric
(veja Secção 5.6.2, “O pacote ifmetric”) instala o script
"/etc/network/if-up.d/ifmetric
" o qual define a métrica
via variável "$IF_METRIC
". O pacote
guessnet
(veja Secção 5.6.8, “Mapeando com guessnet”),
que disponibiliza um estrutura simples e poderosa para a selecção automática
da configuração de rede através do mecanismo de mapeamento, também as
utiliza.
![]() |
Nota |
---|---|
Para exemplos mais específicos de scripts personalizados de configuração de
rede que utilizam estas variáveis de ambiente, você deve consultar os
scripts de exemplo em
" |
Em vez de escolher manualmente a configuração conforme descrito em Secção 5.6.6, “A configuração manual da rede comutável”, pode utilizar o mecanismo de mapeamento descrito em Secção 5.6.5, “A estrofe de mapeamento” para seleccionar automaticamente a configuração de rede com scripts personalizados.
O comando
guessnet-ifupdown(8)
disponibilizado pelo pacote guessnet
foi desenhado para
ser usado como um script de mapeamento e disponibiliza uma estrutura
poderosa para melhorar o sistema ifupdown
.
Liste as condições de teste como o valor para as opções do guessnet
para cada configuração
de rede sob a estrofe iface
.
O mapeamento escolhe a iface
com o primeiro resultado
não-ERRO como a configuração de rede.
Esta utilização dupla do ficheiro
"/etc/network/interfaces
" pelo script de mapeamento,
guessnet-ifupdown
, e a infraestrutura original de
configuração de rede, ifupdown
, não causa impactos
negativos porque as opções do guessnet
apenas exportam
variáveis de ambiente extras para scripts executados pelo sistema
ifupdown
. Veja detalhes em
guessnet-ifupdown(8).
![]() |
Nota |
---|---|
Quando são necessárias múltiplas linhas de opção |
Os comandos Iproute2 oferecem capacidades completas de configuração de rede de baixo nível. Aqui está uma tabela de traduções dos comandos net-tools obsoletos para os novos comandos iproute2 etc.
Tabela 5.15. Tabela de tradução dos comandos obsoletos net-tools
para
os novos comandos iproute2
ferramentas de rede obsoletas | novo iproute2 etc. | manipulação |
---|---|---|
ifconfig(8) |
ip addr
|
endereço de protoco (IP ou IPv6) num dispositivo |
route(8) |
ip route
|
entrada na tabela de rotas |
arp(8) |
ip neigh
|
entrada na cache ARP ou NDISC |
ipmaddr
|
ip maddr
|
endereço multicast |
iptunnel
|
ip tunnel
|
túnel sobre IP |
nameif(8) | ifrename(8) | nomeia as interfaces de rede baseadas no endereço MAC |
mii-tool(8) | ethtool(8) | Definições de dispositivo Ethernet |
Veja ip(8) e Manual do Conjunto de Utilitários IPROUTE2.
Você pode usar comandos de rede de baixo nível como se segue em segurança pois eles não mudam a configuração de rede.
Tabela 5.16. Lista de comandos de rede de baixo nível
comando | descrição |
---|---|
ifconfig
|
mostra o estado de ligação e endereço das interfaces activas |
ip addr show
|
mostra o estado de ligação e endereço das interfaces activas |
route -n
|
mostra toda a tabela de rotas em endereços numéricos |
ip route show
|
mostra toda a tabela de rotas em endereços numéricos |
arp
|
mostra o conteúdo actual das tabelas de cache ARP |
ip neigh
|
mostra o conteúdo actual das tabelas de cache ARP |
plog
|
mostra o log do daemon ppp |
ping yahoo.com
|
verifica a ligação de Internet para "yahoo.com "
|
whois yahoo.com
|
verifica quem registou "yahoo.com " na base de dados de
domínios
|
traceroute yahoo.com
|
rastreia a ligação Internet até "yahoo.com "
|
tracepath yahoo.com
|
rastreia a ligação Internet até "yahoo.com "
|
mtr yahoo.com
|
rastreia a ligação Internet até "yahoo.com "
(repetidamente)
|
dig [@servidor-dns.com] exemplo.com [{a|mx|any}]
|
verifica os registos DNS de
"exemplo.com " pelo "servidor-dns.com "
para um registo "a ", "mx ", ou
"any "
|
iptables -L -n
|
verifica o filtro de pacotes |
netstat -a
|
procura todos os portos abertos |
netstat -l --inet
|
procura portos a escutar |
netstat -ln --tcp
|
procura portos TCP a escutar (numérico) |
dlint exemplo.com
|
verifica a informação da zona DNS de "exemplo.com "
|
![]() |
Dica |
---|---|
Algumas destas ferramentas de configuração de baixo nível residem em
" |
A optimização de rede genérica está para além do objectivo desta documentação. Eu apenas toco em assuntos pertinentes às ligações de grau de consumidor.
Tabela 5.17. Lista de ferramentas de optimização de rede
pacotes | popcon | tamanho | descrição |
---|---|---|---|
iftop
|
V:11, I:101 | 118 | mostra informação da utilização de largura de banda numa interface de rede |
iperf
|
V:5, I:49 | 175 | ferramenta de medição da largura de banda do Protocolo Internet |
apt-spy
|
V:1, I:10 | 105 |
escreve um ficheiro "/etc/apt/sources.list " baseado em
testes de largura de banda
|
ifstat
|
V:1, I:11 | 41 | InterFace STATistics Monitoring |
bmon
|
V:2, I:10 | 118 | monitor de largura de banda portável e estimador de taxas |
ethstatus
|
V:0, I:4 | 84 | script que mede rapidamente a transferência efectiva de um dispositivo de rede |
bing
|
V:0, I:4 | 96 | testador de largura de banda empírica estocástica |
bwm-ng
|
V:2, I:17 | 71 | monitor de largura de banda pequeno e simples baseado em consola |
ethstats
|
V:0, I:1 | 52 | monitor de estatísticas de Ethernet baseado em consola |
ipfm
|
V:0, I:0 | 156 | ferramenta de análise de largura de banda |
O valor Maximum Transmission Unit
(MTU) pode ser determinado experimentalmente com
ping(8)
com a opção "-M do
" a qual envia pacotes ICMP com tamanho
de dados inicial de 1500 (com offset de 28 bytes para o cabeçalho IP+ICMP) e
encontra o tamanho maior sem fragmentação IP.
Por exemplo, tente o seguinte:
$ ping -c 1 -s $((1500-28)) -M do www.debian.org PING www.debian.org (194.109.137.218) 1472(1500) bytes of data. From 192.168.11.2 icmp_seq=1 Frag needed and DF set (mtu = 1454) --- www.debian.org ping statistics --- 0 packets transmitted, 0 received, +1 errors
Tente 1454 em vez de 1500
Observe ping(8) com sucesso com 1454.
Este processo é a descoberta do Caminho MTU (PMTU) (RFC1191) e o comando tracepath(8) pode automatizar isto.
![]() |
Dica |
---|---|
O exemplo acima com valor PMTU de 1454 é para o meu provedor FTTP anterior o qual utilizava Modo de Transferência Assíncrona (ATM) com a coluna vertebral da sua rede e servia os seus clientes com PPPoE. O valor de PMTU real depende do seu ambiente, p.e. 1500 para o meu novo provedor FTTP. |
Tabela 5.18. Regras básicas para o valor MTU óptimo
ambiente de rede | MTU | racional |
---|---|---|
Ligação Dial-up (IP: PPP) | 576 | standard |
Ligação Ethernet (IP: DHCP ou fixo) | 1500 | standard e predefinido |
Ligação Ethernet (IP: PPPoE) | 1492 (=1500-8) | 2 bytes para o cabeçalho PPP e 6 bytes para o cabeçalho PPPoE |
Ligação Ethernet (espinha dorsal do ISP: ATM, IP: DHCP ou fixo) | 1462 (=48*31-18-8) | especulação do autor: 18 bytes para cabeçalho de Ethernet, 8 bytes para trailer de SAR |
Ligação Ethernet (espinha dorsal do ISP: ATM, IP: PPPoE) | 1454 (=48*31-8-18-8) | veja "Configuração de MTU Óptima para Ligações PPPoE ADSL" para o racional |
Adicionalmente a estas regras básicas, você deve saber o seguinte:
Qualquer utilização de métodos de túnel (VPN etc.) pode reduzir o MTU óptimo pelo excesso que adicionam.
O valor MTU não deve exceder o valor PMTU determinado experimentalmente.
O maior valor MTU é geralmente melhor quando são conhecidas outras limitações.
Aqui estão exemplos para definir o valor MTU desde a sua predefinição 1500 até 1454.
Para o DHCP (veja Secção 5.5.4, “A interface de rede servida por DHCP”), você pode substituir
as linhas de estrofe iface
pertinentes em
"/etc/network/interfaces
" com o seguinte.
iface eth0 inet dhcp pre-up /sbin/ifconfig $IFACE mtu 1454
Para IP estático (veja Secção 5.5.5, “A interface de rede com IP estático”), você pode substituir
as linhas pertinentes de iface
em
"/etc/network/interfaces
" com o seguinte.
iface eth0 inet static address 192.168.11.100 netmask 255.255.255.0 gateway 192.168.11.1 mtu 1454 dns-domain exemplo.com dns-nameservers 192.168.11.1
Para o PPPoE directo (veja Secção 5.4.5, “A ligação PPPoE com o pppoeconf”), você pode substituir a
linha "mtu
" pertinente no
"/etc/ppp/peers/dsl-provider
" com o seguinte.
mtu 1454
O tamanho de segmento máximo (MSS) é usado como uma alternativa ao tamanho do pacote. As relações entre MSS e MTU são as seguintes.
MSS = MTU - 40 para IPv4
MSS = MTU - 60 para IPv6
![]() |
Nota |
---|---|
A optimização baseada no iptables(8) (veja Secção 5.9, “Infraestrutura netfilter”) pode apertar o tamanho do pacote pelo MSS e é útil para o router. Veja "TCPMSS" em iptables(8). |
Para a WAN moderna de alta largura de banda e alta latência, a performance do TCP pode ser maximizada ajustando os parâmetros de tamanho de buffer TCP conforme descrito em "Guia de Afinações de TCP" e em "Afinações do TCP". Até agora, os ajustes predefinidos actuais de Debian servem bem mesmo para a minha LAN ligada pelo serviço FTTP rápido de 1G bps.
Netfilter disponibiliza uma infra-estrutura para firewall de estado e tradução de endereços de rede (NAT) com módulos do kernel Linux (veja Secção 3.3.1, “A inicialização de módulos do kernel”).
Tabela 5.19. Lista de ferramentas de firewall
pacotes | popcon | tamanho | descrição |
---|---|---|---|
iptables
|
V:244, I:995 | 1415 | ferramentas de administração para netfilter (iptables(8) para IPv4, ip6tables(8) para IPv6) |
arptables
|
V:0, I:2 | 124 | ferramentas de administração para netfilter (arptables(8) para ARP) |
ebtables
|
V:33, I:52 | 309 | ferramentas de administração para netfilter (ebtables(8) para criação de pontes Ethernet) |
iptstate
|
V:0, I:5 | 135 | monitoriza continuamente o estado do netfilter (semelhante ao top(1)) |
shorewall-init
|
I:1 | 103 | Inicialização de Shoreline Firewall |
shorewall
|
V:8, I:20 | 2061 | Shoreline Firewall, gerador de ficheiro de configuração netfilter |
shorewall-lite
|
V:0, I:0 | 121 | Shoreline Firewall, gerador de ficheiro de configuração (versão light) netfilter. |
shorewall6
|
V:0, I:2 | 833 | Shoreline Firewall, gerador de ficheiro de configuração (versão IPv6) netfilter |
shorewall6-lite
|
I:0 | 119 | Shoreline Firewall, gerador de ficheiro de configuração (IPv6, versão light) netfilter |
O principal programa de utilizador para o netfilter é o iptables(8). Pode configurar manualmente e interactivamente o netfilter a partir da shell, salvar o seu estado com iptables-save(8), e restaurá-lo via script init com iptables-restore(8) após o reiniciar do sistema.
Scripts de ajuda de configuração como o shorewall facilitam este processo.
Veja documentação em http://www.netfilter.org/documentation/
(ou em "/usr/share/doc/iptables/html/
").
![]() |
Dica |
---|---|
Apesar destes terem sido escritos para o Linux 2.4, ambos comando iptables(8) e função de kernel netfilter aplicam-se às séries 2.6 e 3.x do kernel Linux. |