Página inicial‎ > ‎Suporte Linux‎ > ‎

Conexão

Dar permissão ao usuário padrão:


Dica do Max Ravem

           Algumas situações são bem desagradáveis, uma delas é perder tempo em digitar toda uma numeração de TCP/IP, DNS e depois dar ok, e quando abrimos o arquivo novamente cadê a configuração, não grava como deveria, na verdade alguns arquivos são protegidos, e a parte gráfica nos enganam não mostram tudo, por isso é importante saber onde ir e como fazer a configuração a unha nos arquivos de registro do sistema.
Ou seja, como você diz, não está deixando eu gravar.

           É preciso autorizar o usuário a permissão de leitura e escrita.

Forma grafica:
Abra o gerenciador de arquivos em modo root:
$sudo nautilus
(para o gnome e se for kde $sudo konqueror)

            Navegue até apasta /etc , procure o arquivo resolv.conf que está nesta pasta, clique com o direito do mouse, vá em propriedades, ali terá as opções de permissões, nela tem um campo com o dono (que deve estar como root) e grupo, pode colocar na parte grupo o seu user ou users (para caso de ter outros usuários e querer que eles tbm naveguem), feito isso terá as linhas ali que mostra o que cada um pode fazer, na linha grupo coloque que eles podem ler e escrever no arquivo.
Dê OK e está feito.



Serviços para configuração da rede: 

ArquivoDescrição
/etc/sysconfig/networkConfiguração da rede
/etc/sysconfig/network-scripts/ifcfg-loConfiguração da rede
/etc/sysconfig/network-scripts/ifcfg-eth0Configuração placa de rede
/etc/sysconfig/network-scripts/ifcfg-ppp0Configuração da ADSL
/etc/xinetd.d/rshHabilitar SSH




O serviço DHCP (Dynamic Host Configuration Protocol) no Linux, ao ser carregado pode ser monitorado através do comando: 

# /usr/sbin/dhcpd -d -f 

Desta forma é possível checar quais hosts e seus endereços MAC estão recebendo IP do serviço DHCP. 


No Kurumim, Famelix já utilizei os comandos abaixo


Toda configuração das interfaces de rede, no kurumin, fica no arquivo "/etc/network/interfaces". Você pode renomear o arquivo para "interfaces.save" e criar um novo com este conteúdo:

Código:
auto lo iface lo inet loopback
E usar o comando "netcardconfig" pra refazer a configuração das interfaces.
comandos:
# lspci
# sudo ethtool -i eth0
Incompatibilidade com algumas placas de rede: chipset RTL8101
A instalação é muito simples, talvez até automática, se vc escolher uma placa de rede "fácil", como as Encore ENL-832TX (chipset RTL8139). O risco é que há algumas placas que se dizem 8139, mas não são --- são as chamadas "Realteks falsificadas". Essas, pra funcionar, vc precisa usar um kernel acima do 2.6.20, e o Kurumin 7 usa o 2.6.18.

Vc desabilita a rede onboard no setup do BIOS.

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:


index_html_1bd64d2e

index_html_50c1c712

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:

index_html_12cbefc2

index_html_6823ee3a

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.

index_html_m3c291d59

index_html_83f9609

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:

index_html_6d60ed58

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.

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:


index_html_5d7b017c

index_html_dac0079

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.

Comments