Perfis de Rede
De Wiki do Arch Linux Brasil
Tabela de conteúdo |
Instalando o netcfg v2
pacman -Sy core/netcfg
Conectando a uma rede wireless (para os apressados)
Copie um dos perfis de exemplo existentes em /etc/network.d/examples para /etc/network.d/ e adapte à sua rede.
Feitas as adaptações, você pode se conectar rodando netcfg2 <nome do perfil> ou adicione o nome do seu perfil à linha NETWORKS=() no arquivo /etc/rc.conf para que a conexão ocorra no boot.
Conectando a uma rede wireless (detalhado)
Informações preliminares
- Interface da rede wireless
- Pode ser verificada com o comando ifconfig ou em /proc/net/wireless
- Nome da rede/ESSID
- Verifique se a rede está 'invisível' -- Ela aparece quando você roda o comando iwlist scan?
- Qual o mecanismo de segurança utilizado
- Mecanismos suportados: WPA e WEP.
- Qual a chave de segurança
- Somente será necessária se a rede estiver protegida por algum mecanismo de segurança
- Configurações IP, dhcp/estático
- A maioria das redes wireless usam dhcp. Na dúvida, use dhcp.
Crie um perfil
Vá ate o diretório /etc/network.d/ e crie um novo perfil de rede. Um perfil nada mais é do que um arquivo de texto que deverá ser salvo no diretório /etc/network.d. O nome do arquivo se tornará o nome do perfil, e pode ser qualquer coisa que você desejar, já que não influenciará na configuração da rede.
O modo mais fácil de criar um perfil é copiar um existente, tal como um dos exemplos de perfis existentes no diretório /etc/network.d/examples e que use uma configuração parecida com a da rede à qual você pretende se conectar..
Edite o perfil, de forma a inserir as informações preliminares que você apurou lá no início. Deixe a opção scan como 'on'.
Exemplo de Configuração
Abaixo temos alguns exemplos de perfis. Eles também estão disponíveis em /etc/network.d/examples.
CONNECTION="wireless" DESCRIPTION="Uma simples conexão wireless utilizando WEP" INTERFACE=wlan0 SCAN="yes" SECURITY="wep" ESSID="MinhaRede" KEY="1234567890" IP="dhcp"
CONNECTION="wireless" INTERFACE=wlan0 SCAN="yes" SECURITY="wpa" ESSID="MinhaRede" KEY="algumasenha" IP="dhcp" TIMEOUT=20
Nota: A opção "CONNECTION" representa o tipo de conexão que você pretende utilizar. Assim, para uma rede sem fio, você deverá utilizar "wireless". Para uma rede cabeada, você deverá usar a opção "ethernet", ou "ppp" se o caso.
Para informações mais detalhadas, veja as "man pages" wireless(8) e ethernet(8)
Conectando
Agora que as configurações foram feitas, você pode executar o comando netcfg2 nome-do-perfil para se conectar à rede desejada, caso ela esteja disponível.
Para que a conexão à rede ocorra no boot, adicione o nome do perfil à linha NETWORKS=() no arquivo rc.conf. Por exemplo:
NETWORKS=(home)
Certifique-se de que o daemon net-profiles esteja na linha DAEMONS=() do arquivo /etc/rc.conf.
Se você não consegue se conectar à rede, veja se o problema se encontra listado abaixo. Se você ainda tiver alguma dificuldade, siga as instruções abaixo e procure ajuda nos foruns dedicados ao ArchLinux, no IRC ou em grupos de discussão (mailing list).
Detecção Automática
O netcfg suporta a detecção de redes wireless. Para que a rede sem fio seja detectada duranteo o boot, adicione "auto-wireless <interface>" à linha NETWORKS=() no arquivo /etc/rc.conf. Isto pode ser adicionado conjuntamente a outros perfis, como por exemplo:
NETWORKS=("auto-wireless <interface>" ipw0 ethernet)
Para conectar após o boot, execute em um terminal: /usr/bin/netcfg-auto-wireless $interface
Alternativamente, para detecção durante o boot, você pode definir a opção SCAN="yes" em cada perfil, e adicioná-los à linha NETWORKS=() no arquivo /etc/rc.conf. Isso irá checar cada uma das redes e conectar à que estiver disponível, ignorando as demais.
Solução de Problemas
Não funciona!! O que pode estar errado?
Veja as questões abaixo. Para conseguir verificar o que está errado, é necessário apurar algumas informações.
Se você optar por pedir ajuda a outros usuários, forneça as seguintes informações:
- TODA A SAÍDA do comando netcfg;
- ifconfig -a
- iwconfig antes de tentar se conectar
- o conteúdo do arquivo de perfil que está no diretório /etc/network.d/ com sua senha substituída por algo que não a revele aos demais
- lsmod
Um bom lugar para todas estas informações é o nosso pastebin.
Rede Indisponível
Isso geralmente é realacionado com:
- Rede fora de alcance
- Problema com o driver de sua placa
- Tentativa de conexão a uma rede invisível ou "oculta"
Se você sabe que a rede é oculta, defina no seu perfil:
SCAN=no
Falha na associação à rede wireless
Isso geralmente é realacionado com:
- Rede fora de alcance
- Configuração errada
- Chave/senha inválida
- Problema com o driver de sua placa
Se o problema for relacionado com o alcance, aumentar o valor da opção TIMEOUT= pode ajudar.
Incapaz de obter o endereço IP via DHCP
Isso geralmente é realacionado com:
- Rede fora de alcance
Tente aumentar o valor para a opção DHCP_TIMEOUT
Tipo de conexão inválida
Você precisa definir o parâmetro CONNECTION= como "ethernet", "ppp", ou "wireless".
Usando uma chave WEP em forma de string
Esta dica é para uma chave WEP em forma de STRING, não para uma chave WEP em hexa ou para chaves WPA.
KEY="s:Algumapalavra-passe"
Drivers Ralink rt2500, rt2400 que usam iwpriv
Não há suporte para estes drivers. Contudo o driver rt2x00 é suportado e irá substituir os demais.
Se você realmente precisa usar os drivers não suportados, crie um shell script e inclua os comandos iwpriv necessários, colocando o path para o script na opção PRE_UP=""
GUI
Há uma interface gráfica para o netcfg2 baseada em Qt, chamada ArchAssistant. Ela se propõe a gerenciar & conectat/disconectar perfis a partir de um ícone na bandeja do sistema (systray). Detectação automática de redes sem fio também está disponível. Esta interface é útil especialmente para usuários de notebooks.
Links: archassistant no AUR | archassistant no site kde-apps.org | pacote archassistant no repositório archlinux.fr i686 e x86_64
FAQ
Como eu posso ter um menu no boot, como nos velhos tempos do netcfg?
No arquivo rc.conf ajuste NETWORKS=() para menu.
Você também pode ter acesso ao menu a qualquer tempo, executando em um terminal o comando netcfg-menu.
Por que o netcfg não faz x?
Porque ele não precisa fazer :-). Ele apenas conecta seu computador a uma rede.
Mas o netcfg é modular e "reusável". Dê uma olhada em /usr/lib/networks/ -- há varias funções que podem ser aproveitadas em seus scripts.
Por que o netcfg se comporta dessa maneira?
O netcfg não impõe nenhuma regra. Sua tarefa é possibilitar a conexão à rede. Ele não impõe nenhuma forma de heurística, como 'desconecte da rede sem fio se eu me conectar à rede cabeada'.
Se você deseja esta funcionalidade, deverá desenvolver algo que trabalhe em conjunto com o netcfg.
Eu preciso de x quando estou usando o netcfg?
- /etc/hosts: Sim, você ainda precisa dele. Não remova o "hostname" deste arquivo ou você terá problemas.
- HOSTNAME= em /etc/rc.conf: É extremamente recomendável que você mantenha esta variável, pois nenhum hostname será definido se o seu perfil de rede não puder ser carregado.
- DAEMONS=(network)/INTERFACES=() em /etc/rc.conf: Se você configurou todos os seus perfis de rede com o netcfg2, sim, você pode remover estas configuações do arquivo /etc/rc.conf. Você também pode remover com segurança a interface lo, cuja configuração foi movida para o arquivo rc.sysinit.
- lo: a interface local está definida agora no arquivo rc.sysinit. Você não precisa mais configurá-la em lugar algum.