Difference between revisions of "Network configuration (Português)"

From ArchWiki
Jump to: navigation, search
(Update translation - sync with English article until May 26, 2018)
 
(59 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Category:Networking (Português)]]
+
[[Category:Network Configuration (Português)]]
[[Category:Getting and installing Arch (Português)]]
+
[[cs:Network configuration]]
[[cs:Configuring Network]]
+
[[el:Network configuration]]
[[el:Configuring Network]]
+
[[en:Network configuration]]
[[en:Configuring Network]]
+
[[es:Network configuration]]
[[es:Configuring Network]]
 
 
[[fr:Connexions reseau]]
 
[[fr:Connexions reseau]]
[[it:Configuring Network]]
+
[[it:Network configuration]]
[[ja:Network Configuration]]
+
[[ja:ネットワーク設定]]
[[nl:Configuring Network]]
+
[[nl:Network configuration]]
 
[[ro:Configurare retea]]
 
[[ro:Configurare retea]]
[[ru:Configuring Network]]
+
[[ru:Network configuration]]
[[sk:Configuring Network]]
+
[[sk:Network configuration]]
[[tr:Ağ_Yapılandırması]]
+
[[zh-hans:Network configuration]]
[[zh-CN:Network Configuration]]
+
[[zh-hant:Network configuration]]
{{Related articles start}}
+
{{Related articles start (Português)}}
{{Related|Jumbo Frames}}
+
{{Related2|Network Debugging|Depuração de rede}}
 
{{Related|Firewalls}}
 
{{Related|Firewalls}}
{{Related|Wireless Setup}}
+
{{Related|Jumbo frames}}
{{Related|List of Applications#Network Managers}}
+
{{Related2|Internet sharing|Compartilhamento de internet}}
 +
{{Related2|Router|Roteador}}
 
{{Related articles end}}
 
{{Related articles end}}
 +
Esse artigo explica como configurar uma conexão de rede.
  
Esta página explica como configurar uma conexão '''cabeada'''. Se você deseja configurar uma rede '''wireless/sem fio''' veja a página [[Wireless_Setup (Português)|Configuração de Redes Sem Fio]].
+
== Verificar a conexão ==
  
== Verificando a conexão ==
+
Para solucionar problemas de uma conexão de rede, siga as seguintes condições e assegure-se de atendê-las:
{{Note|Se você receber algum erro como {{ic|ping: icmp open socket: Operation not permitted}} quando executar o comando ping, tente reinstalar o pacote {{ic|iputils}}.}}
 
  
Muitas vezes, o procedimento básico de instalação cria uma configuração de rede cabeada. Para verificar se há configuração, utilize o seguinte comando:
+
# Suas interfaces de rede estão listadas e habilitadas.
{{Note|A opção {{ic|-c 3}} chama 3 vezes a ação de envio de pacotes icmp. Veja {{ic|man ping}} para maiores informações.}}
+
# Você está conectado à rede. O cabo está conectado ou você está [[Configuração de rede sem fio|conectado com a rede sem fio]].
 +
# Sua interface de rede tem um [[#Endereços IP|endereço IP]].
 +
# Sua [[#Tabela de roteamento|tabela de roteamento]] está configurada corretamente.
 +
# Você pode [[#Ping|pingar]] um endereço IP local (por exemplo, seu gateway padrão).
 +
# Você pode [[#Ping|pingar]] um endereço IP público (por exemplo, {{ic|8.8.8.8}}); se não puder, pode estar relacionado ao seu gateway padrão ou ao seu provedor de serviços de Internet.
 +
# [[Verifique se você consegue resolver nomes de domínio]] (por exemplo, {{ic|archlinux.org}}).
  
{{hc|$ ping -c 3 www.google.com|2=
+
{{Nota|{{ic|8.8.8.8}} é um endereço estático fácil de lembrar. É o endereço do servidor DNS primário do Google, portanto, pode ser considerado confiável e geralmente não é bloqueado por sistemas de filtragem de conteúdo e proxies.}}
PING www.l.google.com (74.125.224.146) 56(84) bytes of data.
 
64 bytes from 74.125.224.146: icmp_req=1 ttl=50 time=437 ms
 
64 bytes from 74.125.224.146: icmp_req=2 ttl=50 time=385 ms
 
64 bytes from 74.125.224.146: icmp_req=3 ttl=50 time=298 ms
 
  
--- www.l.google.com ping statistics ---
+
=== Ping ===
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
 
rtt min/avg/max/mdev = 298.107/373.642/437.202/57.415 ms}}
 
  
Caso funcione, você precisará apenas personalizar algumas das opções abaixo.
+
[[Wikipedia:pt:Ping|ping]] é usado para testar se você consegue alcançar um host.
  
Se o comando acima reclamar de unknown hosts(host desconhecido), significa que seu computador não pôde resolver nomes de domínios. Pode ser relacionado ao seu provedor de internet ou gateway/roteador. Tente pingar um endereço IP para provar que sua máquina possui acesso a internet.
+
{{hc|$ ping www.example.com|2=
 +
PING www.example.com (93.184.216.34): 56(84) data bytes
 +
64 bytes from 93.184.216.34: icmp_seq=0 ttl=56 time=11.632 ms
 +
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.726 ms
 +
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=10.683 ms
 +
...}}
  
{{hc|$ ping -c 3 8.8.8.8|2=
+
Para cada resposta que você recebe, o ping imprime uma linha como acima. Para mais informações, consulte o manual {{man|8|ping}}.
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
 
64 bytes from 8.8.8.8: icmp_req=1 ttl=53 time=52.9 ms
 
64 bytes from 8.8.8.8: icmp_req=2 ttl=53 time=72.5 ms
 
64 bytes from 8.8.8.8: icmp_req=3 ttl=53 time=70.6 ms
 
  
--- 8.8.8.8 ping statistics ---
+
Observe que os computadores podem ser configurados para não responder às solicitações de echo ICMP.[https://unix.stackexchange.com/questions/412446/how-to-disable-ping-response-icmp-echo-in-linux-all-the-time]
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
 
rtt min/avg/max/mdev = 52.975/65.375/72.543/8.803 ms}}
 
  
{{Note|{{ic|8.8.8.8}} é um endereço ip estático de fácil memorização. É o endereço do DNS primário do Google, considerado uma fonte confiável para testes e geralmente não bloqueado por sistemas de filtro de conteúdo ou proxies.}}
+
Quando você não receber nenhuma resposta, você pode usar um [[Wikipedia:pt:traceroute|traceroute]] ({{man|8|traceroute}} ou {{man|8|tracepath}}) para diagnosticar ainda mais a rota para o host.
  
Caso você consiga pingar este endereço, pode adicioná-lo ao arquivo {{ic|/etc/resolv.conf}} com a palavra nameserver na frente como solução de dns.
+
{{Nota|Se você receber um erro como {{ic|ping: icmp open socket: Operation not permitted}} ao executar ''ping'', tente reinstalar o pacote {{Pkg|iputils}}.}}
  
== Configurando um hostname ==
+
== Driver de dispositivo ==
Um A [[Wikipedia:Hostname|hostname]] é um endereço único criado para identificar um computador em uma rede. É configurado no arquivo {{ic|/etc/hostname}}. Este arquivo pode conter o domínio do sistema, se houver. Para configurar um hostname, execute:
 
 
 
# hostnamectl set-hostname '''meunome'''
 
 
 
Este comando colocará a informação '''meunome''' no arquivo {{ic|/etc/hostname}}.
 
 
 
Veja {{ic|man 5 hostname}} e {{ic|man 1 hostnamectl}} para maiores detalhes.
 
  
{{Note|
+
=== Verificando o estado ===
*{{ic|hostnamectl}} suporta FQDNs
 
*Você não precisa mais editar o arquivo {{ic|/etc/hosts}}, pois o {{pkg|systemd}} proverá a resolução de nomes, e é instalado por padrão no sistema.}}
 
  
Para alterar o hostname temporariamente(até o próximo restart), utilize o comando {{ic|hostname}} do pacote {{Pkg|inetutils}}:
+
O [[udev]] deve detectar sua [[wikipedia:pt:Placa de rede|interface de rede]] (em inglês, ''network interface controller'' ou NIC) e carregará automaticamente o [[kernel module|módulo de kernel]] necessário na inicialização. Verifique pela entrada "Ethernet controller" (ou similar) no resultado do comando {{ic|lspci -v}}. Este comando dirá qual módulo do kernel é necessário para o funcionamento do dispositivo. Por exemplo:
 
 
# hostname ''meunome''
 
 
 
== Drivers de dispositivos ==
 
 
 
=== Verifique o estado do seu driver ===
 
 
 
O [[udev]] deverá detectar sua interface de rede([http://pt.wikipedia.org/wiki/Placa_de_rede NIC]) e carregará automaticamente o módulo necessário. Busque pela entrada "Ethernet controller"(ou similar) no resultado do comando {{ic|lspci -v}}. Este comando dirá qual módulo do kernel é necessário para o funcionamento do dispositivo. Por exemplo:
 
  
 
{{hc|$ lspci -v|
 
{{hc|$ lspci -v|
02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
+
02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
 
  ...
 
  ...
 
  Kernel driver in use: atl1
 
  Kernel driver in use: atl1
  Kernel modules: atl1}}
+
  Kernel modules: atl1
 +
}}
  
Após, veja se o driver foi carregado através de um {{ic|dmesg <nowiki>|</nowiki> grep ''module_name''}}. Exemplo:
+
Após, veja se o driver foi carregado usando {{ic|dmesg {{!}} grep ''nome_módulo''}}. Exemplo:
  
$ dmesg | grep atl1
+
{{hc|$ dmesg | grep {{!}} atl1|
    ...
+
...
    atl1 0000:02:00.0: eth0 link is up 100 Mbps full duplex
+
atl1 0000:02:00.0: eth0 link is up 100 Mbps full duplex
 +
}}
  
 
Pule para a próxima sessão caso o driver tenha sido carregado com sucesso. Caso contrário, você precisará descobrir qual é o módulo necessário para o seu modelo de interface de rede em específico.
 
Pule para a próxima sessão caso o driver tenha sido carregado com sucesso. Caso contrário, você precisará descobrir qual é o módulo necessário para o seu modelo de interface de rede em específico.
  
=== Carregando o driver do dispositivo ===
+
=== Carregando o módulo ===
  
Busque na internet(google) pelo modelo de sua placa e descubra qual o chipset. Algumas placas mais comuns utilizam o chipset da Realtek {{ic|8139too}}, ou {{ic|sis900}} da SiS. Assim que descobrir qual módulo deve usar, tente [[Kernel modules#Manual module handling|carregar o módulo manualmente]]. Caso você esbarre com algum erro dizendo que o módulo não foi encontrado, é possível que o driver não foi incluído no kernel do Arch Linux. Tente procurar no [[AUR]] pelo nome do módulo.
+
Pesquise na internet pelo modelo/driver para o seu chipset. Algumas módulos comuns são {{ic|8139too}} para as placas com um chipset da Realtek, ou {{ic|sis900}} para placas com um chipset da SiS. Assim que descobrir qual módulo deve usar, tente [[Kernel modules#Manual module handling|carregar o módulo manualmente]]. Caso você esbarre com algum erro dizendo que o módulo não foi encontrado, é possível que o driver não foi incluído no kernel do Arch Linux. Tente procurar no [[AUR (Português)|AUR]] pelo nome do módulo.
  
Caso o udev não detecte ou não carregue o módulo de forma apropriada e automaticamente durante o boot, veja a página [[Kernel modules#Loading]].
+
Caso o udev não detecte ou não carregue o módulo de forma apropriada e automaticamente durante o boot, veja [[Kernel modules#Automatic module handling]].
  
== Interfaces de Rede ==
+
== Gerenciamento de rede ==
  
=== Nomes de dispositivos ===
+
Para configurar uma conexão de rede, siga as etapas abaixo:
  
Para placas-mãe que possuem interfaces de rede embutidas, é importante ter um nome de dispositivo fixo. Grande parte dos problemas são causados por nomes de dispositivos que mudam.
+
# Certifique-se que sua [[#Interfaces de rede|interface de rede]] está listada e habilitada.
 +
# Conecte à rede. Conecte o cabo de rede ou [[Configuração de rede sem fio|conecte à rede sem fio]].
 +
# Configure sua conexão de rede:
 +
#* [[#Endereço IP estático|endereço IP estático]]
 +
#* endereço IP dinâmico: use [[#DHCP|DHCP]]
  
O [[Udev]] é o responsavel por qual nome um dispositivo deve receber. O systemd v197 introduziu os [http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames nomes de interface previsíveis], que automaticamente atribuem nomes estáticos a dispositivos de rede. Interfaces são prefixadas como en (ethernet), wl (WLAN), ou ww (WWAN) seguido por um identificados, criando uma entrada similar a {{ic|enp0s25}}.
+
{{Dica|[[#Gerenciadores de rede]] fornecem configuração e conexão de rede automática baseada em perfis de rede.}}
  
Este comportamento pode ser desabilitado com o segunite link simbólico:
+
O pacote {{Pkg|iproute2}} fornece o utilitário de linha de comando {{man|8|ip}}, usado para gerenciar [[#Interfaces de rede|interfaces de rede]], [[#Endereços IP|endereços IP]] e a [[#Tabela de roteamento|tabela de roteamento]]. Saiba que a configuração feita usando {{ic|ip}} será perdida após a inicialização. Você pode automatizar comandos ''ip'' usando scripts e [[systemd (Português)#Escrevendo arquivos unit|units de systemd]]. Também note que comandos {{ic|ip}} podem de forma geral ser abreviados, mas, para melhor clareza, eles são expressos na forma longa neste artigo.
  
# ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
+
=== Interfaces de rede ===
  
Usuários atualizando de uma versão mais antiga do systemd terão arquivos de regras criados automaticamente em branco. Caso você queira usar os nomes persistentes, apenas delete tal arquivo.
+
Por padrão, o [[udev]] atribui nomes para suas interfaces de rede usando [http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames Predictable Network Interface Names], que prefixam nomes de interfaces com {{ic|en}} (cabeada/[[Wikipedia:pt:Ethernet|Ethernet]]), {{ic|wl}} (sem fio/wireless/WLAN) ou {{ic|ww}} ([[Wikipedia:pt:Rede de longa distância sem fio|WWAN]]).
  
{{Tip|Você pode rodar um {{ic|ip link}} ou {{ic|ls /sys/class/net}} para listar todas as interfaces.}}
+
{{Dica|Para alterar os nomes de dispositivos, veja [[#Alterando o nome da interface]] e [[#Revertendo para nomes tradicionais de dispositivos]].}}
  
==== Alterando o nome de um dispositivo ====
+
==== Listando interfaces de rede ====
  
Você pode alterar o nome de um dispositivo definindo o nome em uma regra do udev. Exemplo:
+
Ambos nomes de interfaces com e sem fio podem ser descobertos por meio de {{ic|ls /sys/class/net}} ou {{ic|ip link}}. Note que {{ic|lo}} é o [[Wikipedia:pt:Loop device|dispositivo ''loop'' ou de laço]] e não é usado para fazer conexões de rede.
{{hc|/etc/udev/rules.d/10-network.rules|2=
 
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="aa:bb:cc:dd:ee:ff", NAME="net1"
 
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ee:dd:cc:bb:aa", NAME="net0"}}
 
Alguns detalhes devem ser ressaltados:
 
* Para obter o endereço MAC de cada interface, utilize o comando {{ic|cat /sys/class/net/'''device-name'''/address}}<!-- {{ic|<nowiki>udevadm info -a -p /sys/class/net/<yourdevice> | grep address | tr [A-Z] [a-z]</nowiki>}} -->
 
* Certifique-se de utilizar valores em caixa baixa para valores hexadecimais em regras do udev. Ele não gosta de caixa alta.
 
{{Note|Quando escolher nomes estáticos '''nomes no formato "eth''X''" and "wlan''X''" devem ser evitados''', pois podem causar race conditions entre o kernel e o udev durante o boot. É melhor utilizar nomes que não são os padrões do kernel como: {{ic|net0}}, {{ic|net1}}, {{ic|wifi0}}, {{ic|wifi1}}. Para maiores detalhes, veja a documentação do [http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames systemd].}}
 
 
 
=== Alterando MTU e tamanho da fila ===
 
 
 
Você pode alterar o MTU de um dispositivo através de uma regra do udev. Exemplo:
 
{{hc|/etc/udev/rules.d/10-network.rules|2=
 
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wl*", ATTR{mtu}="1480", ATTR{tx_queue_len}="2000"}}
 
 
 
=== Descobrir nome dos dispositivos atuais ===
 
  
Os nomes dos dispositivos em execução podem ser obtidos através do sysfs
+
Nomes de dispositivos sem fio também podem ser obtidos usando {{ic|iw dev}}. Veja também [[Configuração de rede sem fio#Obter o nome da interface]].
  
{{hc|$ ls /sys/class/net|
+
Se sua interface de rede não estiver listada, certifique-se que seu [[#Driver de dispositivo|driver de dispositivo]] foi carregado com sucesso.
lo eth0 eth1 firewire0}}
 
  
=== Enabling and disabling network interfaces ===
+
==== Habilitando e desabilitando interfaces de rede ====
=== Ativando e desabilitando interfaces de rede ===
 
  
Você pode ativar e desabilitar interfaces de rede através dos comandos:
+
Interfaces de rede podem ser habilitadas/desabilitadas usando {{ic|ip link set ''interface'' up{{!}}down}}. Veja {{man|8|ip-link}}.
  
# ip link set eth0 up
+
Para verificar o status da interface {{ic|eth0}}:
# ip link set eth0 down
 
 
 
Prova real:
 
  
 
{{hc|$ ip link show dev eth0|
 
{{hc|$ ip link show dev eth0|
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP mode DEFAULT qlen 1000
+
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN mode DEFAULT qlen 1000
[...]}}
+
...
 +
}}
  
== Configurando endereços IP ==
+
O {{ic|UP}} em {{ic|<BROADCAST,MULTICAST,UP,LOWER_UP>}} é o que indica a interface está ativa, e não o {{ic|state DOWN}} posterior.
  
Você possui duas opções: Endereços dinâmicos através de [http://pt.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol DHCP] ou um endereço "estático".
+
{{Nota|Se sua rota padrão é por meio da interface {{ic|eth0}}, desabilitá-la também vai remover a rota e reativá-la não vai restabelecer automaticamente a rota padrão. Veja [[#Atribuição manual]] para restabelecê-la.}}
  
=== Endereço IP dinâmico ===  
+
=== Endereço IP estático ===
  
==== Execução manual do serviço(daemon) DHCP ====
+
Um endereço IP estático pode ser configurado com a maioria dos [[#Gerenciadores de rede|gerenciadores de rede]] padrão e também [[dhcpcd]].
  
Note que {{ic|dhcpcd}} não é {{ic|dhcpd}}.
+
Para configurar manualmente um endereço IP estático, adicione um endereço IP como descrito em [[#Endereços IP]], configure sua [[#Tabela de roteamento|tabela de roteamento]] e [[Domain name resolution|configure seus servidores DNS]].
  
{{hc|# dhcpcd eth0|
+
=== Endereços IP ===
dhcpcd: version 5.1.1 starting
 
dhcpcd: eth0: broadcasting for a lease
 
...
 
dhcpcd: eth0: leased 192.168.1.70 for 86400 seconds}}
 
  
Através do comando, {{ic|ip addr show dev eth0}} você verificará o endereço obtido.
+
[[Wikipedia:pt:Endereço IP|Endereços IP]] são gerenciados usando {{man|8|ip-address}}.
  
Em alguns cenários, o comando {{ic|dhclient}} do pacote {{Pkg|dhclient}} funcionará e o {{ic|dhcpcd}} falhará.
+
Liste endereços IP:
  
==== DHCP durante o boot ====
+
$ ip address show
  
Se você deseja apenas usar o DHCP em sua coenxão cabeada, você pode usar o serviço {{ic|dhcpcd@.service}} provido pelo pacote  {Pkg|dhcpcd}},
+
Adicione um endereço IP a uma interface:
  
Para iniciar o DHCP na interface {{ic|eth0}}:
+
# ip address add ''endereço/tam_prefixo'' broadcast + dev ''interface''
  
# systemctl start dhcpcd@eth0
+
:Note que:
  
Você pode habilitar o serviço para iniciar no boot do sistema com o comando:
+
:* o endereço é dado em [[Wikipedia:pt:Classless Inter-Domain Routing#Notação standard|notação CIDR]] para também fornecer uma [[Wikipedia:pt:Sub-rede|máscara de sub-rede]]
 +
:* {{ic|+}} é um símbolo especial que faz o {{ic|ip}} derivar o [[Wikipedia:pt:Endereço de broadcast|endereço broadcast]] do endereço IP e a máscara de sub-rede
  
 +
:{{Nota|Certifique-se que endereços IP atribuídos manualmente não conflitem com os atribuídos por DHCP. Veja [http://www.raspberrypi.org/forums/viewtopic.php?f&#61;28&t&#61;16797 esse tópico do fórum].
 +
}}
  
# systemctl enable dhcpcd@eth0
+
Exclui um endereço IP de uma interface:
  
Caso o serviço dhcpd inicie antes do módulo da interface de rede ser carregado({{bug|30235}}), adicione sua interface de rede ao arquivo {{ic|/etc/modules-load.d/*.conf}}. Por exemplo, se o módulo da Realtek {{ic|r8169}} precisa ser carregado crie o arquivo:
+
$ ip address del ''endereço/tam_prefixo'' dev ''interface''
  
{{hc|/etc/modules-load.d/realtek.conf|
+
Exclui todos os endereços correspondendo a um critério, por exemplo, de uma interface específica:
r8169}}
 
  
{{Tip|Para descobrir quais módulos são utilizados por uma placa de rede, utilize o comando {{ic|lspci -k}}.}}
+
$ ip address flush dev ''interface''
  
Se você utiliza DHCP e '''não''' deseja ter o DNS configurado automaticamente cada vez que a rede for iniciada, adicione o seguinte conteúdo na última sessão do arquivo {{ic|dhcpcd.conf}}:
+
{{Dica|Endereços IP podem ser calculados com [http://jodies.de/ipcalc ipcalc] ({{Pkg|ipcalc}}).}}
  
{{hc|/etc/dhcpcd.conf|
+
=== Tabela de roteamento ===
nohook resolv.conf}}
 
  
Para previnir que o {{ic|dhcpcd}} adicione nomes de domínio ao {{ic|/etc/resolv.conf}}, use a opção {{ic|nooption}}:
+
A [[Wikipedia:Routing table|tabela de roteamento]] é usada para determinar se você pode alcançar um endereço IP diretamente ou qual gateway (roteador) você deve usar. Se nenhuma rota corresponde ao endereço IP, o [[Wikipedia:Default gateway|gateway padrão]] é usado.
  
{{hc|/etc/dhcpcd.conf|
+
A tabela de roteamento é gerenciada usando {{man|8|ip-route}}.
nooption domain_name_servers}}
 
  
Assim, você poderá editar o arquivo {{ic|/etc/resolv.conf}} com suas próprias configurações de DNS.
+
''PREFIXO'' é uma notação CIDR ou {{ic|default}} para o gateway padrão.
  
Você pode usar o pacote {{Pkg|openresolv}} caso diferentes processos desejam controlar o arquivo {{ic|/etc/resolv.conf}} (por exemplo, {{Pkg|dhcpcd}} e um cliente de VPN). Nenhuma configuração adicional para o {{Pkg|dhcpcd}} é necessária para se adequar ao {{Pkg|openresolv}}.
+
Lista rotas:
  
=== Static IP address ===
+
$ ip route show
  
Há várias razões que levam a utilização de um IP estático de rede. Os benefícios de maior visibilidade são previsibilidade dos ips utilizados, ou por ausência de um servidor DHCP.
+
Adiciona uma rota:
  
{{Note|Caso você compartilhe a Internet através de uma estação Windows, certifique-se de atribuir um ip estático para evitar problemas para ambos computadores.}}
+
# ip route add ''PREFIXO'' via ''endereço'' dev ''interface''
  
Você precisa de:
+
Exclui uma rota:
  
* Endereço estático
+
# ip route del ''PREFIXO'' via ''endereço'' dev ''interface''
* [http://pt.wikipedia.org/wiki/M%C3%A1scara_de_rede Máscara de rede]
 
* [http://pt.wikipedia.org/wiki/Endere%C3%A7o_de_broadcast Endereço de broadcast]
 
* Endereço IP do [http://pt.wikipedia.org/wiki/Gateway gateway]
 
  
Se você estiver em uma rede privada, é seguro atribuir endereços ip 192.168.*.* com a máscara de rede 255.255.255.0 e broadcast 192.168.*.255. O gateway geralmente possui os endereços 192.168.*.1 ou 192.168.*.254.
+
=== DHCP ===
  
==== Atribuição Manual ====
+
Um servidor [[Wikipedia:pt:Dynamic Host Configuration Protocol|Dynamic Host Configuration Protocol]] (DHCP) fornece aos clientes um endereço IP dinâmico, a máscara de sub-rede, o endereço IP do gateway padrão e, opcionalmente, também servidores de nome DNS.
  
Você pode atribuir um endereço IP no console com o comando:
+
{{Nota|Você não deve executar dois clientes DHCP simultaneamente.}}
  
# ip addr add <IP address>/<subnet mask> dev <interface>
+
Para usar DHCP, você precisa de um servidor DHCP em sua rede e um cliente DHCP:
  
Exemplo:
+
{| class="wikitable"
 +
! Cliente !! Pacote !! [[Archiso]] !! Nota !! Units de systemd
 +
|-
 +
| [[dhcpcd]] || {{Pkg|dhcpcd}} || {{Sim}} || DHCP, DHCPv6, ZeroConf, IP estático || {{ic|dhcpcd.service}}, {{ic|dhcpcd@''interface''.service}}
 +
|-
 +
| [https://www.isc.org/downloads/dhcp/ ISC dhclient] || {{Pkg|dhclient}} || {{Sim}} || DHCP, BOOTP, IP estático || {{ic|dhclient@''interface''.service}}
 +
|}
  
# ip addr add 192.168.1.2/24 dev eth0
+
Note que em vez de usar diretamente um cliente DHCP, você também pode usar um [[#Gerenciadores de rede|gerenciador de rede]].
  
{{Note|A máscara de rede deve ser atribuída na notação [http://pt.wikipedia.org/wiki/CIDR CIDR].}}
+
{{Dica|Você pode verificar se um servidor DHCP estiver funcionando com {{Pkg|dhcping}}.}}
  
Para maiores opções veja {{ic|man ip}}.
+
=== Gerenciadores de rede ===
 +
Um gerenciador de rede permite que você gerencie configurações de conexão de rede nos chamados peris de rede para facilitar a troca de redes.
  
Para adicionar rota até o gateway da rede:
+
{{Nota|Existem muitas soluções para escolher, mas lembre-se de que todas elas são mutuamente exclusivas; você não deve executar dois daemons simultaneamente.}}
  
# ip route add default via <default gateway IP address>
+
{| class="wikitable"
 +
! Gerenciador<br>de rede || Lida com conexões<br>cabeadas || GUI || [[Archiso]] [https://git.archlinux.org/archiso.git/tree/configs/releng/packages.both] || Ferramentas CLI || Suporte a [[Wikipedia:pt:Point-to-Point Protocol|PPP]] <br>(ex., Modem 3G) || Cliente [[#DHCP]] || Units de systemd
 +
|-
 +
| [[ConnMan]] || {{Sim}} || {{Y|8 não oficiais}} || {{Não}} || {{G|{{man|1|connmanctl}}}} || {{Sim}} || interno || {{ic|connman.service}}
 +
|-
 +
| [[netctl]] || {{Sim}} || {{Y|2 não oficiais}} || {{Sim}} ({{grp|base}}) || {{G|{{man|1|netctl}}, wifi-menu}} || {{Sim}} || [[dhcpcd]] ou {{Pkg|dhclient}} || {{ic|netctl-ifplugd@''interface''.service}}, {{ic|netctl-auto@''interface''.service}}
 +
|-
 +
| [[NetworkManager (Português)|NetworkManager]] || {{Sim}} || {{Sim}} || {{Não}} || {{G|{{man|1|nmcli}}, {{man|1|nmtui}}}} || {{Sim}} || internal, [[dhcpcd]] ou {{Pkg|dhclient}} || {{ic|NetworkManager.service}}
 +
|-
 +
| [[systemd-networkd]] || {{Sim}} || {{Não}} || {{Sim}} ({{grp|base}}) || {{Não}} || ? || interno || {{ic|systemd-networkd.service}}, {{ic|systemd-resolved.service}}
 +
|-
 +
| [[Wicd]] || {{Sim}} || {{Sim}} || {{Não}} || {{G|{{man|8|wicd-cli}}, {{man|8|wicd-curses}}}} || {{Não}} || [[dhcpcd]] || {{ic|wicd.service}}
 +
|-
 +
| [[Wifi Radar]] || {{Não}} || {{Sim}} || {{Não}} || {{Não}} || {{Não}}|| qualquer (apenas executa comando) ||
 +
|}
  
Exemplo:
+
Veja também [[List of applications#Network managers]].
  
# ip route add default via 192.168.1.1
+
== Configurando um hostname ==
  
Caso ocorra o erro No such process", significa que o dispositivo está desabilitado. Execute {{ic|ip link set dev eth0 up}} como root.
+
Um [[Wikipedia:Hostname|hostname]], ou "nome de máquina", é um nome único criado para identificar uma máquina em uma rede, configurada em {{ic|/etc/hostname}} — veja {{man|5|hostname}} e {{man|7|hostname}} para detalhes. O arquivo pode conter o nome de domínio do sistema, se houver. Para configurar o hostname, [[edição de texto|edite]] {{ic|/etc/hostname}} para incluir uma única linha com {{ic|''meuhostname''}}:
  
==== Conexão manual no boot utilizando o systemd ====
+
{{hc|/etc/hostname|
 +
''meuhostname''
 +
}}
  
Primeiro, crie um arquivo de configuração de serviço do [[systemd]], trocando a palavra {{ic|<interface>}} pela sua interface em questão:
+
{{Dica|Para um conselho quanto ao hostname, veja [https://tools.ietf.org/html/rfc1178 RFC 1178].}}
  
{{hc|/etc/conf.d/network@<interface>|<nowiki>
+
Alternativamente, usando {{man|1|hostnamectl}}:
address=192.168.0.15
 
netmask=24
 
broadcast=192.168.0.255
 
gateway=192.168.0.1
 
</nowiki>}}
 
  
Crie um arquivo de unidade do systemd:
+
# hostnamectl set-hostname ''meuhostname''
  
{{hc|/etc/systemd/system/network@.service|<nowiki>
+
Para definir temporariamente o hostname (até reiniciar), use {{man|1|hostname}} do {{Pkg|inetutils}}:
[Unit]
 
Description=Network connectivity (%i)
 
Wants=network.target
 
Before=network.target
 
BindsTo=sys-subsystem-net-devices-%i.device
 
After=sys-subsystem-net-devices-%i.device
 
  
[Service]
+
# hostname ''meuhostname''
Type=oneshot
 
RemainAfterExit=yes
 
EnvironmentFile=/etc/conf.d/network@%i
 
ExecStart=/usr/bin/ip link set dev %i up
 
ExecStart=/usr/bin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev %i
 
ExecStart=/usr/bin/ip route add default via ${gateway}
 
  
ExecStop=/usr/bin/ip addr flush dev %i
+
Para configurar um hostname "bonito" e outros metadados de máquina, veja {{man|5|machine-info|https://www.freedesktop.org/software/systemd/man/machine-info.html}}.
ExecStop=/usr/bin/ip link set dev %i down
 
  
[Install]
+
=== Resolução de hostname local ===
WantedBy=multi-user.target
 
</nowiki>}}
 
  
Habilite a unidade e inicie, passando o nome da interface:
+
O módulo [[Name Service Switch]] (NSS) {{ic|myhostname}} do [[systemd (Português)|systemd]] fornece resolução de hostname local sem ter que editar {{ic|/etc/hosts}} ({{man|5|hosts}}). Ele está habilitado por padrão.
  
# systemctl enable network@eth0.service
+
Alguns clientes, porém, podem depender de {{ic|/etc/hosts}}, veja [https://lists.debian.org/debian-devel/2013/07/msg00809.html] [https://bugzilla.mozilla.org/show_bug.cgi?id=87717#c55] por exemplos.
# systemctl start network@eth0.service
 
  
==== Calculando endereços ====
+
Para configurar o arquivo hosts, adicione a seguinte linha ao {{ic|/etc/hosts}}:
  
Você pode utilizar a ferramenta {{ic|ipcalc}}(pacote {{Pkg|ipcalc}}) para calcular endereços de broadcast, rede, máscara de rede e escopo para configurações mais avançadas. Por exemplo, eu utilizo ethernet over firewire para conectar uma máquina Windows ao arch. Por razões de segurança e organização, criei uma rede configurando broadcast e máscara de rede de formas que apenas dois computadores caibam em tal endereçamento. Para descobrir a mascara de rede e endereço broadcast, utilizei o ipcalc, provendo o ip do arch com a interface firewire(10.66.66.1) e especificando ao ipcalc que desejava apenas 2 hosts na rede.
+
127.0.1.1 ''meuhostname''.dominiolocal ''meuhostname''
  
{{hc|$ ipcalc -nb 10.66.66.1 -s 1|2=
+
{{Nota|A ordem de hostnames/aliases que seguem o endereço IP no {{ic|/etc/hosts}} é relevante. A primeira string é considerada o hostname canônico e pode ser adicionada a domínios pais, sendo os componentes de domínio separados por um ponto (p. ex., {{ic|.dominiolocal}} acima). Todas as strings a seguir na mesma linha são considerados aliases. Veja {{man|5|hosts}} para mais informações.}}
Address:  10.66.66.1
 
  
Netmask:  255.255.255.252 = 30
+
Como um resultado, o sistema resolve ambas entradas:
Network:  10.66.66.0/30
 
HostMin:   10.66.66.1
 
HostMax:  10.66.66.2
 
Broadcast: 10.66.66.3
 
Hosts/Net: 2                    Class A, Private Internet}}
 
  
== Aplicando configurações ==
+
{{hc|$ getent hosts|
 +
127.0.0.1      localhost
 +
127.0.1.1      ''meuhostname''.dominiolocal ''meuhostname''
 +
}}
  
Para testar suas configurações, reinicie o computador ou os serviços relevantes:
+
Para um sistema com um endereço IP permanente, esse endereço IP permanente deve ser usado em vez de {{ic|127.0.1.1}}.
  
# systemctl restart dhcpcd@eth0
+
=== Resolução de hostname de rede local ===
  
Tente pingar seu gateway, servidor DNS, provedor de internet e outros sites nesta ordem, para detectar problemas ao longo do percurso como mo exemplo abaixo:
+
Para tornar sua máquina acessível em sua LAN por seu hostname, você pode:
  
$ ping -c 3 www.google.com
+
* editar o arquivo {{ic|/etc/hosts}} para todo dispositivio em sua LAN, veja {{man|5|hosts}}
 +
* configurar um [[DNS server|servidor DNS]] para resolver seu hostname e faça com que os dispositivos LAN o usem (ex., por [[#DHCP]])
 +
* ou a forma fácil: use um serviço [[Wikipedia:pt:Zeroconf|Zero-configuration networking]]:
 +
** [[Samba]] fornece resolução de nomes via '''NetBIOS''' da Microsoft. Ele precisa da instalação do {{Pkg|samba}} e habilitação do serviço {{ic|nmbd.service}}. Computadores usando Windows, macOS ou Linux com {{ic|nmbd}} ativo, serão capazes de localizar sua máquina.
 +
** [[Avahi]] fornece resolução de nomes via '''zeroconf''', também conhecido como Avahi ou Bonjour. É necessário uma configuração um pouco mais complexa que o Samba: veja [[Avahi#Hostname resolution]] para detalhes details. Computadores usando macOS, ou Linux com um daemon Avahi ativo, serão capazes de localizar sua máquina. Windows não têm um cliente ou daemon Avahi incorporados.
  
== Configurações adicionais ==
+
== Dicas e truques ==
  
=== ifplugd para laptops ===
+
=== Alterando o nome da interface ===
  
O {{Pkg|ifplugd}} nos repositórios oficiais é um serviço(daemon) que automaticamente configura uma interface Ethernet quando um cabo é conectado, e automaticamente desconfigura quando desplugado. É util para laptops com adaptadores onboars, pois configurará a interface apenas quando o cabo for realmente conectado. Outro uso é quando você deseja reiniciar as configurações de rede mas não deseja reiniciar o computador ou deseja fazer isto via linha de comando.
+
{{Nota|Ao alterar o esquema de nomes de interface, não se esqueça de atualizar todos os arquivos de configuração relacionados a rede e arquivos personalizados de unit de systemd para refletir a alteração.}}
  
Por padrão, ele é configurado para funcionar com a interface de nome {{ic|eth0}}. Estas e outras configurações como tempo de espera podem ser alterados no arquivo {{ic|/etc/ifplugd/ifplugd.conf}}.
+
Você pode alterar o nome de um dispositivo definindo o nome em uma regra de udev. Exemplo:
  
{{Note|O pacote [[netctl]] inclui {{ic|netctl-ifplugd@.service}}, ou você pode usar o serviço {{ic|ifplugd@.service}} do pacote {{Pkg|ifplugd}}. Isto lhe dá a opção de ativar a rede através do comando {{ic|systemctl enable ifplugd@eth0.service}}.}}
+
{{hc|/etc/udev/rules.d/10-network.rules|2=
 +
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="aa:bb:cc:dd:ee:ff", NAME="net1"
 +
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ee:dd:cc:bb:aa", NAME="net0"
 +
}}
  
=== Bonding e LAG(agregação de LINK) ===
+
Essas regras serão aplicadas automaticamente na inicialização.
  
Veja [[netctl#Bonding]].
+
Alguns detalhes devem ser ressaltados:
  
=== Alias de endereço de IP ===
+
* Para obter o endereço MAC de cada placa de rede, utilize o comando: {{ic|cat /sys/class/net/''nome_dispositivo''/address}}
 +
* Certifique-se de usar valores hexadecimais minúsculos em suas regras de udev. Ele não gosta de letras maiúsculas.
  
{{Expansion|Método manual utilizando o [[Core Utilities#ip|ip]] será adicionado; alterar o exemplo atual utilizando ''netctl'' para [[netctl]].}}
+
Se a placa de rede possui um MAC dinâmico, você pode usar {{ic|DEVPATH}}, por exemplo:
  
Alias de IP é o processo de adicionar mais de um endereço IP a uma interface de rede. Com isto, um nó em uma rede pode ter vários IPs, cada um servindo para um propósito distinto. A utilização típica destes é para hospedagem de servidores Web ou FTP, ou reorganização de servidores sem precisar a alteração de outros servidores chave em uma rede (útil especialmente para servidores de DNS).
+
{{hc|/etc/udev/rules.d/10-network.rules|2=
 
+
SUBSYSTEM=="net", DEVPATH=="/devices/platform/wemac.*", NAME="int"
==== Exemplo ====
+
SUBSYSTEM=="net", DEVPATH=="/devices/pci*/*1c.0/*/net/*", NAME="en"
 
 
Você precisará do pacote {{Pkg|netctl}} instalado.
 
 
 
Configuração:
 
 
 
{{hc|/etc/netctl/minharede|2=
 
Connection='ethernet'
 
Description='Cinco IPs em uma conexão ethernet'
 
Interface='eth0'
 
IP='static'
 
Address=('192.168.1.10' '192.168.178.11' '192.168.1.12' '192.168.1.13' '192.168.1.14' '192.168.1.15')
 
Gateway='192.168.1.1'
 
DNS=('192.168.1.1')
 
 
}}
 
}}
Então execute:
 
  
$ netctl start minharede
+
O caminho do dispositivo deve corresponder ao nome do dispositivo novo e antigo, uma vez que a regra pode ser executada mais de uma vez na inicialização. Por exemplo, na segunda regra, {{ic|"/devices/pci*/*1c.0/*/net/enp*"}} seria errado, uma vez que irá parar de corresponder depois que o nome for alterado para {{ic|en}}. Somente a regra padrão do sistema será chamada na segunda vez, fazendo com que o nome seja alterado de volta para, por exemplo, {{ic|enp1s0}}.
  
=== Alteração de endereço MAC ===
+
Para [[udev#Testing rules before loading|testar]] suas regras, elas podem ser acionadas diretamente do espaço de usuário, por exemplo, com {{ic|udevadm --debug test /sys/''CAMINHO_DISPOSITIVO''}}. Lembre-se de primeiro retirar a interface que você está tentando renomear (ex. {{ic|ip link set enp1s0 down}}).
  
Veja [[MAC Address Spoofing]].
+
{{Nota|Ao escolher os nomes estáticos '''deve-se evitar o uso de nomes no formato de "eth''X''" e "wlan''X''"''', pois eles podem levar a codiçẽos de corrida entre o kernel e udev durante a inicialização. Em vez disso, é melhor usar nomes de interface que não são usados pelo kernel como padrão, ex.: {{ic|net0}}, {{ic|net1}}, {{ic|wifi0}}, {{ic|wifi1}}. Para detalhes adicionais, por favor veja a documentação do [http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames systemd].}}
  
=== Compartilhamento de internet ===
+
=== Revertendo para nomes tradicionais de interfaces ===
  
Veja [[Internet Share]].
+
Se você preferir manter os nomes de interface tradicionais, como eth0, [http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames Predictable Network Interface Names] podem ser desabilitados mascarando a regra de rule:
  
=== Configuração de roteador ===
+
# ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
  
Veja [[Router]].
+
Alternativamente, adicione {{ic|1=net.ifnames=0}} aos [[kernel parameters|parâmetros do kernel]].
  
== Resolução de problemas ==
+
=== Definindo o MTU do dispositivo e o tamanho da fila ===
  
=== Computadores alternando quando conectados a um modem ===
+
Você pode alterar o [[wikipedia:pt:MTU|MTU]] do dispositivo e o tamanho da fila ao definir manualmente com uma regra de udev. Por exemplo:
  
A maioria dos provedores de internet domésticos possuem um modem cabeado configurado para reconhecer apenas um computador cliente pelo MAC address, em sua interface de rede. A partir do momento em que o modem aprendeu o endereço MAC do primeiro equipamento, ele não responderá ao outro MAC localizado na rede. Ainda, se você trocar de um PC para outro, o novo PC não funcionará por possuir um MAC diferente do já aprendido pelo roteador. Para resetar o modem para que reconheça o novo PC, você deve desplugar o cabo de força do modem e plugá-lo novamente. Uma vez que o modem for reiniciado e estiver online(olhe nas luzes alternando), reinicie o novo PC para garantir uma requisição DHCP, ou faça tal requisição na mão.
+
{{hc|/etc/udev/rules.d/10-network.rules|2=
 +
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wl*", ATTR{mtu}="1500", ATTR{tx_queue_len}="2000"
 +
}}
  
Caso este método não funcione, você deverá clonar o endereço MAC do computador original. Veja [[Configuring Network#Change MAC/hardware address|alterando endereços MAC]].
+
{{Nota|
 +
* {{ic|mtu}}: Para PPPoE, o MTU não deve ser maior que 1492. Você também pode definir o MTU via {{man|5|systemd.netdev}}.
 +
* {{ic|tx_queue_len}}: Valores pequenos para dispositivos menores com uma latência maior, como modens e ISDN. Valor alto é recomendado para servidor conectado por meio conexões de Internet de alta velocidade que realiza grandes transferências de dados.
 +
}}
  
=== The TCP window scaling problem ===
+
=== ifplugd for laptops ===
  
TCP packets contain a "window" value in their headers indicating how much data the other host may send in return. This value is represented with only 16 bits, hence the window size is at most 64Kb. TCP packets are cached for a while (they have to be reordered), and as memory is (or used to be) limited, one host could easily run out of it.
+
{{Dica|[[dhcpcd]] fornece o mesmo recurso pronto para uso.}}
  
Back in 1992, as more and more memory became available, [http://www.faqs.org/rfcs/rfc1323.html RFC 1323] was written to improve the situation: Window Scaling. The "window" value, provided in all packets, will be modified by a Scale Factor defined once, at the very beginning of the connection.
+
O {{Pkg|ifplugd}} é um daemon que configura automaticamente seu dispositivo Ethernet quando um cabo é conectado e desconfigura automaticamente quando desconectado. É útil para laptops com adaptadores de rede ''onboards'', pois configurará a interface quando um cabo realmente for conectado. Outro uso é quando você deseja reiniciar as configurações de rede mas não deseja reiniciar o computador ou deseja fazer isto via linha de comando.
  
That 8-bit Scale Factor allows the Window to be up to 32 times higher than the initial 64Kb.
+
Por padrão, ele é configurado para funcionar para o dispositivo {{ic|eth0}}. Estas e outras configurações como tempo de espera podem ser alterados no arquivo {{ic|/etc/ifplugd/ifplugd.conf}}.
  
It appears that some broken routers and firewalls on the Internet are rewriting the Scale Factor to 0 which causes misunderstandings between hosts.
+
{{Nota|O pacote [[netctl]] inclui {{ic|netctl-ifplugd@.service}}, do contrário você pode usar {{ic|ifplugd@.service}} do pacote {{Pkg|ifplugd}}. Por exemplo, [[habilite]] {{ic|ifplugd@eth0.service}}.}}
  
The Linux kernel 2.6.17 introduced a new calculation scheme generating higher Scale Factors, virtually making the aftermaths of the broken routers and firewalls more visible.
+
=== Bonding e LAG(agregação de LINK) ===
  
The resulting connection is at best very slow or broken.
+
Veja [[netctl#Bonding]] ou [[Wireless bonding]].
  
==== How to diagnose the problem ====
+
=== Aliasing de endereço IP ===
  
First of all, let's make it clear: this problem is odd. In some cases, you will not be able to use TCP connections (HTTP, FTP, ...) at all and in others, you will be able to communicate with some hosts (very few).
+
''IP aliasing'' é o processo de adicionar mais de um endereço IP para uma interface de rede. Como isso, um nó em uma rede pode ter múltiplas conexões com uma rede, cada uma servindo um propósito diferente. Usos típicos são hospedagem virtual de servidores Web e FTP ou reorganização de servidores sem ter que atualizar qualquer outras máquinas (isso é especialmente útil para servidores de nome).
  
When you have this problem, the {{ic|dmesg}}'s output is OK, logs are clean and {{ic|ip addr}} will report normal status... and actually everything appears normal.
+
==== Exemplo ====
  
If you cannot browse any website, but you can ping some random hosts, chances are great that you're experiencing this problem: ping uses ICMP and is not affected by TCP problems.
+
Para definir manualmente um alias, para algumas interfaces de rede, use {{Pkg|iproute2}} para executar
  
You can try to use Wireshark. You might see successful UDP and ICMP communications but unsuccessful TCP communications (only to foreign hosts).
+
# ip addr add 192.168.2.101/24 dev eth0 label eth0:1
  
==== How to fix it (The bad way) ====
+
Para remover um dado alias, execute
  
To fix it the bad way, you can change the tcp_rmem value, on which Scale Factor calculation is based. Although it should work for most hosts, it is not guaranteed, especially for very distant ones.
+
# ip addr del 192.168.2.101/24 dev eth0:1
  
# echo "4096 87380 174760" > /proc/sys/net/ipv4/tcp_rmem
+
Os pacotes de rede destinados para uma sub-rede vão usar o alias primário por padrão. Se o IP de destino está dentro de uma sub-rede de um alias secundário, então o IP fonte está definido respectivamente. Considere o caso em que há mais de uma interface de rede, as rotas padrão podem ser listadas com {{ic|ip route}}.
  
==== How to fix it (The good way) ====
+
=== Modo promíscuo ===
  
Simply disable Window Scaling. Since Window Scaling is a nice TCP feature, it may be uncomfortable to disable it, especially if you cannot fix the broken router. There are several ways to disable Window Scaling, and it seems that the most bulletproof way (which will work with most kernels) is to add the following line to {{ic|/etc/sysctl.d/99-disable_window_scaling.conf}} (see also [[sysctl]])
+
Ativar [[wikipedia:pt:Modo promíscuo|modo promíscuo]] fará com que uma interface de rede (sem fio) encaminhe todo o tráfego que receber para o sistema operacional para processamento posterior. Isso é contrário ao "modo normal" onde uma interface de rede irá descartar quadros que não pretende receber. É usado com mais frequência para solução de problemas avançados de rede e [[wikipedia:pt:Analisador de pacotes|análise de pacotes (sniffing)]].
  
net.ipv4.tcp_window_scaling = 0
+
{{hc|/etc/systemd/system/promiscuous@.service|<nowiki>
 +
[Unit]
 +
Description=Set %i interface in promiscuous mode
 +
After=network.target
  
==== How to fix it (The best way) ====
+
[Service]
 +
Type=oneshot
 +
ExecStart=/usr/bin/ip link set dev %i promisc on
 +
RemainAfterExit=yes
  
This problem is caused by broken routers/firewalls, so let's change them. Some users have reported that the broken router was their very own DSL router.
+
[Install]
 +
WantedBy=multi-user.target
 +
</nowiki>}}
  
==== More about it ====
+
Se você deseja habilitar o modo pomíscuo na interface {{ic|eth0}}, execute [[habilite|''enable'']] {{ic|promiscuous@eth0.service}}.
  
This section is based on the LWN article [http://lwn.net/Articles/92727/ TCP window scaling and broken routers] and a Kernel Trap article: [http://kerneltrap.org/node/6723 Window Scaling on the Internet].
+
== Solução de problemas ==
  
There are also several relevant threads on the LKML.
+
=== Trocando computadores no modem a cabo ===
  
=== Realtek no link / WOL problem ===
+
Alguns ISP por cabo têm o modem a cabo configurado para reconhecer apenas um PC cliente, pelo endereço MAC da sua interface de rede. Uma vez que o modem a cabo aprendeu o endereço MAC do primeiro PC ou equipamento que fala com ele, ele não responderá de outro modo a outro endereço MAC. Assim, se você trocar um PC por outro (ou por um roteador), o novo PC (ou roteador) não funcionará com o modem a cabo, porque o novo PC (ou roteador) possui um endereço MAC diferente do antigo. Para reiniciar o modem a cabo para que reconheça o novo PC, você deve desligar e ligar o modem a cabo. Uma vez que o modem a cabo foi reiniciado e voltou totalmente on-line novamente (as luzes indicadoras foram instaladas), reinicie o PC recém-conectado para que ele faça uma solicitação DHCP ou faça com que ele solicite um novo ''lease'' (concessão) DHCP.
  
Users with Realtek 8168 8169 8101 8111(C) based NICs (cards / and on-board) may notice a problem where the NIC seems to be disabled on boot and has no Link light. This can usually be found on a dual boot system where Windows is also installed. It seems that using the offical Realtek drivers (dated anything after May 2007) under Windows is the cause. These newer drivers disable the Wake-On-LAN feature by disabling the NIC at Windows shutdown time, where it will remain disabled until the next time Windows boots. You will be able to notice if this problem is affecting you if the Link light remains off until Windows boots up; during Windows shutdown the Link light will switch off. Normal operation should be that the link light is always on as long as the system is on, even during POST. This problem will also affect other operative systems without newer drivers (eg. Live CDs). Here are a few fixes for this problem:
+
Caso este método não funcione, você deverá clonar o endereço MAC do computador original. Veja também [[MAC address spoofing]].
  
==== Method 1 - Rollback/change Windows driver ====
+
=== O problema de escala de janela TCP ===
  
You can roll back your Windows NIC driver to the Microsoft provided one (if available), or roll back/install an official Realtek driver pre-dating May 2007 (may be on the CD that came with your hardware).
+
Os pacotes TCP contêm um valor "janela" em seus cabeçalhos indicando quantos dados o outro host pode enviar em troca. Esse valor é representado com apenas 16 bits, então o tamanho da janela é no máximo 64Kb. Os pacotes TCP são armazenados em cache por um tempo (eles precisam ser reordenados) e, como a memória é (ou costumava ser) limitada, um host poderia ficar sem isso.
  
==== Method 2 - Enable WOL in Windows driver ====
+
Em 1992, à medida que mais e mais memória ficava disponível, [http://www.faqs.org/rfcs/rfc1323.html RFC 1323] foi escrito para melhorar a situação: escala de janela. O valor "janela", fornecido em todos os pacotes, será modificado por um Fator de Escala definido uma vez, no início da conexão. Esse Fator de Escala de 8 bits permite que a Janela seja até 32 vezes maior do que os 64Kb iniciais.
  
Probably the best and the fastest fix is to change this setting in the Windows driver. This way it should be fixed system-wide and not only under Arch (eg. live CDs, other operative systems). In Windows, under Device Manager, find your Realtek network adapter and double-click it. Under the Advanced tab, change "Wake-on-LAN after shutdown" to Enable.
+
Parece que alguns roteadores quebrados e firewalls na Internet estão reescrevendo o Fator de Escala para 0, o que causa mal-entendidos entre hosts. O kernel do Linux 2.6.17 introduziu um novo esquema de cálculo gerando maiores fatores de escala, tornando visíveis as consequências dos roteadores quebrados e dos firewalls.
  
In Windows XP (example)
+
A conexão resultante é no máximo muito lenta ou quebrada.
Right click my computer
 
--> Hardware tab
 
  --> Device Manager
 
    --> Network Adapters
 
      --> "double click" Realtek ...
 
        --> Advanced tab
 
          --> Wake-On-Lan After Shutdown
 
            --> Enable
 
  
{{Note|Newer Realtek Windows drivers (tested with ''Realtek 8111/8169 LAN Driver v5.708.1030.2008'', dated 2009/01/22, available from GIGABYTE) may refer to this option slightly differently, like ''Shutdown Wake-On-LAN --> Enable''. It seems that switching it to {{ic|Disable}} has no effect (you will notice the Link light still turns off upon Windows shutdown). One rather dirty workaround is to boot to Windows and just reset the system (perform an ungraceful restart/shutdown) thus not giving the Windows driver a chance to disable LAN. The Link light will remain on and the LAN adapter will remain accessible after POST - that is until you boot back to Windows and shut it down properly again.}}
+
==== Como diagnosticar o problema ====
  
==== Method 3 - Newer Realtek Linux driver ====
+
Antes de mais, vamos deixar claro: esse problema é estranho. Em alguns casos, você não poderá usar conexões TCP (HTTP, FTP, ...) e em outros, você poderá se comunicar com alguns hosts (muito poucos).
  
Any newer driver for these Realtek cards can be found for Linux on the realtek site. (untested but believed to also solve the problem).
+
Quando você tiver esse problema, a saída do {{ic|dmesg}} está normal, os logs estão limpos e {{ic|ip addr}} informará o estado como normal... e, na verdade, tudo parece normal.
  
==== Method 4 - Enable ''LAN Boot ROM'' in BIOS/CMOS ====
+
Se você não pode navegar em nenhum site, mas você pode fazer ping em alguns hosts aleatórios, você tem grande chances de estar enfrentando esse problema: o ping usa o ICMP e não é afetado pelos problemas do TCP.
  
It appears that setting ''Integrated Peripherals --> Onboard LAN Boot ROM --> Enabled'' in BIOS/CMOS reactivates the Realtek LAN chip on system boot-up, despite the Windows driver disabling it on OS shutdown.
+
Você pode tentar usar [[Wireshark (Português)|Wireshark]]. Você pode ver comunicações UDP e ICMP bem-sucedidas, mas comunicações TCP mal sucedidas (somente para hosts estrangeiros).
<br><small>This was tested successfully multiple times with GIGABYTE system board GA-G31M-ES2L with BIOS version F8 released on 2009/02/05. YMMV.</small>
 
  
=== DLink G604T/DLink G502T DNS problem ===
+
==== Formas de corrigi-lo ====
  
Users with a DLink G604T/DLink G502T router, using DHCP and have firmware v2.00+ (typically users with AUS firmware) may have problems with certain programs not resolving the DNS. One of these programs are unfortunatley pacman. The problem is basically the router in certain situations is not sending the DNS properly to DHCP, which causes programs to try and connect to servers with an IP address of 1.0.0.0 and fail with a connection timed out error
+
===== Ruim =====
  
==== How to diagnose the problem ====
+
Para corrigi-lo de forma incorreta, você pode alterar o valor {{ic|tcp_rmem}}, no qual o cálculo do Fator de Escala se baseia. Embora ele funcione para a maioria dos hosts, não é garantido, especialmente para os mais distantes.
  
The best way to diagnose the problem is to use Firefox/Konqueror/links/seamonkey and to enable wget for pacman. If this is a fresh install of Arch Linux, then you may want to consider installing {{ic|links}} through the live CD.
+
# echo "4096 87380 174760" > /proc/sys/net/ipv4/tcp_rmem
  
Firstly, enable wget for pacman (since it gives us info about pacman when it is downloading packages)
+
===== Bom =====
Open {{ic|/etc/pacman.conf}} with your favourite editor and uncomment the following line (remove the # if it is there)
 
  
XferCommand=/usr/bin/wget --passive-ftp -c -O %o %u
+
Simplesmente desative Escala de Janela. Como a Escala de Janela é um bom recurso TCP, pode ser desconfortável desativá-lo, especialmente se você não conseguir corrigir o roteador quebrado. Há várias maneiras de desativar Escala de Janela, e parece que a maneira mais segura (que funcionará com a maioria dos kernels) é adicionar a seguinte linha a {{ic|/etc/sysctl.d/99-disable_window_scaling.conf}} (veja também [[sysctl]]:
  
While you are editing {{ic|/etc/pacman.conf}}, check the default mirror that pacman uses to download packages.
+
net.ipv4.tcp_window_scaling = 0
  
Now open up the default mirror in an Internet browser to see if the mirror actually works. If it does work, then do {{ic|pacman -Syy}} (otherwise pick another working mirror and set it to the pacman default). If you get something similar to the following (notice the 1.0.0.0),
+
===== Melhor =====
  
<nowiki>ftp://mirror.pacific.net.au/linux/archlinux/extra/os/i686/extra.db.tar.gz</nowiki>
+
Esse problema é causado por roteadores/firewalls quebrados, então vamos mudá-los. Alguns usuários relataram que o roteador quebrado era o próprio roteador DSL.
            => '/var/lib/pacman/community.db.tar.gz.part'
 
Resolving mirror.pacific.net.au... 1.0.0.0
 
  
then you most likely have this problem. The 1.0.0.0 means it is unable to resolve DNS, so we must add it to {{ic|/etc/resolv.conf}}.
+
==== More about it ====
  
==== How to fix it ====
+
Essa seção é baseada nos artigos, em inglês, do LWN [http://lwn.net/Articles/92727/ Escala de janela e roteadores quebrados] e do Kernel Trap [http://kerneltrap.org/node/6723 Escala de Janela na Internet].
  
Basically what we need to do is to manually add the DNS servers to our {{ic|/etc/resolv.conf}} file. The problem is that DHCP automatically deletes and replaces this file on boot, so we need to edit {{ic|/etc/conf.d/dhcpcd}} and change the flags to stop DHCP from doing this.
+
Há também vários tópicos relevantes no LKML.
  
When you open {{ic|/etc/conf.d/dhcpcd}}, you should see something close to the following:
+
=== Realtek sem link / Problema com WOL ===
  
DHCPCD_ARGS="-t 30 -h $HOSTNAME"
+
Os usuários com o Realtek 8168 8169 8101 8111(C) baseados em NIC (placas e ''on-board'') podem notar um problema onde a NIC parece estar desativada na inicialização e não tem nenhuma luz no Link. Isso geralmente pode ser encontrado em um sistema de ''dual boot'', onde o Windows também está instalado. Parece que o uso dos drivers oficiais do Realtek (datado de qualquer coisa após maio de 2007) no Windows é a causa. Esses drivers mais recentes desativam o recurso Wake-On-LAN desabilitando a NIC no tempo de desligamento do Windows, onde ele permanecerá desabilitado até a próxima vez que o Windows for inicializado. Você poderá notar se esse problema está afetando você se a luz do Link estiver desligada até que o Windows seja iniciado; durante o desligamento do Windows, a luz do link será desligada. A operação normal deve ser que a luz do link esteja sempre ativada enquanto o sistema estiver ligado, mesmo durante o POST. Este problema também afetará outros sistemas operacionais sem drivers mais recentes (por exemplo, Live CDs). Aqui estão algumas correções para este problema.
  
Add the {{ic|-R}} flag to the arguments, e.g.,
+
==== Habilitando a NIC diretamente no Linux ====
  
DHCPCD_ARGS="-R -t 30 -h $HOSTNAME"
+
Siga [[#Habilitando e desabilitando interfaces de rede]] para habilitar a interface.
  
{{Note|1=If you are using {{Pkg|dhcpcd}} >= 4.0.2, the {{ic|-R}} flag has been deprecated. Please see the [[#For DHCP assigned IP address]] section for information on how to use a custom {{ic|/etc/resolv.conf}} file.}}
+
==== Revertendo/alterando driver do Windows ====
  
Save and close the file; now open {{ic|/etc/resolv.conf}}. You should see a single nameserver (most likely 10.1.1.1). This is the gateway to your router, which we need to connect to in order to get the DNS servers of your ISP. Paste the IP address into your browser and log in to your router. Go to the DNS section, and you should see an IP address in the Primary DNS Server field; copy it and paste it as a nameserver '''ABOVE''' the current gateway one.
+
Você pode reverter o driver de NIC do Windows para o fornecido pela Microsoft (se disponível), ou reverter/instalar um driver Realtek oficial pré-datado de maio de 2007 (pode estar no CD que acompanhou o hardware).
  
For example, {{ic|/etc/resolv.conf}} should look something along the lines of:
+
==== Habilitando WOL no driver do Windows ====
  
nameserver 10.1.1.1
+
Provavelmente a melhor e mais correção é mudar essa configuração no driver do Windows. Desta forma, ele deve ser corrigido em todo o sistema e não apenas em Arch (ex.:, Live CDs, outros sistemas operacionais). No Windows, no Gerenciamento de dispositivos, encontre seu adaptador de rede Realtek e clique duas vezes nele. Na guia "Avançado", altere "Wake-on-LAN após o desligamento" para "Ativar".
  
If my primary DNS server is 211.29.132.12, then change {{ic|/etc/resolv.conf}} to:
+
No Windows XP (exemplo):
  
nameserver 211.29.132.12
+
  Realize duple clique no meu computador e escolha "Propriedades"
nameserver 10.1.1.1
+
  --> Aba "Hardware"
 +
  --> Gerenciamento de dispositivo
 +
    --> Adaptadores de rede
 +
      --> "duplo clique" Realtek ...
 +
        --> Aba "Avançada"
 +
          --> Wake-On-Lan após o desligamento
 +
            --> Habilitar
  
Now restart the network daemon by running {{ic|systemctl restart dhcpcd@<interface>}} and do {{ic|pacman -Syy}}. If it syncs correctly with the server, then the problem is solved.
+
{{Nota|Novos drivers Windows do Realtek (testados com ''Realtek 8111/8169 LAN Driver v5.708.1030.2008'', datado de 2009/01/22, disponível da GIGABYTE) podem se referir a esta opção de forma ligeiramente diferente, como ''Desligar Wake-On-LAN > Ativar''. Parece que mudar para {{ic|Desativar}} não tem efeito (você notará que a luz do link ainda está desligada no desligamento do Windows). Uma solução de contorno ruim é inicializar no Windows e apenas reiniciar o sistema (executar um reinício/desligamento desagradável), portanto, não dar ao driver do Windows a chance de desabilitar a LAN. A luz de link permanecerá ativada e o adaptador de LAN permanecerá acessível após o POST - isto é, até reiniciar o Windows e desligá-lo corretamente novamente.}}
  
==== More about it ====
+
==== Driver Realtek mais novo para Linux ====
  
This is the whirlpool forum (Australian ISP community) which talks about and gives the same solution to the problem:
+
Qualquer driver mais recente para estas placas Realtek pode ser encontrado para o Linux no site da Realtek (não testado, mas acredita que também resolve o problema).
  
http://forums.whirlpool.net.au/forum-replies-archive.cfm/461625.html
+
==== Ativando LAN Boot ROM na BIOS/CMOS ====
  
=== Check DHCP problem by releasing IP first ===
+
Parece que a configuração ''Periféricos integrados > Onboard LAN Boot ROM > Ativado'' na BIOS/CMOS reativa o chip de LAN da Realtek na inicialização do sistema, apesar do driver do Windows desabilitando no desligamento do sistema operacional.
  
Problem may occur when DHCP get wrong IP assignment. For example when two routers are tied together through VPN. The router that is connected to me by VPN may assigning IP address. To fix it. On a console, as root, release IP address:
+
{{Nota|Isso foi testado várias vezes em uma placa-mãe GIGABYTE GA-G31M-ES2L, BIOS versão F8 lançada em 2009/02/05.}}
  
# dhcpcd -k
+
=== No interface with Atheros chipsets ===
  
Then request a new one:
+
Os usuários de alguns chips de Ethernet da Atheros estão relatando que não funciona pronto para uso (com mídia de instalação de fevereiro de 2014). A solução de trabalho para isso é instalar {{AUR|backports-patched}}.
  
# dhcpcd
+
=== Broadcom BCM57780 ===
  
Maybe you had to run those two commands many times.
+
Este chipset Broadcom às vezes não se comporta bem, a menos que você especifique a ordem dos módulos a serem carregados. Os módulos são {{ic|broadcom}} e {{ic|tg3}}, o primeiro que precisa ser carregado primeiro.
  
=== No eth0 with Atheros AR8161 ===
+
Essas etapas devem ajudar se o seu computador tiver esse chipset:
  
{{Note|With the 3.10.2-1-ARCH kernel update, the alx ethernet driver module is included in the package.}}
+
* Localize sua NIC na saída do ''lspci'':
  
With the Atheros AR8161 Gigabit Ethernet card, the ethernet connection is not working out-of-the-box (with the installation media of March 2013). The module "alx" needs to be loaded but is not present.
+
{{hc|$ lspci {{!}} grep Ethernet|
 +
02:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)
 +
}}
  
The driver from [http://linuxwireless.org/en/users/Download/stable/#compat-wireless_stable_releases compat-wireless] (that has become [https://backports.wiki.kernel.org/index.php/Releases compat-drives] since linux 3.7) need to be installed. The "-u" postfix annotates that Qualcomm have applied a driver under a unified driver.
+
* Se sua rede com fio não estiver funcionando de alguma maneira, desconecte seu cabo e, em seguida, faça o seguinte:
  $ wget https://www.kernel.org/pub/linux/kernel/projects/backports/2013/03/28/compat-drivers-2013-03-28-5-u.tar.bz2
 
  $ tar xjf compat*
 
  $ cd compat*
 
  $ ./scripts/driver-select alx
 
  $ make
 
  $ sudo make install
 
  $ sudo modprobe alx
 
  
The alx driver has not been added to Linux kernel due to various problems. Compatibility between the different kernel versions has been spotty. For better support follow the [http://lists.infradead.org/mailman/listinfo/unified-drivers mailing list]and [http://www.linuxfoundation.org/collaborate/workgroups/networking/alx alx page]for latest working solution for alx.
+
# modprobe -r tg3
 +
# modprobe broadcom
 +
# modprobe tg3
  
The driver must be built and installed after every kernel change.
+
* Conecte seu cabo de rede de volta e verifique se o módulo foi carregado com sucesso com:
  
Alternatively you can use the AUR package for [https://aur.archlinux.org/packages/compat-drivers-patched/ compat drivers], which installs many other drivers.
+
$ dmesg | greg tg3
  
=== No eth0 with Atheros AR9485 ===
+
* Se esse procedimento resolveu o problema, você pode torná-lo permanente adicionando {{ic|broadcom}} e {{ic|tg3}} (nesta ordem) para o vetor {{ic|MODULES}}:
 +
{{hc|/etc/mkinitcpio.conf|2=MODULES=(.. broadcom tg3 ..)}}
  
The ethernet (eth0) for Atheros AR9485 are not working out-of-the-box (with installation media of March 2013). The working solution for this is to install the package [https://aur.archlinux.org/packages/compat-drivers-patched/ compat-drivers-patched] from AUR.
+
* [[Regenerate the initramfs|Gere novamente o initramfs]]
 +
* Alternativamente, você pode criar um {{ic|/etc/modprobe.d/broadcom.conf}}:
  
=== No carrier / no connection after suspend ===
+
softdep tg3 pre: broadcom
After suspend to RAM no connection is found although the network cable is plugged in.
 
This may be caused by PCI power management. What is the output of
 
  
# ip link show eth0
+
{{Nota|Esses métodos podem funcionar para outros chipsets, tal como BCM57760.}}
  
If the line contains "NO-CARRIER" even though there's a cable connected to your eth0 port, it is possible that the device was auto-suspended and the media sense feature doesn't work. To solve this, first you need to find your ethernet controllers PCI address by
+
=== Realtek RTL8111/8168B ===
  
# lspci
+
{{hc|# lspci {{!}} grep Ethernet|
 
+
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
This should look similar to this:
+
}}
 
 
...
 
00:19.0 Ethernet controller: Intel Corporation 82577LM Gigabit Network Connection (rev 06)
 
...
 
 
 
So the address is 00:19.0.
 
Now check the PM status of the device by issuing
 
 
 
# cat "/sys/bus/pci/devices/0000:00:19.0/power/control"
 
 
 
substituting 00:19.0 with the address obtained from lspci.
 
If the output reads "auto", you can try to bring the device out of suspend by
 
 
 
# echo on > "/sys/bus/pci/devices/0000:00:19.0/power/control"
 
 
 
Don't forget to substitute the address again.
 
 
 
{{Note|1=This appears to be a bug in kernel 3.8.4.1- (3.8.8.1 is still affected): [https://bbs.archlinux.org/viewtopic.php?id=159837&p=2 Forum discussion.] It also appears a fix is [https://lkml.org/lkml/2013/1/18/147 on the way. (It will be likely fixed in 3.9.)] In the meantime, the above is a suitable workaround.}}
 
 
 
=== PC Pingable by IP but not by hostname? ===
 
This issue hunted me for months! Turns out to be a very simple fix IF you are using samba as well. Usually people only start smbd which is enough for network access to work, but does not advocate the pc's name to the router. nmbd is doing that so you should always have:
 
systemctl enable smbd.service
 
systemctl enable nmbd.service
 
 
 
Which makes them run at startup. If you don't want to restart then you can start then right away with:
 
systemctl start smbd.service
 
systemctl start nmbd.service
 
 
 
And that makes the computer available by name on the network.
 
  
=== Broadcom BCM57780 ===
+
O adaptador deve ser reconhecido pelo módulo {{ic|r8169}}. No entanto, com algumas revisões de chips, a conexão pode cair e voltar o tempo todo. A alternativa {{Pkg|r8168}} deve ser usada para uma conexão confiável neste caso. [[Blacklist|Lista negra]] {{ic|r8169}}, se {{Pkg|r8168}} não for carregado automaticamente pelo [[udev]], veja [[Kernel modules#Automatic module handling]].
  
This Broadcom chipset sometimes does not behave well unless you specify the order of the modules to be loaded. The modules are {{ic|broadcom}} and {{ic|tg3}}, the former needing to be loaded first.
+
Outra falha nos drivers para algumas revisões deste adaptador é um suporte fraco de IPv6. [[IPv6#Disable functionality]] pode ser útil se você encontrar problemas como pendurar páginas da web e velocidades lentas.
  
These steps should help if your computer has this chipset:
+
=== Placa-mãe Gigabyte com Realtek 8111/8168/8411 ===
$ lspci | grep Ethernet
 
02:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)
 
  
If your wired networking is not functioning in some way or another, try unplugging your cable then doing the following (as root):
+
Com placas-mãe como o ''Gigabyte GA-990FXA-UD3'', inicializar com [[PCI passthrough via OVMF#Setting up IOMMU|IOMMU]] desligado (o que pode ser o padrão) fará com que a interface de rede não seja confiável, muitas vezes não conseguindo se conectar, ou até conectar mas não permitindo a transferência. Isso se aplicará à NIC ''on-board'' e para qualquer outra NIC pci na máquina porque a configuração IOMMU afeta toda a interface de rede na placa. Habilitar o IOMMU e inicializar com a mídia de instalação lançará as falhas da página AMD I-10/xhci por um segundo, mas depois inicializará normalmente, resultando em uma NIC ''onboard'' totalmente funcional (mesmo com o módulo r8169).
# modprobe -r tg3
 
# modprobe broadcom
 
# modprobe tg3
 
  
Now plug you network cable in. If this solves your problems you can make this permanent by adding {{ic|broadcom}} and {{ic|tg3}} (in this order) to the {{ic|MODULES}} array in {{ic|/etc/mkinitcpio.conf}}:
+
Ao configurar o processo de inicialização para sua instalação, adicione {{ic|1=iommu=soft}} como um [[kernel parameter|parâmetro de kernel]] para eliminar as mensagens de erro na inicialização e restaurar a funcionalidade USB3.0.
MODULES=".. broadcom tg3 .."
 
  
Then rebuild the initramfs:
+
== Veja também ==
# mkinitcpio -p linux
 
  
{{Note|These methods may work for other chipsets, such as BCM57760.}}
+
* [https://www.tldp.org/LDP/nag2/index.html Linux Network Administrators Guide]
 +
* [https://www.debian.org/doc/manuals/debian-reference/ch05.en.html Referência do Debian: Configuração de Rede]
 +
* [https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/ RHEL7: Guia de Rede]
 +
* [http://www.linuxhomenetworking.com/wiki/ Linux Home Networking]
 +
* [https://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/ Monitorando e ajustando o Linux a Pilha de Conectividade: Recebendo dados]
 +
* [https://blog.packagecloud.io/eng/2017/02/06/monitoring-tuning-linux-networking-stack-sending-data/ Monitorando e ajustando o Linux a Pilha de Conectividade: Enviando dados]
 +
* [http://blog.yadutaf.fr/2017/07/28/tracing-a-packet-journey-using-linux-tracepoints-perf-ebpf/ Rastreamento de uma viagem de pacotes usando tracepoints, perf e eBPF]

Latest revision as of 14:14, 26 May 2018

Esse artigo explica como configurar uma conexão de rede.

Verificar a conexão

Para solucionar problemas de uma conexão de rede, siga as seguintes condições e assegure-se de atendê-las:

  1. Suas interfaces de rede estão listadas e habilitadas.
  2. Você está conectado à rede. O cabo está conectado ou você está conectado com a rede sem fio.
  3. Sua interface de rede tem um endereço IP.
  4. Sua tabela de roteamento está configurada corretamente.
  5. Você pode pingar um endereço IP local (por exemplo, seu gateway padrão).
  6. Você pode pingar um endereço IP público (por exemplo, 8.8.8.8); se não puder, pode estar relacionado ao seu gateway padrão ou ao seu provedor de serviços de Internet.
  7. Verifique se você consegue resolver nomes de domínio (por exemplo, archlinux.org).
Nota: 8.8.8.8 é um endereço estático fácil de lembrar. É o endereço do servidor DNS primário do Google, portanto, pode ser considerado confiável e geralmente não é bloqueado por sistemas de filtragem de conteúdo e proxies.

Ping

ping é usado para testar se você consegue alcançar um host.

$ ping www.example.com
PING www.example.com (93.184.216.34): 56(84) data bytes
64 bytes from 93.184.216.34: icmp_seq=0 ttl=56 time=11.632 ms
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=11.726 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=10.683 ms
...

Para cada resposta que você recebe, o ping imprime uma linha como acima. Para mais informações, consulte o manual ping(8).

Observe que os computadores podem ser configurados para não responder às solicitações de echo ICMP.[1]

Quando você não receber nenhuma resposta, você pode usar um traceroute (traceroute(8) ou tracepath(8)) para diagnosticar ainda mais a rota para o host.

Nota: Se você receber um erro como ping: icmp open socket: Operation not permitted ao executar ping, tente reinstalar o pacote iputils.

Driver de dispositivo

Verificando o estado

O udev deve detectar sua interface de rede (em inglês, network interface controller ou NIC) e carregará automaticamente o módulo de kernel necessário na inicialização. Verifique pela entrada "Ethernet controller" (ou similar) no resultado do comando lspci -v. Este comando dirá qual módulo do kernel é necessário para o funcionamento do dispositivo. Por exemplo:

$ lspci -v
02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
 	...
 	Kernel driver in use: atl1
 	Kernel modules: atl1

Após, veja se o driver foi carregado usando dmesg | grep nome_módulo. Exemplo:

$ dmesg 
 grep | atl1

Pule para a próxima sessão caso o driver tenha sido carregado com sucesso. Caso contrário, você precisará descobrir qual é o módulo necessário para o seu modelo de interface de rede em específico.

Carregando o módulo

Pesquise na internet pelo modelo/driver para o seu chipset. Algumas módulos comuns são 8139too para as placas com um chipset da Realtek, ou sis900 para placas com um chipset da SiS. Assim que descobrir qual módulo deve usar, tente carregar o módulo manualmente. Caso você esbarre com algum erro dizendo que o módulo não foi encontrado, é possível que o driver não foi incluído no kernel do Arch Linux. Tente procurar no AUR pelo nome do módulo.

Caso o udev não detecte ou não carregue o módulo de forma apropriada e automaticamente durante o boot, veja Kernel modules#Automatic module handling.

Gerenciamento de rede

Para configurar uma conexão de rede, siga as etapas abaixo:

  1. Certifique-se que sua interface de rede está listada e habilitada.
  2. Conecte à rede. Conecte o cabo de rede ou conecte à rede sem fio.
  3. Configure sua conexão de rede:
Dica: #Gerenciadores de rede fornecem configuração e conexão de rede automática baseada em perfis de rede.

O pacote iproute2 fornece o utilitário de linha de comando ip(8), usado para gerenciar interfaces de rede, endereços IP e a tabela de roteamento. Saiba que a configuração feita usando ip será perdida após a inicialização. Você pode automatizar comandos ip usando scripts e units de systemd. Também note que comandos ip podem de forma geral ser abreviados, mas, para melhor clareza, eles são expressos na forma longa neste artigo.

Interfaces de rede

Por padrão, o udev atribui nomes para suas interfaces de rede usando Predictable Network Interface Names, que prefixam nomes de interfaces com en (cabeada/Ethernet), wl (sem fio/wireless/WLAN) ou ww (WWAN).

Dica: Para alterar os nomes de dispositivos, veja #Alterando o nome da interface e #Revertendo para nomes tradicionais de dispositivos.

Listando interfaces de rede

Ambos nomes de interfaces com e sem fio podem ser descobertos por meio de ls /sys/class/net ou ip link. Note que lo é o dispositivo loop ou de laço e não é usado para fazer conexões de rede.

Nomes de dispositivos sem fio também podem ser obtidos usando iw dev. Veja também Configuração de rede sem fio#Obter o nome da interface.

Se sua interface de rede não estiver listada, certifique-se que seu driver de dispositivo foi carregado com sucesso.

Habilitando e desabilitando interfaces de rede

Interfaces de rede podem ser habilitadas/desabilitadas usando ip link set interface up|down. Veja ip-link(8).

Para verificar o status da interface eth0:

$ ip link show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN mode DEFAULT qlen 1000
...

O UP em <BROADCAST,MULTICAST,UP,LOWER_UP> é o que indica a interface está ativa, e não o state DOWN posterior.

Nota: Se sua rota padrão é por meio da interface eth0, desabilitá-la também vai remover a rota e reativá-la não vai restabelecer automaticamente a rota padrão. Veja #Atribuição manual para restabelecê-la.

Endereço IP estático

Um endereço IP estático pode ser configurado com a maioria dos gerenciadores de rede padrão e também dhcpcd.

Para configurar manualmente um endereço IP estático, adicione um endereço IP como descrito em #Endereços IP, configure sua tabela de roteamento e configure seus servidores DNS.

Endereços IP

Endereços IP são gerenciados usando ip-address(8).

Liste endereços IP:

$ ip address show

Adicione um endereço IP a uma interface:

# ip address add endereço/tam_prefixo broadcast + dev interface
Note que:
Nota: Certifique-se que endereços IP atribuídos manualmente não conflitem com os atribuídos por DHCP. Veja esse tópico do fórum.

Exclui um endereço IP de uma interface:

$ ip address del endereço/tam_prefixo dev interface

Exclui todos os endereços correspondendo a um critério, por exemplo, de uma interface específica:

$ ip address flush dev interface
Dica: Endereços IP podem ser calculados com ipcalc (ipcalc).

Tabela de roteamento

A tabela de roteamento é usada para determinar se você pode alcançar um endereço IP diretamente ou qual gateway (roteador) você deve usar. Se nenhuma rota corresponde ao endereço IP, o gateway padrão é usado.

A tabela de roteamento é gerenciada usando ip-route(8).

PREFIXO é uma notação CIDR ou default para o gateway padrão.

Lista rotas:

$ ip route show

Adiciona uma rota:

# ip route add PREFIXO via endereço dev interface

Exclui uma rota:

# ip route del PREFIXO via endereço dev interface

DHCP

Um servidor Dynamic Host Configuration Protocol (DHCP) fornece aos clientes um endereço IP dinâmico, a máscara de sub-rede, o endereço IP do gateway padrão e, opcionalmente, também servidores de nome DNS.

Nota: Você não deve executar dois clientes DHCP simultaneamente.

Para usar DHCP, você precisa de um servidor DHCP em sua rede e um cliente DHCP:

Cliente Pacote Archiso Nota Units de systemd
dhcpcd dhcpcd Sim DHCP, DHCPv6, ZeroConf, IP estático dhcpcd.service, dhcpcd@interface.service
ISC dhclient dhclient Sim DHCP, BOOTP, IP estático dhclient@interface.service

Note que em vez de usar diretamente um cliente DHCP, você também pode usar um gerenciador de rede.

Dica: Você pode verificar se um servidor DHCP estiver funcionando com dhcping.

Gerenciadores de rede

Um gerenciador de rede permite que você gerencie configurações de conexão de rede nos chamados peris de rede para facilitar a troca de redes.

Nota: Existem muitas soluções para escolher, mas lembre-se de que todas elas são mutuamente exclusivas; você não deve executar dois daemons simultaneamente.
Gerenciador
de rede
Lida com conexões
cabeadas
GUI Archiso [2] Ferramentas CLI Suporte a PPP
(ex., Modem 3G)
Cliente #DHCP Units de systemd
ConnMan Sim 8 não oficiais Não connmanctl(1) Sim interno connman.service
netctl Sim 2 não oficiais Sim (base) netctl(1), wifi-menu Sim dhcpcd ou dhclient netctl-ifplugd@interface.service, netctl-auto@interface.service
NetworkManager Sim Sim Não nmcli(1), nmtui(1) Sim internal, dhcpcd ou dhclient NetworkManager.service
systemd-networkd Sim Não Sim (base) Não  ? interno systemd-networkd.service, systemd-resolved.service
Wicd Sim Sim Não wicd-cli(8), wicd-curses(8) Não dhcpcd wicd.service
Wifi Radar Não Sim Não Não Não qualquer (apenas executa comando)

Veja também List of applications#Network managers.

Configurando um hostname

Um hostname, ou "nome de máquina", é um nome único criado para identificar uma máquina em uma rede, configurada em /etc/hostname — veja hostname(5) e hostname(7) para detalhes. O arquivo pode conter o nome de domínio do sistema, se houver. Para configurar o hostname, edite /etc/hostname para incluir uma única linha com meuhostname:

/etc/hostname
meuhostname
Dica: Para um conselho quanto ao hostname, veja RFC 1178.

Alternativamente, usando hostnamectl(1):

# hostnamectl set-hostname meuhostname

Para definir temporariamente o hostname (até reiniciar), use hostname(1) do inetutils:

# hostname meuhostname

Para configurar um hostname "bonito" e outros metadados de máquina, veja machine-info(5).

Resolução de hostname local

O módulo Name Service Switch (NSS) myhostname do systemd fornece resolução de hostname local sem ter que editar /etc/hosts (hosts(5)). Ele está habilitado por padrão.

Alguns clientes, porém, podem depender de /etc/hosts, veja [3] [4] por exemplos.

Para configurar o arquivo hosts, adicione a seguinte linha ao /etc/hosts:

127.0.1.1	meuhostname.dominiolocal	meuhostname
Nota: A ordem de hostnames/aliases que seguem o endereço IP no /etc/hosts é relevante. A primeira string é considerada o hostname canônico e pode ser adicionada a domínios pais, sendo os componentes de domínio separados por um ponto (p. ex., .dominiolocal acima). Todas as strings a seguir na mesma linha são considerados aliases. Veja hosts(5) para mais informações.

Como um resultado, o sistema resolve ambas entradas:

$ getent hosts
127.0.0.1       localhost
127.0.1.1       meuhostname.dominiolocal meuhostname

Para um sistema com um endereço IP permanente, esse endereço IP permanente deve ser usado em vez de 127.0.1.1.

Resolução de hostname de rede local

Para tornar sua máquina acessível em sua LAN por seu hostname, você pode:

  • editar o arquivo /etc/hosts para todo dispositivio em sua LAN, veja hosts(5)
  • configurar um servidor DNS para resolver seu hostname e faça com que os dispositivos LAN o usem (ex., por #DHCP)
  • ou a forma fácil: use um serviço Zero-configuration networking:
    • Samba fornece resolução de nomes via NetBIOS da Microsoft. Ele precisa da instalação do samba e habilitação do serviço nmbd.service. Computadores usando Windows, macOS ou Linux com nmbd ativo, serão capazes de localizar sua máquina.
    • Avahi fornece resolução de nomes via zeroconf, também conhecido como Avahi ou Bonjour. É necessário uma configuração um pouco mais complexa que o Samba: veja Avahi#Hostname resolution para detalhes details. Computadores usando macOS, ou Linux com um daemon Avahi ativo, serão capazes de localizar sua máquina. Windows não têm um cliente ou daemon Avahi incorporados.

Dicas e truques

Alterando o nome da interface

Nota: Ao alterar o esquema de nomes de interface, não se esqueça de atualizar todos os arquivos de configuração relacionados a rede e arquivos personalizados de unit de systemd para refletir a alteração.

Você pode alterar o nome de um dispositivo definindo o nome em uma regra de udev. Exemplo:

/etc/udev/rules.d/10-network.rules
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="aa:bb:cc:dd:ee:ff", NAME="net1"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ee:dd:cc:bb:aa", NAME="net0"

Essas regras serão aplicadas automaticamente na inicialização.

Alguns detalhes devem ser ressaltados:

  • Para obter o endereço MAC de cada placa de rede, utilize o comando: cat /sys/class/net/nome_dispositivo/address
  • Certifique-se de usar valores hexadecimais minúsculos em suas regras de udev. Ele não gosta de letras maiúsculas.

Se a placa de rede possui um MAC dinâmico, você pode usar DEVPATH, por exemplo:

/etc/udev/rules.d/10-network.rules
SUBSYSTEM=="net", DEVPATH=="/devices/platform/wemac.*", NAME="int"
SUBSYSTEM=="net", DEVPATH=="/devices/pci*/*1c.0/*/net/*", NAME="en"

O caminho do dispositivo deve corresponder ao nome do dispositivo novo e antigo, uma vez que a regra pode ser executada mais de uma vez na inicialização. Por exemplo, na segunda regra, "/devices/pci*/*1c.0/*/net/enp*" seria errado, uma vez que irá parar de corresponder depois que o nome for alterado para en. Somente a regra padrão do sistema será chamada na segunda vez, fazendo com que o nome seja alterado de volta para, por exemplo, enp1s0.

Para testar suas regras, elas podem ser acionadas diretamente do espaço de usuário, por exemplo, com udevadm --debug test /sys/CAMINHO_DISPOSITIVO. Lembre-se de primeiro retirar a interface que você está tentando renomear (ex. ip link set enp1s0 down).

Nota: Ao escolher os nomes estáticos deve-se evitar o uso de nomes no formato de "ethX" e "wlanX", pois eles podem levar a codiçẽos de corrida entre o kernel e udev durante a inicialização. Em vez disso, é melhor usar nomes de interface que não são usados pelo kernel como padrão, ex.: net0, net1, wifi0, wifi1. Para detalhes adicionais, por favor veja a documentação do systemd.

Revertendo para nomes tradicionais de interfaces

Se você preferir manter os nomes de interface tradicionais, como eth0, Predictable Network Interface Names podem ser desabilitados mascarando a regra de rule:

# ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

Alternativamente, adicione net.ifnames=0 aos parâmetros do kernel.

Definindo o MTU do dispositivo e o tamanho da fila

Você pode alterar o MTU do dispositivo e o tamanho da fila ao definir manualmente com uma regra de udev. Por exemplo:

/etc/udev/rules.d/10-network.rules
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wl*", ATTR{mtu}="1500", ATTR{tx_queue_len}="2000"
Nota:
  • mtu: Para PPPoE, o MTU não deve ser maior que 1492. Você também pode definir o MTU via systemd.netdev(5).
  • tx_queue_len: Valores pequenos para dispositivos menores com uma latência maior, como modens e ISDN. Valor alto é recomendado para servidor conectado por meio conexões de Internet de alta velocidade que realiza grandes transferências de dados.

ifplugd for laptops

Dica: dhcpcd fornece o mesmo recurso pronto para uso.

O ifplugd é um daemon que configura automaticamente seu dispositivo Ethernet quando um cabo é conectado e desconfigura automaticamente quando desconectado. É útil para laptops com adaptadores de rede onboards, pois configurará a interface quando um cabo realmente for conectado. Outro uso é quando você deseja reiniciar as configurações de rede mas não deseja reiniciar o computador ou deseja fazer isto via linha de comando.

Por padrão, ele é configurado para funcionar para o dispositivo eth0. Estas e outras configurações como tempo de espera podem ser alterados no arquivo /etc/ifplugd/ifplugd.conf.

Nota: O pacote netctl inclui netctl-ifplugd@.service, do contrário você pode usar ifplugd@.service do pacote ifplugd. Por exemplo, habilite ifplugd@eth0.service.

Bonding e LAG(agregação de LINK)

Veja netctl#Bonding ou Wireless bonding.

Aliasing de endereço IP

IP aliasing é o processo de adicionar mais de um endereço IP para uma interface de rede. Como isso, um nó em uma rede pode ter múltiplas conexões com uma rede, cada uma servindo um propósito diferente. Usos típicos são hospedagem virtual de servidores Web e FTP ou reorganização de servidores sem ter que atualizar qualquer outras máquinas (isso é especialmente útil para servidores de nome).

Exemplo

Para definir manualmente um alias, para algumas interfaces de rede, use iproute2 para executar

# ip addr add 192.168.2.101/24 dev eth0 label eth0:1

Para remover um dado alias, execute

# ip addr del 192.168.2.101/24 dev eth0:1

Os pacotes de rede destinados para uma sub-rede vão usar o alias primário por padrão. Se o IP de destino está dentro de uma sub-rede de um alias secundário, então o IP fonte está definido respectivamente. Considere o caso em que há mais de uma interface de rede, as rotas padrão podem ser listadas com ip route.

Modo promíscuo

Ativar modo promíscuo fará com que uma interface de rede (sem fio) encaminhe todo o tráfego que receber para o sistema operacional para processamento posterior. Isso é contrário ao "modo normal" onde uma interface de rede irá descartar quadros que não pretende receber. É usado com mais frequência para solução de problemas avançados de rede e análise de pacotes (sniffing).

/etc/systemd/system/promiscuous@.service
[Unit]
Description=Set %i interface in promiscuous mode
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/bin/ip link set dev %i promisc on
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Se você deseja habilitar o modo pomíscuo na interface eth0, execute enable promiscuous@eth0.service.

Solução de problemas

Trocando computadores no modem a cabo

Alguns ISP por cabo têm o modem a cabo configurado para reconhecer apenas um PC cliente, pelo endereço MAC da sua interface de rede. Uma vez que o modem a cabo aprendeu o endereço MAC do primeiro PC ou equipamento que fala com ele, ele não responderá de outro modo a outro endereço MAC. Assim, se você trocar um PC por outro (ou por um roteador), o novo PC (ou roteador) não funcionará com o modem a cabo, porque o novo PC (ou roteador) possui um endereço MAC diferente do antigo. Para reiniciar o modem a cabo para que reconheça o novo PC, você deve desligar e ligar o modem a cabo. Uma vez que o modem a cabo foi reiniciado e voltou totalmente on-line novamente (as luzes indicadoras foram instaladas), reinicie o PC recém-conectado para que ele faça uma solicitação DHCP ou faça com que ele solicite um novo lease (concessão) DHCP.

Caso este método não funcione, você deverá clonar o endereço MAC do computador original. Veja também MAC address spoofing.

O problema de escala de janela TCP

Os pacotes TCP contêm um valor "janela" em seus cabeçalhos indicando quantos dados o outro host pode enviar em troca. Esse valor é representado com apenas 16 bits, então o tamanho da janela é no máximo 64Kb. Os pacotes TCP são armazenados em cache por um tempo (eles precisam ser reordenados) e, como a memória é (ou costumava ser) limitada, um host poderia ficar sem isso.

Em 1992, à medida que mais e mais memória ficava disponível, RFC 1323 foi escrito para melhorar a situação: escala de janela. O valor "janela", fornecido em todos os pacotes, será modificado por um Fator de Escala definido uma vez, no início da conexão. Esse Fator de Escala de 8 bits permite que a Janela seja até 32 vezes maior do que os 64Kb iniciais.

Parece que alguns roteadores quebrados e firewalls na Internet estão reescrevendo o Fator de Escala para 0, o que causa mal-entendidos entre hosts. O kernel do Linux 2.6.17 introduziu um novo esquema de cálculo gerando maiores fatores de escala, tornando visíveis as consequências dos roteadores quebrados e dos firewalls.

A conexão resultante é no máximo muito lenta ou quebrada.

Como diagnosticar o problema

Antes de mais, vamos deixar claro: esse problema é estranho. Em alguns casos, você não poderá usar conexões TCP (HTTP, FTP, ...) e em outros, você poderá se comunicar com alguns hosts (muito poucos).

Quando você tiver esse problema, a saída do dmesg está normal, os logs estão limpos e ip addr informará o estado como normal... e, na verdade, tudo parece normal.

Se você não pode navegar em nenhum site, mas você pode fazer ping em alguns hosts aleatórios, você tem grande chances de estar enfrentando esse problema: o ping usa o ICMP e não é afetado pelos problemas do TCP.

Você pode tentar usar Wireshark. Você pode ver comunicações UDP e ICMP bem-sucedidas, mas comunicações TCP mal sucedidas (somente para hosts estrangeiros).

Formas de corrigi-lo

Ruim

Para corrigi-lo de forma incorreta, você pode alterar o valor tcp_rmem, no qual o cálculo do Fator de Escala se baseia. Embora ele funcione para a maioria dos hosts, não é garantido, especialmente para os mais distantes.

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

Simplesmente desative Escala de Janela. Como a Escala de Janela é um bom recurso TCP, pode ser desconfortável desativá-lo, especialmente se você não conseguir corrigir o roteador quebrado. Há várias maneiras de desativar Escala de Janela, e parece que a maneira mais segura (que funcionará com a maioria dos kernels) é adicionar a seguinte linha a /etc/sysctl.d/99-disable_window_scaling.conf (veja também sysctl:

net.ipv4.tcp_window_scaling = 0
Melhor

Esse problema é causado por roteadores/firewalls quebrados, então vamos mudá-los. Alguns usuários relataram que o roteador quebrado era o próprio roteador DSL.

More about it

Essa seção é baseada nos artigos, em inglês, do LWN Escala de janela e roteadores quebrados e do Kernel Trap Escala de Janela na Internet.

Há também vários tópicos relevantes no LKML.

Realtek sem link / Problema com WOL

Os usuários com o Realtek 8168 8169 8101 8111(C) baseados em NIC (placas e on-board) podem notar um problema onde a NIC parece estar desativada na inicialização e não tem nenhuma luz no Link. Isso geralmente pode ser encontrado em um sistema de dual boot, onde o Windows também está instalado. Parece que o uso dos drivers oficiais do Realtek (datado de qualquer coisa após maio de 2007) no Windows é a causa. Esses drivers mais recentes desativam o recurso Wake-On-LAN desabilitando a NIC no tempo de desligamento do Windows, onde ele permanecerá desabilitado até a próxima vez que o Windows for inicializado. Você poderá notar se esse problema está afetando você se a luz do Link estiver desligada até que o Windows seja iniciado; durante o desligamento do Windows, a luz do link será desligada. A operação normal deve ser que a luz do link esteja sempre ativada enquanto o sistema estiver ligado, mesmo durante o POST. Este problema também afetará outros sistemas operacionais sem drivers mais recentes (por exemplo, Live CDs). Aqui estão algumas correções para este problema.

Habilitando a NIC diretamente no Linux

Siga #Habilitando e desabilitando interfaces de rede para habilitar a interface.

Revertendo/alterando driver do Windows

Você pode reverter o driver de NIC do Windows para o fornecido pela Microsoft (se disponível), ou reverter/instalar um driver Realtek oficial pré-datado de maio de 2007 (pode estar no CD que acompanhou o hardware).

Habilitando WOL no driver do Windows

Provavelmente a melhor e mais correção é mudar essa configuração no driver do Windows. Desta forma, ele deve ser corrigido em todo o sistema e não apenas em Arch (ex.:, Live CDs, outros sistemas operacionais). No Windows, no Gerenciamento de dispositivos, encontre seu adaptador de rede Realtek e clique duas vezes nele. Na guia "Avançado", altere "Wake-on-LAN após o desligamento" para "Ativar".

No Windows XP (exemplo):

 Realize duple clique no meu computador e escolha "Propriedades"
 --> Aba "Hardware"
  --> Gerenciamento de dispositivo
    --> Adaptadores de rede
      --> "duplo clique" Realtek ...
        --> Aba "Avançada"
          --> Wake-On-Lan após o desligamento
            --> Habilitar
Nota: Novos drivers Windows do Realtek (testados com Realtek 8111/8169 LAN Driver v5.708.1030.2008, datado de 2009/01/22, disponível da GIGABYTE) podem se referir a esta opção de forma ligeiramente diferente, como Desligar Wake-On-LAN > Ativar. Parece que mudar para Desativar não tem efeito (você notará que a luz do link ainda está desligada no desligamento do Windows). Uma solução de contorno ruim é inicializar no Windows e apenas reiniciar o sistema (executar um reinício/desligamento desagradável), portanto, não dar ao driver do Windows a chance de desabilitar a LAN. A luz de link permanecerá ativada e o adaptador de LAN permanecerá acessível após o POST - isto é, até reiniciar o Windows e desligá-lo corretamente novamente.

Driver Realtek mais novo para Linux

Qualquer driver mais recente para estas placas Realtek pode ser encontrado para o Linux no site da Realtek (não testado, mas acredita que também resolve o problema).

Ativando LAN Boot ROM na BIOS/CMOS

Parece que a configuração Periféricos integrados > Onboard LAN Boot ROM > Ativado na BIOS/CMOS reativa o chip de LAN da Realtek na inicialização do sistema, apesar do driver do Windows desabilitando no desligamento do sistema operacional.

Nota: Isso foi testado várias vezes em uma placa-mãe GIGABYTE GA-G31M-ES2L, BIOS versão F8 lançada em 2009/02/05.

No interface with Atheros chipsets

Os usuários de alguns chips de Ethernet da Atheros estão relatando que não funciona pronto para uso (com mídia de instalação de fevereiro de 2014). A solução de trabalho para isso é instalar backports-patchedAUR.

Broadcom BCM57780

Este chipset Broadcom às vezes não se comporta bem, a menos que você especifique a ordem dos módulos a serem carregados. Os módulos são broadcom e tg3, o primeiro que precisa ser carregado primeiro.

Essas etapas devem ajudar se o seu computador tiver esse chipset:

  • Localize sua NIC na saída do lspci:
$ lspci | grep Ethernet
02:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)
  • Se sua rede com fio não estiver funcionando de alguma maneira, desconecte seu cabo e, em seguida, faça o seguinte:
# modprobe -r tg3
# modprobe broadcom
# modprobe tg3
  • Conecte seu cabo de rede de volta e verifique se o módulo foi carregado com sucesso com:
$ dmesg | greg tg3
  • Se esse procedimento resolveu o problema, você pode torná-lo permanente adicionando broadcom e tg3 (nesta ordem) para o vetor MODULES:
/etc/mkinitcpio.conf
MODULES=(.. broadcom tg3 ..)
softdep tg3 pre: broadcom
Nota: Esses métodos podem funcionar para outros chipsets, tal como BCM57760.

Realtek RTL8111/8168B

# lspci | grep Ethernet
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)

O adaptador deve ser reconhecido pelo módulo r8169. No entanto, com algumas revisões de chips, a conexão pode cair e voltar o tempo todo. A alternativa r8168 deve ser usada para uma conexão confiável neste caso. Lista negra r8169, se r8168 não for carregado automaticamente pelo udev, veja Kernel modules#Automatic module handling.

Outra falha nos drivers para algumas revisões deste adaptador é um suporte fraco de IPv6. IPv6#Disable functionality pode ser útil se você encontrar problemas como pendurar páginas da web e velocidades lentas.

Placa-mãe Gigabyte com Realtek 8111/8168/8411

Com placas-mãe como o Gigabyte GA-990FXA-UD3, inicializar com IOMMU desligado (o que pode ser o padrão) fará com que a interface de rede não seja confiável, muitas vezes não conseguindo se conectar, ou até conectar mas não permitindo a transferência. Isso se aplicará à NIC on-board e para qualquer outra NIC pci na máquina porque a configuração IOMMU afeta toda a interface de rede na placa. Habilitar o IOMMU e inicializar com a mídia de instalação lançará as falhas da página AMD I-10/xhci por um segundo, mas depois inicializará normalmente, resultando em uma NIC onboard totalmente funcional (mesmo com o módulo r8169).

Ao configurar o processo de inicialização para sua instalação, adicione iommu=soft como um parâmetro de kernel para eliminar as mensagens de erro na inicialização e restaurar a funcionalidade USB3.0.

Veja também

Retrieved from "https://wiki.archlinux.org/index.php?title=Network_configuration_(Português)&oldid=523314"