Arch Linux

 

Configurando a Rede

De Wiki do Arch Linux Brasil


Tabela de conteúdo

Sumário

Um guia simples para ter a sua rede funcionando.


Carregue o módulo da sua placa

Se você usar o hwdetect, ele poderá detectar o módulo para a sua placa de rede (NIC - Network Interface Card) e carregá-lo automaticamente quando o sistema for iniciado. Caso contrário, você precisará saber qual módulo é necesário para o modelo específico da sua placa de rede.

Procure na internet qual o módulo apropriado para sua placa ou tente usar uma distribuição Linux em Live CD para descobrir qual o nome do módulo - rode o comando lsmod para descobrir quais módulos foram carregados após o boot com o Live CD.

Quando você souber qual o módulo adequado, você poderá carregá-lo com o seguinte comando:

# modprobe nomedomodulo

Se você não quer algum não pode usar algum "auto-carregador" como o hwdetect, é possível adicionar o nome do módulo à lista de módulos existente no arquivo /etc/rc.conf. A partir de então, você não precisará mais carregá-lo após cada boot. Por exemplo, se tg3 é o modulo adequado para sua placa de rede:

MODULES=(!usbserial tg3 snd-cmipci)

Outros módulos comuns são o 8139too para placas de rede com chipset Realtek ou sis900 para placas SiS.

Configurando o IP

Para IP obtido por DHCP

Neste caso, você precisará do pacote dhcpcd (usualmente disponível por padrão nas instalações). Edite o arquivo /etc/rc.conf, tal como no exemplo abaixo:

lo="lo 127.0.0.1"
eth0="dhcp"
INTERFACES=(lo eth0)
ROUTES=(!gateway)

Para IP estático

Se você compartilha sua conexão com a internet a partir de uma máquina rodando Windows sem um router, certifique-se de usar IP's estáticos em ambos os computadores. Caso contrário, você enfrentará alguns problemas ter sua rede local funcionando.

Você precisará:

  • Do seu endereço IP estático,
  • Da máscara de rede (netmask),
  • Do endereço de broadcast,
  • Do seu gateway,
  • Dos endereços IP do seu servidor de nomes (nameserver),
  • Do nome do seu domínio.

Se você está configurando uma rede local, é seguro usar endereços IP na faixa 192.168.*.'* para os computadores, com uma máscara de rede (netmask) 255.255.255.0 e endereço de broadcast 192.168.255.255. A menos que sua rede disponha de um router, o endereço do gateway não tem relevância. Edite o arquivo /etc/rc.conf como no exemplo abaixo, fornecendo os endereços de IP, netmask, broadcast e gateway escolhidos por você:

lo="lo 127.0.0.1"
eth0="eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.255.255"
INTERFACES=(lo eth0)
gateway="default gw 192.168.254.254"
ROUTES=(!gateway)

e seu arquivo /etc/resolv.conf, informando os IPs do seu servidor de nomes (DNS) e o nome do seu domínio:

nameserver 61.23.173.5
nameserver 61.95.849.8
search example.com

Você pode incluir o endereço de quantos servidores de nomes você desejar.

Se você usa DHCP e não quer que o endereço dos servidores DNS mude constantemente, certifique-se de adicionar a opção "-R" ao parâmetro DHCPCD_ARGS no arquivo /etc/conf.d/dhcpcd (usado pelo daemon /etc/rc.d/network). Isto prenive que o DHCP sobrescreva o arquivo /etc/resolv.conf.

DHCPCD_ARGS="-R -t 30 -h $HOSTNAME"

Outras opções

Se por alguma razão o comando dhcpcd eth0 falhar, instale o pacote dhclient (pacman -Sy dhclient) e tente usar 'dhclient eth0'.

Definindo o nome do seu computador

Edite o arquivo /etc/rc.conf e defina o HOSTNAME para o nome desejado para seu computador:

HOSTNAME="banana"


Definindo o nome do host/IP

Edite o arquivo /etc/hosts e adicione o mesmo HOSTNAME que você informou no arquivo /etc/rc.conf:

127.0.0.1      banana.domain.org   localhost.localdomain      localhost    banana

Este formato, incluindo as entradas localhost, é necessário para o funcionamento de alguns programas.

Carregando a configuração

Para testar as configurações, você pode reiniciar o computador, ou como root, executa em um terminal /etc/rc.d/network restart. Tente enviar um ping ao computador que atua como gateway em sua rede, ao servidor DNS, ao seu provedor e a outros sites na internet, nesta ordem, para detectar algum problema de conexão ao longo do caminho.

Mais algumas configurações

Configuração da rede sem fio

A cofiguração da rede sem fio (wireless/wlan) pode ser vista no wiki oficial, até que a tradução fique pronta. :-)

http://wiki.archlinux.org/index.php/Wireless

Firewall

Você pode instalar algum firewall para se sentir mais seguro ;-)

Veja mais em:

http://wiki.archlinux.org/index.php/Firewalls

Ifplugd

Você pode instalar um daemon com o qual sua interface Ethernet seja configurada automaticamente quando um cabo de rede for conectado e desabilitá-la quando desconectado. Isto é prático para laptops com placas de rede onboard, na medida em que a interface somente será configurada quando um cabo for conectado. Outro uso pode ser verificado quando você deseja reiniciar a rede mas não quer reiniciar o computador ou executar tal tarefa a partir do shell (terminal).

A instalação é muito simples. O pacote está no repositório [extra]:

# pacman -S ifplugd

Por padrão, o daemon é configurado para trabalhar com a interface eth0. Esta e outras configurações podem ser ajustadas no arquivo /etc/ifplugd/ifplugd.conf.

Inicie o daemon da seguinte maneira:

# /etc/rc.d/ifplugd start

ou o adicione à lista DAEMONS no arquivo /etc/rc.conf.

ifenslave

Instalando o pacote 'ifenslave', você pode anexar duas interfaces Ethernet a um único endereço IP.

/etc/conf.d/bonding

bond_bond0="eth0 eth1"
BOND_INTERFACES=(bond0)

/etc/rc.conf

MODULES=(... bonding ...)
bond0="bond0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255"
INTERFACES=(lo bond0)

reinicie a rede com

/etc/rc.d/network restart

Resolvendo Problemas

Alternando computadores para uso de um mesmo cable modem

Alguns provedores de internet a cabo configuram o modem fornecido para reconhecer apenas uma máquina cliente, pelo endereço MAC da placa de rede. A partir do momento em que o modem descobre o endereço MAC do primeiro computador que a ele for conectado, não mais responderá a outra placa de rede com endereço MAC diferente. Assim, se você trocar o primeiro computador por outro (ou por um router), o novo computador (ou o router) não funcionarão com o cable modem, porque o novo PC (ou router) tem um endereço MAC diferente do anterior. Para que o novo computador seja reconhecido, você precisará "resetar" o cable modem. A partir do momento em que ele for reiniciado e estiver operante, reinicie o novo computador a fim de que ele faça uma requisição DHCP, ou então, execute tal tarefa manualmente.

O escalonamento TCP Window

Pacotes TCP contém um valor "window" (janela) em seus cabeçalhos indicando qual volume de dados o outro host pode enviar em resposta. O valor é representado por apenas 16 bits, sendo que o tamanho da janela (window size) é de 64Kb. Os pacotes TCP ficam em cache (eles precisam ser reorganizados), e como a memória é limitada, um determinado host pode ter problemas com essa tarefa.

No ano de 1992, quando o volume de memória nas máquinas era constantemente incrementado, RFC 1323 o "window scalling" foi concebido para tirar proveito desta situação. O valor "window", provido em todos os pacotes, poderia ser modificado por um fator de escalonamento, logo no início da conexão.

O fator de escalonamento 8-bit permitiu que a "janela" fosse aumentada em 32 vezes, superando os 64Kb iniciais.

A partir de então, alguns routers e firewalls passaram a reescrever o fator de escalonamento para 0, causando erros na comunicação entre hosts.

O kernel do Linux, em sua versão 2.6.17, introduziu um novo esquema de cálculo gerando fatores de escalonamento mais elevados.

O resultado pode ser uma conexão mais rápida, mais lenta ou mesmo inoperante.

Como diagnosticar o problema?

Inicialmente, é importante registrar: este problema é, de certa forma, raro. Em alguns casos, você não conseguirá usar conexões TCP (HTTP, FTP, ...) para vários hosts, sendo capaz de se comunicar com apenas alguns (poucos).

Aviso: a saída do comando dmesg's não apresentará problemas, logs não reportarão erros e o comando ifconfig irá informar que a interface de rede está OK.

Se você não pode navegar por um determinado site, mas pode enviar e receber respostas de ping para alguns hosts, as chances são grandes de que você esteja enfrentando problemas como o "window sacalling".

Você pode usar o WireShark, para verificar se as conexões UDP e ICMP são estabelecidas com sucesso e se somente as conexões TCP para hosts externos apresentam problemas.

Como resolver? (A forma não recomendada)

Para resolver o problema alterando o valor tcp_rmem, sobre o qual o cálculo do fator de escalonamento é baseado. Isto pode funcionar para a maioria dos hosts, mas não há garantida de sucesso, especialmente para hosts distantes, onde haja o roteamento dos pacotes por diversos "nós" na internet.

echo "4096 87380 174760" > /proc/sys/net/ipv4/tcp_rmem


Como resolver? (A forma razoável)

Simplesmente desabilite o Window Scaling. Embora o escalonamento seja seja uma funcionalidade interessante oferecida pelo protocolo TCP, você pode experimentar vários problemas. Há varias formas para desabilitar o escalonamento. A forma mais confiável é adicionar a seguinte linha ao seu arquivo /etc/rc.local:

echo 0 > /proc/sys/net/ipv4/tcp_window_scaling

Como resolver? (A forma mais recomendável)

Este problema é causado por routers/firewalls inoperantes ou com problemas de funcionamento. Assim, substituí-los contribuirá para a solução definitiva do problema.

Mais informações?

Esta seção é baseada no artigo do site LWN TCP window scaling and broken routers, bem como em um artigo do site Kernel Trap: Window Scaling on the Internet.

Recentemente, alguns Archers também enfrentaram este problema:

Realtek - Sem link / WOL

Usuários com placas de rede Realtek baseadas nos chipsets 8168 8169 8101 8111 (placas on e off board) podem se deparar com suas placas desabilitadas no boot, sem a luz indicativa de link ativo. Isto geralmente é verificado em computadores com dual boot, onde o Windows também esteja instalado. Ao que tudo indicado, o uso dos drivers oficiais da Realtek (disponibilizados a partir de Maio de 2007) junto ao sistema operacional Windows tem causado tal problema. Os novos drivers desabilitam a funcionalidade "Wake-On-Lan", desabilitando a placa de rede quando o Windows é desligado, que assim permancerá até um novo boot com o Windows. Você pode verificar se este problema afeta sua máquina, porque a luz indicativa do link até que o Windows seja iniciado. Durante o desligamento do Windows, a luz voltará a ser desligada. Em placas não afetadas por tal problema, a luz indicativa do link permanece ativa, durante todo o tempo de funcionamento da máquina, mesmo durante o POST. Abaixo, algumas sugestões para solução do problema.

Método 1 - Instalar o driver antigo/Trocar o driver utilizado pelo Windows

Você pode voltar a usar o driver antigo para sua placa de rede, se fornecido pela Microsoft, ou instalar um driver antigo oferecido pela Realtek, desde que anterior a Maio de 2007.

Método 2 - Habilitando WOL (wake-on-lan) no driver instalado no Windows

Provavelmente a melhor e mais rápida maneira de solucionar o problema seja alterar as configurações do driver utilizado pelo Windows. Esta solução será útil para qualquer sistema operacional instalado no computador, bem como para o uso de live CD's. No Windows, vá até o gerenciador de dispositivos e encontre a sua placa o seu adaptador de rede Realtek e dê um duplo clique sobre ele. Na aba "Avançado", habilite a opção "wake-on-lan after shutdown".

 No Windows XP (exemplo)
 Clique com o botão da direita sobre "meu computador" --> aba hardware --> Gerenciador de dispositivos --> Adaptadores de rede --> "clique duplo em" Realtek ... --> aba Avançado --> Wake-On-Lan After Shutdown --> Habilitar.

Método 3 - Novo driver da Realtek para Linux

Novos drivers para Linux podem ser encontrados no site da Realtek.

Ferramentas pessoais
TOOLBOX
LANGUAGES