Vous êtes sur la page 1sur 23

Configurando a rede no Linux

Por Carlos E. Morimoto em 28 de março de 2008 às 16h04


2
Próximo: Ubuntu

Introdução
Mesmo a configuração de rede no Windows, que é aparentemente simples, esconde vários segredos,
como vimos no tutorial sobre redes Windows:
Configurando a rede no Windows
A configuração de rede no Windows é um assunto bastante conhecido, pois a
configuração é bastante similar entre as diferentes versões do Windows e a
configuração gráfica torna tudo mais simples. Entretanto, é justamente a
aparente simplicidade que faz com que muitos recursos passem despercebidos.
Este é um tutorial "mais que completo" sobre a configuração de rede no
Windows, incluindo tópicos avançados, configuração de redes wireless e a
configuração no Vista.

Vamos agora estudar sobre a configuração de rede no Linux, que apesar de aparentemente
complicada, não é tão exótica quanto pode parecer à primeira vista.
A primeira coisa a ter em mente com relação à configuração de rede no Linux é que, como quase
tudo no sistema, a configuração pode ser feita tanto usando utilitários gráficos quanto diretamente,
através de comandos e da edição dos arquivos de configuração. Existe uma grande variação com
relação aos utilitários de configuração, já que cada distribuição adota um utilitário diferente, mas os
passos da configuração manual são quase sempre os mesmos, com poucas variações.
Vamos então estudar as duas formas, começando com os utilitários e em seguida nos aprofundando
na configuração manual do sistema.

Ubuntu
O Ubuntu, usa o networkmanager como utilitário de configuração da rede. Ele fica ativo ao lado
do relógio e é carregado automaticamente durante o boot do sistema.
Ele tem a função de detectar as redes wireless disponíveis, mostrando uma lista que facilita a
conexão e também de detectar a inserção do cabo de rede. A partir do momento em que o cabo de
rede está conectado, ele tenta configurar a rede via DHCP. É por isso que em muitos casos o
sistema configura a rede "sozinho", sem que você precise fazer nada.
Clicando sobre o ícone ao lado do relógio, você pode alternar entre as redes disponíveis, incluindo
tanto a rede cabeada quanto as redes wireless disponíveis. Usando a opção "Configuração manual"
você tem acesso à configuração manual dos endereços para cada interface:
Você pode notar que está disponível também a opção de configurar um modem discado, mas as
opções são rudimentares; se você usa acesso discado, recomendo utilizar o gnome-ppp ou o kppp,
que podem ser instalados através do gerenciador de pacotes.
Como de praxe, o utilitário de configuração é aberto com permissões administrativas. Mas, ao
contrário de outras distribuições, onde seria solicitada a senha de root, o Ubuntu apenas confirma
sua própria senha de usuário e abre o utilitário usando o sudo.
Dentro das propriedades da interface de rede, você vai notar a opção "Habilitar o modo de
roaming", que é justamente o recurso responsável pela conexão automática às redes disponíveis.
Desativando a opção, você tem acesso à configuração manual da rede e pode definir endereços
estáticos ou ativar o uso do DHCP:
No Ubuntu 7.10 existe um bug que faz com que as alterações não sejam aplicadas depois de salvas.
Você pode contornar isso forçando uma atualização manual, reiniciando o serviço responsável pela
configuração da rede:
$ sudo /etc/init.d/networking restart
De volta à tela principal, você pode ajustar o nome da máquina na aba "geral" e ajustar os endereços
dos servidores DNS na aba "DNS". Ao contrário do Windows, onde você pode definir endereços de
DNS específicos para cada interface, os endereços definidos no networkmanager valem para todas
as interfaces de rede.
Na aba "Máquinas" você pode definir "apelidos" para as outras máquinas da rede, relacionando seus
nomes a endereços IP. Criando um apelido, em vez de digitar "ssh 192.168.1.254" ao acessar o
servidor da rede via SSH (por exemplo), você pode usar apenas "ssh servidor". Esta opção equivale
à edição do arquivo "/etc/hosts", que você encontra em qualquer distribuição.
Se você carrega o notebook de baixo do braço para cima e para baixo e precisa acessar diversas
redes diferentes ao longo do dia, cada uma com uma grade de configuração diferente, pode usar o
recurso de profiles, de forma a salvar as configurações e alternar entre elas.
Para salvar um profile, conecte-se à rede e use o botão com o disquete (dentro do "Configurações de
rede") para salvar a configuração, dando um nome a ela. O profile contém a grade completa da
configuração, incluindo quais interfaces estão ativas e toda a grade de endereços usados. Os profiles
salvos aparecem no campo "local", permitindo que você alterne entre eles rapidamente:
O networkmanager tem um irmão, o knetworkmanager, que é usado no Kubuntu. Os dois oferecem
basicamente as mesmas opções, a diferença é que o knetworkmanager é baseado nas bibliotecas do
KDE, enquanto o networkmanager é baseado nas bibliotecas do Gnome.
Ambos ficam ativos continuamente, como um serviço de sistema, que você não consegue desativar
através do ambiente gráfico. Se você quiser configurar a rede manualmente, como veremos a seguir,
precisa primeiro desativá-los, usando os comandos abaixo:
$ sudo /etc/dbus-1/event.d/??NetworkManagerDispatcher stop
$ sudo /etc/dbus-1/event.d/??NetworkManager stop
Em seguida, abra o arquivo "/etc/rc.local" (como root) e adicione os dois comandos, retirando o
"sudo", para que eles passem a ser executados automaticamente durante o boot. No caso do
Kubuntu, é necessário também desativar o knetworkmanager dentro do ambiente gráfico,
desmarcando o início automático nas configurações do programa.

Fedora
O Fedora utiliza o system-config-network, disponível no "Sistema > Administração > Rede". Ele é
um dos utilitários gráficos mais antigos para configuração da rede, usado desde as primeiras versões
do Red Hat Desktop, antecessor do Fedora. Você vai perceber que a interface lembra um pouco a
do networkmanager, já que os dois utilitários tem uma origem comum.
Na tela principal, clique sobre a interface a configurar e clique no botão "Editar" para ter acesso à
janela de configuração. Além das opções de configurar a rede via DHCP ou usando um endereço
fixo, você tem a opção de ativar o uso do protocolo IPV6, permitir que outros usuários da máquina
possam ativar e desativar a interface (útil caso o micro seja compartilhado entre várias pessoas, ou
no caso de um servidor) e também definir o MTU usado pela placa:
O MTU permite definir o tamanho máximo dos pacotes que são transmitidos através da rede. Usar
pacotes menores pode melhorar sutilmente o desempenho em conexões via modem ou em redes
baseadas em hubs burros, onde exista um grande volume de colisões. Mas, em situações normais,
reduzir o MTU só atrapalha, pois reduz o percentual de bytes úteis dentro de cada frame, em relação
ao overhead.
A tendência atual é justamente o contrário, ou seja, aumentar o tamanho dos frames, de forma a
melhorar o aproveitamento do link e reduzir o volume de frames necessários para transmitir um
determinado volume de dados, reduzindo assim o volume de processamento necessário. Este
recurso é chamado de "jumbo frames" e permite o uso de frames com até 9000 bytes.
Continuando, a aba "Rota" permite definir rotas alternativas para determinados PCs da rede ou da
Internet, o que é útil em redes com mais de um gateway. Você pode então usar o servidor A como
gateway padrão, mas fazer com que acessos a uma determinada faixa de endereços sejam feitos
através do servidor B.
De volta à tela principal, você pode definir os endereços dos servidores DNS na aba "DNS" e
definir apelidos para os endereços na aba "Servidores" (da mesma forma que na aba "máquinas" do
networkmanager):
A aba "IPsec" permite criar VPNs. Existem duas modalidades: Host a Host (onde é criado um túnel
entre dois micros) e Rede a Rede, onde é criada uma VPN entre duas redes, permitindo que os
micros de uma enxerguem os da outra, como se ambas formassem uma rede só.
Para criar a VPN, é necessário que o servidor do outro lado da conexão esteja acessível via Internet
(ou seja, utilize um IP fixo ou um domínio virtual) e esteja com o IPsec ativo. O IPsec é um
software padrão, que pode ser usado em qualquer distribuição, por isso não é necessário que a outra
máquina também esteja rodando o Fedora, mas apenas que o daemon do IPsec esteja disponível.
Assim como no networkmanager, você pode criar profiles com diferentes grades de configuração
para a rede, alternando rapidamente entre elas conforme necessário:
Além do system-config-network, o Fedora inclui também uma versão em modo texto, o "system-
config-network-tui", que é útil em situações onde o modo gráfico não estiver configurado, ou ao
configurar servidores sem o ambiente gráfico instalado.
Você encontra também uma versão ligeiramente modificada do system-config-network na forma do
"network-admin", um utilitário disponível no Debian e em outras distribuições baseadas nele. Ele
pode ser instalado através do pacote "gnome-system-tools":
Clicando nas propriedades de cada interface, dentro do network-admin, você cai no menu de
configuração, onde pode definir os endereços ou ativar a configuração via DHCP. No caso de um
micro com duas ou mais placas, como no caso de um notebook com uma placa cabeada e uma placa
wireless, ou no caso de um servidor compartilhando a conexão, você precisa definir qual delas é a
interface onde está a conexão com a Internet, através da opção "Dispositivo padrão de gateway".

Mandriva
No Mandriva, as ferramentas de configuração estão agrupadas dentro do Mandriva Control Center,
na seção "Rede e Internet". Como você pode ver no screenshot a seguir, estão disponíveis opções
para compartilhar a conexão (no caso de um PC com duas ou mais interfaces de rede), configurar
uma VPN, utilizar um servidor proxy ou criar diferentes perfis de configuração. Temos também a
opção "Definição de hosts", que permite criar apelidos, assim como vimos nas outras ferramentas:
A opção "Configurar uma nova interface de rede" inclui um wizard para configurar diversos tipos
de conexão, incluindo conexões discadas, conexões via celular (veja a seguir), ISDN e outras. Mas,
para configurar uma rede local você pode ir direto na opção "Centro de Rede", que permite
configurar as interfaces disponíveis sem rodeios:

Clicando na opção "Configurar" você tem acesso à configuração da rede, como de praxe. Uma dica
é que, ao configurar a rede via DHCP, você pode definir um timeout para o servidor DHCP dentro
das opções avançadas. Isso evita que o sistema fique aguardando a resposta do servidor DHCP
quando o cabo de rede estiver desconectado, o que retarda o boot. Em situações normais, a resposta
do servidor DHCP demora poucos milessegundos, de forma que um timeout de 2 segundos é mais
do que suficiente:
A configuração de endereço IP, máscara, gateway e DNS vale tanto para redes cabeadas quanto
para redes wireless. A diferença é que as redes wireless possuem alguns parâmetros adicionais, que
são necessários para estabelecer a conexão com o ponto de acesso. Só depois que a conexão é
estabelecida, passamos para a configuração dos endereços.

Acesso a redes Windows


Graças ao cliente Samba, é possível acessar compartilhamentos de rede em máquinas Windows
também a partir das máquinas Linux da rede. É possível também compartilhar arquivos e
impressoras (que ficam disponíveis tanto para as máquinas Windows, como também para outras
máquinas Linux da rede) usando o servidor Samba.
No Ubuntu, você pode usar o módulo de acesso a compartilhamentos do Nautilus, disponível no
menu "Locais > Rede" (no menu do topo da tela). Ao ser aberto, ele mostra os servidores e
compartilhamentos disponíveis dentro do ícone "Rede Windows":
Você pode também especificar compartilhamentos manualmente usando a opção "Locais >
Conectar ao Servidor". No menu seguinte, especifique o IP ou o nome do servidor, seguido do
nome do compartilhamento que será acessado. A opção "Pasta" fica vazia e o login de acesso é
especificado na opção "Nome do Usuário". A opção "Nome do Domínio" é usada apenas caso o
servidor a ser acessado tenha sido configurado para fazer parte de um domínio Windows, ou caso a
rede utilize o Active Directory:

Isso cria um ícone no desktop, que dá acesso aos arquivos do compartilhamento. Se o usuário e
senha usados para acesso ao compartilhamento forem os mesmos que você usa para fazer login
localmente, os arquivos são acessados diretamente, caso contrário é solicitada a senha.

Estas são na verdade funções do Nautilus (o gerenciador de arquivos do Gnome), que estão
disponíveis também em outras distribuições, embora o acesso a elas possa ser feito de formas
diferentes.
Outro programa muito usado é o "Smb4k", que vem instalado por padrão em diversas distribuições
baseadas no KDE. Ao ser aberto, ele mostra os grupos de trabalho disponíveis na rede e, dentro de
cada um, os servidores e compartilhamentos. Ao clicar sobre um compartilhamento que exige
autenticação, ele abre um prompt de login; e os compartilhamentos acessados aparecem no menu da
direita. Clicando sobre eles você abre uma tela do gerenciador de arquivos:
Os compartilhamentos acessados através do Smb4k são, na verdade, montados dentro da pasta
"smb4k", dentro do seu diretório home. Eles são organizados em uma estrutura de pastas, onde
temos uma pasta separada para os compartilhamentos de cada servidor. Note que quando falo em
"servidor" me refiro a qualquer máquina da rede que esteja compartilhando arquivos.

Em casos onde o Smb4k não consiga mostrar corretamente os compartilhamentos, ou a navegação


fique instável, você pode indicar manualmente o endereço IP de uma máquina Windows, ou
servidor Samba de onde ele obterá a lista dos compartilhamentos. Acesse o "Configurações >
Configurar Smb4k > Rede" e indique o servidor na opção "Query a master browser to retrieve the
browse list".
Na opção "Compartilhamentos", você pode marcar a opção "Remount recently used shares on
program start", que faz com que ele "lembre" dos compartilhamentos acessados e restaure o acesso
a eles ao ativar o programa, mesmo depois de reiniciar a máquina.
Outra opção para acessar os compartilhamentos é usar o módulo "smb:/" do Konqueror. Abra uma
janela do gerenciador de arquivos e digite "smb://servidor" (onde o "servidor" pode ser o endereço
IP, ou o nome do servidor Windows ou Samba dentro da rede) para ver os compartilhamentos
disponíveis. Você pode digitar também "smb://grupo" (onde "grupo" é o nome do grupo de
trabalho) ou mesmo apenas "smb:/" (neste caso com uma única barra) para que ele tente mostrar
toda a rede:

Configurando a rede manualmente


Como vimos, existem diversas ferramentas gráficas de configuração da rede, que você pode usar de
acordo com a distribuição. Mesmo assim, nenhuma ferramenta é à prova de falhas. Erros diversos
podem ocorrer, lhe obrigando a corrigir o problema manualmente.
Além de ser um trunfo na hora de solucionar problemas, entender a configuração manual do sistema
lhe dá uma flexibilidade muito maior na hora de criar configurações personalizadas ou pouco
comuns, ou ainda na hora de configurar servidores dedicados, sem ambiente gráfico.
O utilitário básico para configurar a rede é o ifconfig. Ele suporta um grande número de opções,
mas o comando básico para ativar a rede é:
# ifconfig eth0 192.168.1.2 netmask 255.255.255.0 up
Este comando configura o endereço IP e a máscara de sub-rede para a interface especificada (a
"eth0" no exemplo) e o "up" serve para ativar a interface, caso ela esteja inativa.
No Linux, as placas Ethernet cabeadas recebem nomes como "eth0" (primeira placa), "eth1"
(segunda placa), "eth2" (terceira placa) e assim por diante. No caso das placas wireless, o nome
muda de acordo com o modelo e com o driver usado. Placas configuradas através do ndiswrapper
são identificadas como "wlan0", placas com chipset Ralink como "ra0" e placas com chipset Intel
como "eth1", da mesma forma que uma placa cabeada. Em caso de dúvida, você pode verificar
como as placas de rede foram detectadas pelo sistema usando os comandos:
# cat /proc/net/dev

(mostra todas as interfaces)


# cat /proc/net/wireless

(mostra apenas as placas wireless)


Além das interfaces de rede, o comando "cat /proc/net/dev" mostra também interfaces virtuais,
como a lo (a interface de loopback) e a sit0, que é uma interface virtual, usada pelo protocolo IPV6
para encapsular pacotes IPV4 quando necessário. Se você usa o VMware, a lista incluirá também a
interface vmnet8, que é usada para permitir que as máquinas virtuais acessem a rede. Veja um
exemplo da saída dos dois comandos:

Através do "cat /proc/net/dev", posso ver que o PC usado nos screenshots possui três interfaces de
rede (eth0, eth1 e a ppp0) e, através do "cat /proc/net/wireless" vejo que a interface eth1 é uma
placa wireless. Não seria difícil deduzir então que a placa eth0 é a placa cabeada, a eth1 é a placa
wireless e a ppp0 é um modem discado, ou uma conexão via celular.
Depois de identificadas as interfaces, o passo seguinte é definir a rota padrão, ou seja, o gateway da
rede e a interface que será usada para contatá-lo. Por segurança, rodamos primeiro o comando
"route del default", que desativa qualquer configuração anterior:
# route del default
# route add default gw 192.168.1.1 dev eth0
... onde o "192.168.0.1" é o gateway da rede e a "eth0" é a placa conectada a ele. Estes mesmos dois
comandos resolvem casos em que o micro tem duas placas de rede (ou uma placa de rede e um
modem) e o sistema tenta acessar a Internet usando a interface errada.
Em caso de redes com mais de um gateway (caso você tenha uma conexão via ADSL e também
uma conexão via cabo, por exemplo), estes mesmos comandos podem ser usados para mudar a
conexão que está sendo usada. Se o segundo gateway da rede é o "192.168.1.254", por exemplo,
você poderia mudar a configuração para que ele seja utilizado no lugar no "192.168.1.1" usando os
comandos:
# route del default
# route add default gw 192.168.1.254 dev eth0
É possível também fazer com que o segundo roteador seja usado apenas para um endereço
específico, o que é útil na hora de fazer grandes downloads. Você pode usar a segunda conexão para
baixar o arquivo, deixando a conexão principal livre. Para isso, copie o endereço do arquivo e
selecione apenas o endereço ou domínio do servidor, como em "linorg.usp.br", ignorando a
estrutura de pastas até o arquivo.
Use em seguida o comando "route add host", especificando o servidor, o gateway e a interface de
rede que serão usadas para acessá-lo, como em:
# route add -host linorg.usp.br gw 192.168.1.1 dev eth0
Com isso, os downloads feitos a partir do servidor especificado serão feitos usando o gateway
"192.168.1.1" e todos os demais acessos continuarão sendo feitos através do "192.168.1.254". Com
o preço dos planos de acesso caindo como estão, pode valer à pena ter uma segunda conexão para
baixar arquivos e usar como backup.
Para checar as rotas definidas, use o comando "netstat -rn" e, para remover uma rota definida
manualmente (de forma que o servidor volte a ser acessado usando a rota padrão), use o comando
"route del -host", seguido pelo endereço, como em:
# route del -host linorg.usp.br
Depois de definir o IP, máscara e o gateway, falta também indicar os servidores de DNS, o que é
feito no arquivo "/etc/resolv.conf". Nele você indica os servidores DNS que serão usados, um por
linha, como em:
nameserver 208.67.222.222
nameserver 208.67.220.220
A falta dos endereços no "/etc/resolv.conf" é, provavelmente, a causa mais comum de problemas
com a navegação. Na dúvida, você pode utilizar qualquer servidor de DNS público, como os
endereços do opendns.com que usei no exemplo anterior.
Para checar a configuração rapidamente em caso de problemas e assim verificar o que está errado,
você pode usar os comandos:
# ifconfig
# route
# cat /etc/resolv.conf
Outro arquivo que vale à pena citar é o "/etc/hosts", onde você pode definir apelidos para hosts que
deseja acessar. Os apelidos podem ser usados para agilizar o acesso a micros que você acessa com
frequência, ou serem usados para atribuir nomes aos micros da rede local, sem para isso precisar
configurar um servidor DNS.
Originalmente ele contém uma declaração para a interface de loopback, que relaciona o endereço
"127.0.0.1" com os nomes "localhost" e com o nome da máquina:
127.0.0.1 lenny localhost
Imagine, por exemplo, que você administra o "servidor.minhaempresa.com". Sempre que precisa
acessá-lo você precisa digitar "ssh servidor.minhaempresa.com", o que é tedioso. Você poderia
simplificar as coisas adicionando uma entrada como esta no /etc/hosts:
servidor.minhaempresa.com servidor
A partir daí, você poderia acessá-lo apenas digitando "ssh servidor". Também funciona ao
especificar o endereço IP diretamente, como em:
200.234.32.21 servidor
Para dar nomes aos micros da rede local, você criaria uma lista, como em:
192.168.1.1 gateway
192.168.1.40 etch
192.168.1.31 sarge
192.168.1.30 woody
O grande problema em usar o /etc/hosts para dar nomes aos micros da rede local, no lugar de um
servidor DNS, é que você precisa replicar a lista (e mantê-la atualizada) em todos os micros.
Funciona em redes pequenas, com 3 ou 5 micros, mas para redes maiores um servidor DNS local
acaba sendo uma opção muito mais saudável.
Além de ser declarado no arquivo /etc/hosts, o nome da máquina é configurado no arquivo
"/etc/hostname". Este arquivo contém uma única linha, contendo o nome da máquina, como em:
lenny
Este arquivo é lido durante o boot pelo script "/etc/init.d/hostname.sh", que se encarrega de atribuir
o nome especificado no arquivo.

Configurando via DHCP


Configurar a rede via DHCP é bastante simples. Desde que exista um servidor DHCP na rede, a
estação recebe os endereços automaticamente e você não precisa esquentar a cabeça.
No Linux, existem dois clientes dhcp. O mais usado é o "dhclient", disponível na maioria das
distribuições. O comando para configurar uma placa via DHCP manualmente através dele é:
# dhclient eth0

(onde o eth0 é a interface a ser configurada)


Ao usá-lo via terminal, ele mostra todos os passos da negociação, incluindo o endereço do servidor
DHCP da rede e o IP recebido, como em:
Listening on LPF/eth0/00:0f:b0:55:df:17
Sending on LPF/eth0/00:0f:b0:55:df:17
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 5
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 7
DHCPOFFER from 10.67.3.2
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 10.67.3.2
bound to 201.56.188.45 -- renewal in 5585 seconds.
Existe ainda o "pump", um cliente mais simples, que ainda pode ser encontrado em algumas
instalações. Para configurar a rede através dele, use o comando:
# pump -i eth0

Ao contrário do dhclient, ele não exibe a negociação, limitando-se a exibir uma mensagem de erro
em caso de problemas.
Ao acessar via cabo, a configuração da rede é obtida automaticamente via DHCP, com o cable-
modem cuidando de toda a modulação do sinal. Ao contrário do ADSL, não é usada autenticação,
mas em compensação sua conta é relacionada ao endereço MAC da placa de rede do micro onde foi
configurado o acesso. Se você tentar acessar a partir de outro micro, ou trocar de placa de rede, não
conseguirá acessar, a menos que ligue para a central e peça que alterem o endereço cadastrado.
Uma solução mais rápida é simplesmente trocar o endereço MAC da nova placa de rede, de forma
que ela utilize o endereço cadastrado. Isso pode ser feito de forma muito simples utilizando o
comando ifconfig.
Comece desativando a placa de rede, como em:
# ifconfig eth0 down
Use em seguida os parâmetros "hw ether", seguidos pelo endereço MAC desejado, para trocar o
endereço físico da placa:
# ifconfig eth0 hw ether 00:0F:B2:52:45:E3
Execute novamente o "dhclient eth0" e você verá que o micro volta a receber a resposta do servidor
DHCP, mesmo com a placa diferente :). Esta dica pode ser usada também em casos onde você quer
acessar acessar (em horários alternados) a partir de dois micros, desde que não ao mesmo tempo.
Outra peculiaridade do acesso via cabo é que você não consegue obter uma nova resposta do
servidor DHCP até que a primeira conexão seja encerrada (o timeout varia de 90 a 180 minutos, de
acordo com a operadora). Isto causa problemas quando você tem Linux e Windows em dual-boot,
pois é preciso esperar até três horas ao trocar de sistema, até que vença o leasing do endereço no
servidor DHCP e você possa obter outro IP.
A solução neste caso é liberar o IP antes de reiniciar, usando o parâmetro "-r" disponível tanto no
dhclient, quanto no pump. Ele avisa ao servidor DHCP que a conexão está sendo encerrada,
permitindo que você consiga configurar a rede novamente depois de reiniciar no Windows. Para
isso use:
# dhclient -r eth0

ou:
# pump -r

(nesse caso sem especificar a interface)

Arquivos de configuração
Uma forma simples de salvar a configuração da rede seria criar um mini-script com os comandos
usados e adicioná-lo no arquivo "/etc/rc.local" ou outro arquivo de configuração, como em:
ifconfig eth0 192.168.1.2 netmask 255.255.255.0 up
route del default
route add default gw 192.168.1.1 dev eth0
echo 'nameserver 208.67.222.222
nameserver 208.67.220.220' > /etc/resolv.conf
Como o arquivo "/etc/rc.local" é processado no final do boot, depois dos serviços que carregam a
configuração da rede, sua configuração seria usada mesmo que a rede tivesse sido configurada
usando outro utilitário. Mas, naturalmente, esta não seria a forma mais elegante de salvar a
configuração da rede.
Assim como outras configurações do sistema, a configuração da rede é salva em arquivos de
configuração, que são lidos pelos serviços responsáveis por ativar a rede. A maioria dos utilitários
de configuração nada mais são do que interfaces para a edição desses arquivos.
Nas distribuições derivadas do Debian, incluindo o Ubuntu e o Kubuntu, a configuração da rede é
salva no arquivo "/etc/network/interfaces". Um exemplo de arquivo configurado é:
# /etc/network/interfaces
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
O arquivo é dividido em duas partes. A linha "auto ..." lista as interfaces que devem ser ativadas
automaticamente e as demais contém a configuração de cada uma. Para configurar uma nova placa
de rede, você adicionaria a configuração relacionada a ela no final do arquivo e a adicionaria na
linha "auto", como em "auto lo eth0 eth1". Se, por outro lado, você quiser desativar uma interface,
precisa apenas removê-la da linha auto, não é preciso remover as demais linhas.
A interface "lo" é a interface de loopback, usada para a comunicação local entre diversos aplicativos
e componentes do sistema, por isso nunca deve ser desativada. Embora o uso da interface de
loopback pareça ser uma exclusividade do Linux, ela é usada também no Windows; a única
diferença é que no Windows ela não aparece na configuração.
Em seguida temos a configuração de cada interface, que vai em uma seção separada. No caso da
interface lo é usada uma única linha, "iface lo inet loopback", usada em qualquer instalação, seguida
pelas demais interfaces.
Como você pode ver, as últimas 5 linhas na configuração da placa eth0 especificam o IP utilizado
pelo PC e o restante da configuração da rede, com exceção dos endereços dos servidores DNS, que
vão no arquivo "/etc/resolv.conf".
Se você quisesse que a interface fosse configurada via DHCP, poderia substituir as 6 linhas
referentes a ela por:
iface eth0 inet dhcp
Ao configurar um servidor com duas placas de rede, onde a eth0 está ligada à rede local e a eth1 ao
cable modem (obtendo o endereço via DHCP), por exemplo, o arquivo ficaria:
# /etc/network/interfaces
auto lo eth0 eth1
iface lo inet loopback
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
iface eth1 inet dhcp
Veja que nesse caso a configuração da interface eth0 não inclui o gateway, pois é a eth1 que será
usada para acessar a web.
Depois de editar o arquivo, você pode aplicar as alterações reiniciando o serviço relacionado a ele:
# /etc/init.d/networking restart
Um problema comum que afeta versões do Debian, Ubuntu e distribuições baseadas neles é as
interfaces mudarem de endereço a cada reset em micros com duas ou mais interfaces de rede. A
placa eth0 passa então a ser a ath1 e assim por diante, o pode ser uma grande dor de cabeça ao
configurar um servidor para compartilhar a conexão, já que se as duas interfaces mudam de posição,
nada funciona.
A solução para o problema é um pequeno utilitário chamado "ifrename", que permite fixar os
devices utilizados para as placas. Utilizá-lo é bem simples. Comece instalando o pacote via apt-get:
# apt-get install ifrename
Crie o arquivo "/etc/iftab" e, dentro dele, relacione o device de cada interface com o endereço
MAC correspondente, seguindo o modelo abaixo:
#/etc/iftab
eth0 mac 00:11:D8:76:59:2E
eth1 mac 00:E0:7D:9B:F8:01
Em caso de dúvida, use o comando "ifconfig -a" para ver a configuração atual das placas e o
endereço MAC de cada uma. Uma vez criado, o arquivo é verificado a cada boot e a configuração
se torna persistente, resolvendo o problema. Este bug das interfaces itinerantes afeta apenas
algumas distribuições, por isso você não precisa se preocupar com ele até que perceba que está
usando uma das afetadas.
No Fedora e outras distribuições derivadas do Red Hat, a configuração de rede é dividida em uma
série de arquivos, localizados na pasta "/etc/sysconfig/network/network-scripts/". Dentro da pasta,
você encontrará um arquivo separado para a configuração de cada interface disponível. A
configuração da placa eth0 é armazenada no arquivo "ifcfg-eth0", o da eth1 no "ifcfg-eth1" e assim
por diante.
Um exemplo de configuração para uso de IP fixo é:
#/etc/sysconfig/network/network-scripts/ifcfg-eth0
DEVICE=eth0
IPADDR=192.168.1.43
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
BOOTPROTO=static
ONBOOT=yes
A opção "ONBOOT" indica se a placa deve ser ativada automaticamente durante o boot. Ao
desativar essa opção, a interface fica desativada por padrão, até ser carregada manualmente.
Continuando, aqui vai um exemplo de configuração para DHCP:
#/etc/sysconfig/network/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
Lembre-se que cada arquivo armazena a configuração de uma interface específica (a configuração
da interface de loopback, por exemplo, vai no arquivo ifcfg-lo), diferente do Debian, onde é usado
um único arquivo com uma seção separada para cada interface. Temos também o arquivo
"/etc/sysconfig/network", que armazena o nome da máquina.
Para que as alterações entrem em vigor, é necessário reiniciar o serviço responsável pela
configuração da rede, o que no Fedora é feito usando o comando:
# /etc/rc.d/init.d/network restart
Concluindo, tanto no Fedora quanto no Debian, Ubuntu e outros, você pode desativar
temporariamente uma interface configurada usando o comando "ifdown", como em:
# ifdown eth0
Para reativá-la posteriormente, use o comando ifup:
# ifup eth0
Assim como no caso das alterações feitas através do ifconfig, desativar a interface usando o ifdown
não é permanente: a interface volta a ser ativada ao reiniciar o micro. Se você quiser desativar a
interface de forma definitiva, precisa fazer a alteração diretamente no arquivo de configuração.

Usando um DNS local


A Internet como a conhecemos funciona em grande parte graças aos servidores DNS, que
convertem nomes de domínio nos endereços IP correspondentes. Sem eles, a web seria muito menos
amigável, já que você teria que manter longas listas com os endereços IP dos sites e servidores que
precisa acessar. Sem o DNS, a web talvez nem tivesse se popularizado tão rápido em primeiro
lugar.
Toda esta dependência traz um inconveniente, que é o fato de que você fica virtualmente
desconectado quando os servidores DNS do provedor saem fora do ar. Obviamente, você ainda
continua conectado e pode acessar qualquer servidor através do endereço IP, mas você por acaso
sabe algum de cor?
Infelizmente os problemas relacionados aos servidores DNS dos provedores de acesso são
extremamente comuns. Muitas vezes mudam os endereços sem aviso, em outras o servidor DHCP
(do provedor) é configurado incorretamente e fornece endereços errados quando você se conecta,
sem falar nos casos em que os servidores simplesmente ficam inacessíveis, sem motivo aparente.
Diz o bom senso que o provedor deveria manter dois servidores DNS em redes separadas, para
manter a redundância, mas o fato é que, em muitos provedores, é usado um único servidor, com um
simples alias para a placa de rede, que "simula" a existência de um segundo servidor DNS. Desta
forma, temos uma única máquina, de forma que quando o servidor cai, você perde simultaneamente
tanto o DNS primário quanto o secundário.
Para fugir desta calamidade, você pode passar a usar um servidor DNS local. No Linux você precisa
apenas instalar o pacote "bind" ou "named", usando o gerenciador de pacotes da sua distribuição.
Nas derivadas do Debian, você pode usar o apt-get, como em
# apt-get install bind
O Bind pode ser bastante indigesto de configurar, mas no nosso caso não é necessário alterar a
configuração padrão, já que queremos apenas acessar a web e não configurá-lo para responder por
nenhum domínio registrado; basta manter o serviço ativo.
É recomendável que você mantenha a porta 53 (tanto TCP quanto UDP) bloqueada no firewall, de
forma que não consigam usar seu DNS de fora. Deixar o DNS disponível para o mundo não chega a
ser uma brecha terrivelmente grave, mas existe a possibilidade de alguém mal intencionado utilizar
seu servidor para enviar um grande número de requisições para outra máquina, como parte de um
ataque DoS.
Finalizando, abra agora o arquivo "/etc/resolv.conf" e inclua a linha "nameserver 127.0.0.1" antes
das outras entradas, como em:
nameserver 127.0.0.1
nameserver 208.67.222.222
nameserver 208.67.220.220
Isto faz com que o sistema passe a usar seu servidor DNS local ao invés dos endereços DNS do
provedor.
Uma segunda opção é usar o Dnsmasq, um servidor DNS minimalista, que simplesmente cria um
cache dos endereços já acessados, evitando usar o DNS do provedor a cada acesso. Ele é uma opção
em casos onde os servidores DNS do provedor são estáveis, mas a velocidade do acesso não é das
melhores. Um DNS lento faz com que você perca vários segundos no "procurando pelo servidor" ao
acessar cada site.
Instalar o Dnsmasq é igualmente simples, basta procurar pelo pacote no gerenciador da distribuição
usada. Ao instalar via apt-get, use:
# apt-get install dnsmasq
A principal observação é que você não pode usar o Dnsmasq junto com o Bind, já que ambos
escutam na mesma porta. Antes de instalar o Dnsmasq você deve desativar e remover o Bind e vice-
versa.
Depois de instalar, adicione a linha abaixo no final do arquivo "/etc/dnsmasq.conf":
listen-address=127.0.0.1
Ela faz com que o Dnsmasq responda apenas a requisições da sua própria máquina, ignorando
requisições externas, provenientes de outros micros da rede ou da Internet.
Mantenha o arquivo "/etc/resolv.conf" configurado como vimos a pouco, contendo a linha
"nameserver 127.0.0.1" (seguida pelos endereços DNS do provedor), o que faz com que o sistema
utilize o Dnsmasq como servidor preferencial.
Tente acessar um site qualquer. Você perceberá que o primeiro acesso continuará demorando o
tempo normal, mas a partir do segundo o endereço estará no cache do Dnsmasq e a resolução será
instantânea.
Se o seu micro usa DHCP para obter a configuração da rede, o arquivo "/etc/resolv.conf" será
modificado a cada acesso, voltando à configuração original, fornecida pelo servidor. Ao invés de ter
que modificar o arquivo novamente, a cada acesso, adicione a linha abaixo no começo (começo, não
final) do arquivo "/etc/dhcp3/dhclient.conf", onde vai a configuração do cliente DHCP:
prepend domain-name-servers 127.0.0.1;
Esta linha faz com que ele sempre adicione a linha "nameserver 127.0.0.1" no início do arquivo
"/etc/resolv.conf", substituindo a edição manual.

Vous aimerez peut-être aussi