13 Comandos de Configuração e Solução de Problemas de Rede no Linux

Computadores estão conectados em uma rede para trocar informações ou recursos entre si. Dois ou mais computadores são conectados através de meios de rede chamados de uma rede de computadores. Há um número de dispositivos de rede ou mídia envolvidos para formar uma rede de computadores.

Computadores carregados com o Sistema Operacional Linux também podem fazer parte da rede, seja ela pequena ou grande, por suas naturezas multitarefa e multiusuário. Manter o sistema e a rede funcionando é uma tarefa do trabalho do Administrador de Sistema/Rede.

[ Você também pode gostar: 22 Comandos de Rede do Linux para Administrador de Sistema ]

Neste artigo, vamos revisar os comandos de configuração e solução de problemas de rede frequentemente utilizados no Linux.

1. Comando ifconfig

ifconfig (configurador de interface) é utilizado para inicializar uma interface, atribuir um Endereço IP à interface e ativar ou desativar a interface conforme necessário.

Com este comando, você pode visualizar o Endereço IP e o endereço Físico / MAC atribuído à interface e também o MTU (Unidade Máxima de Transmissão).

# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:192.168.50.2  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6093 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4824 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6125302 (5.8 MiB)  TX bytes:536966 (524.3 KiB)
          Interrupt:18 Base address:0x2000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:480 (480.0 b)  TX bytes:480 (480.0 b)

ifconfig com a interface (eth0) comando mostra apenas detalhes específicos da interface como Endereço IP, Endereço MAC, etc. com a opção -a irá exibir todos os detalhes disponíveis da interface se estiver desativada também.

# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:192.168.50.2  Bcast:192.168.50.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6119 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4841 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6127464 (5.8 MiB)  TX bytes:539648 (527.0 KiB)
          Interrupt:18 Base address:0x2000

Definir Endereço IP e Gateway no Linux

Atribuir um Endereço IP e Gateway à interface em tempo de execução. As configurações serão removidas em caso de reinicialização do sistema.

# ifconfig eth0 192.168.50.5 netmask 255.255.255.0

Ativar ou Desativar Interface Específica

Para ativar ou desativar uma interface específica, utilizamos o comando de exemplo a seguir.

Ativar eth0
# ifup eth0
Desativar eth0
# ifdown eth0

Definir Tamanho do MTU

Por padrão, o tamanho do MTU é 1500. Podemos definir o tamanho do MTU necessário com o comando abaixo. Substitua XXXX pelo tamanho.

# ifconfig eth0 mtu XXXX

Definir Interface no Modo Promíscuo

A interface de rede só recebe pacotes pertencentes a essa NIC. Se você colocar a interface no modo promíscuo, ela receberá todos os pacotes. Isso é muito útil para capturar pacotes e analisá-los posteriormente. Para isso, pode ser necessário acesso de superusuário.

# ifconfig eth0 - promisc

Atualização: O comando ifconfig é substituído pelo comando IP na maioria das distribuições Linux modernas.

2. Comando Ping

O comando Ping (Packet INternet Groper) é a melhor maneira de testar a conectividade entre dois nós. Seja em uma Rede Local (LAN) ou em uma Rede de Área Ampla (WAN).

O Ping usa ICMP (Protocolo de Mensagem de Controle da Internet) para se comunicar com outros dispositivos. Você pode fazer ping pelo nome do host ou pelo endereço IP usando os comandos abaixo.

# ping 4.2.2.2

PING 4.2.2.2 (4.2.2.2) 56(84) bytes of data.
64 bytes from 4.2.2.2: icmp_seq=1 ttl=44 time=203 ms
64 bytes from 4.2.2.2: icmp_seq=2 ttl=44 time=201 ms
64 bytes from 4.2.2.2: icmp_seq=3 ttl=44 time=201 ms

OR

# ping www.tecmint.com

PING tecmint.com (50.116.66.136) 56(84) bytes of data.
64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=284 ms
64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=287 ms
64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms

No comando ping do Linux, o ping continua executando até ser interrompido. O Ping com a opção -c sai após N número de solicitações (respondendo com sucesso ou com erro).

# ping -c 5 www.tecmint.com

PING tecmint.com (50.116.66.136) 56(84) bytes of data.
64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=4 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=5 ttl=47 time=285 ms

--- tecmint.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4295ms
rtt min/avg/max/mdev = 285.062/285.324/285.406/0.599 ms

3. Comando Traceroute

traceroute é uma utilidade de solução de problemas de rede que mostra o número de saltos necessários para alcançar um destino e também determina o caminho percorrido pelos pacotes. Abaixo, estamos traçando a rota para o endereço IP do servidor DNS global e conseguimos alcançar o destino, também mostrando o caminho percorrido por aquele pacote.

# traceroute 4.2.2.2

traceroute to 4.2.2.2 (4.2.2.2), 30 hops max, 60 byte packets
 1  192.168.50.1 (192.168.50.1)  0.217 ms  0.624 ms  0.133 ms
 2  227.18.106.27.mysipl.com (27.106.18.227)  2.343 ms  1.910 ms  1.799 ms
 3  221-231-119-111.mysipl.com (111.119.231.221)  4.334 ms  4.001 ms  5.619 ms
 4  10.0.0.5 (10.0.0.5)  5.386 ms  6.490 ms  6.224 ms
 5  gi0-0-0.dgw1.bom2.pacific.net.in (203.123.129.25)  7.798 ms  7.614 ms  7.378 ms
 6  115.113.165.49.static-mumbai.vsnl.net.in (115.113.165.49)  10.852 ms  5.389 ms  4.322 ms
 7  ix-0-100.tcore1.MLV-Mumbai.as6453.net (180.87.38.5)  5.836 ms  5.590 ms  5.503 ms
 8  if-9-5.tcore1.WYN-Marseille.as6453.net (80.231.217.17)  216.909 ms  198.864 ms  201.737 ms
 9  if-2-2.tcore2.WYN-Marseille.as6453.net (80.231.217.2)  203.305 ms  203.141 ms  202.888 ms
10  if-5-2.tcore1.WV6-Madrid.as6453.net (80.231.200.6)  200.552 ms  202.463 ms  202.222 ms
11  if-8-2.tcore2.SV8-Highbridge.as6453.net (80.231.91.26)  205.446 ms  215.885 ms  202.867 ms
12  if-2-2.tcore1.SV8-Highbridge.as6453.net (80.231.139.2)  202.675 ms  201.540 ms  203.972 ms
13  if-6-2.tcore1.NJY-Newark.as6453.net (80.231.138.18)  203.732 ms  203.496 ms  202.951 ms
14  if-2-2.tcore2.NJY-Newark.as6453.net (66.198.70.2)  203.858 ms  203.373 ms  203.208 ms
15  66.198.111.26 (66.198.111.26)  201.093 ms 63.243.128.25 (63.243.128.25)  206.597 ms 66.198.111.26 (66.198.111.26)  204.178 ms
16  ae9.edge1.NewYork.Level3.net (4.68.62.185)  205.960 ms  205.740 ms  205.487 ms
17  vlan51.ebr1.NewYork2.Level3.net (4.69.138.222)  203.867 ms vlan52.ebr2.NewYork2.Level3.net (4.69.138.254)  202.850 ms vlan51.ebr1.NewYork2.Level3.net (4.69.138.222)  202.351 ms
18  ae-6-6.ebr2.NewYork1.Level3.net (4.69.141.21)  201.771 ms  201.185 ms  201.120 ms
19  ae-81-81.csw3.NewYork1.Level3.net (4.69.134.74)  202.407 ms  201.479 ms ae-92-92.csw4.NewYork1.Level3.net (4.69.148.46)  208.145 ms
20  ae-2-70.edge2.NewYork1.Level3.net (4.69.155.80)  200.572 ms ae-4-90.edge2.NewYork1.Level3.net (4.69.155.208)  200.402 ms ae-1-60.edge2.NewYork1.Level3.net (4.69.155.16)  203.573 ms
21  b.resolvers.Level3.net (4.2.2.2)  199.725 ms  199.190 ms  202.488 ms

4. Comando Netstat

Netstat (Estatísticas de Rede) exibe informações de conexão, informações da tabela de roteamento, etc. Para exibir informações da tabela de roteamento, use a opção -r.

# netstat -r

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.50.0    *               255.255.255.0   U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
default         192.168.50.1    0.0.0.0         UG        0 0          0 eth0

Para mais exemplos do Comando Netstat, por favor leia nosso artigo anterior sobre 20 Exemplos de Comandos Netstat no Linux.

Atualização: O comando netstat foi substituído pelo comando ss (socket statistics) na maioria das distribuições Linux modernas.

5. Comando Dig

Dig (domain information groper) consulta informações relacionadas ao DNS como Registro A, CNAME, Registro MX, etc. Esse comando é principalmente usado para solucionar consultas relacionadas ao DNS.

# dig www.tecmint.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> www.tecmint.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<

Para mais exemplos do Comando Dig, por favor leia o artigo sobre 10 Comandos Dig do Linux para Consultar DNS.

6. Comando Nslookup

nslookup também é usado para descobrir consultas relacionadas ao DNS. Os seguintes exemplos mostram o Registro A (Endereço IP) do tecmint.com.

# nslookup www.tecmint.com
Server:         4.2.2.2
Address:        4.2.2.2#53

Non-authoritative answer:
www.tecmint.com canonical name = tecmint.com.
Name:   tecmint.com
Address: 50.116.66.136

Para mais Comando Nslookup, leia o artigo sobre 8 Exemplos de Comandos Nslookup no Linux.

7. Comando Route

O comando route também mostra e manipula a tabela de roteamento ip. Para ver a tabela de roteamento padrão no Linux, digite o seguinte comando.

# route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.50.0    *               255.255.255.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         192.168.50.1    0.0.0.0         UG    0      0        0 eth0

Adicionando, excluindo rotas e Gateway padrão com os seguintes comandos.

Adicionar Rota no Linux
# route add -net 10.10.10.0/24 gw 192.168.0.1
Excluir Rota no Linux
# route del -net 10.10.10.0/24 gw 192.168.0.1
Adicionar Gateway Padrão no Linux
# route add default gw 192.168.0.1

8. Comando Host

O comando host para encontrar um nome para IP ou IP para nome em IPv4 ou IPv6 e também consultar registros DNS.

# host www.google.com

www.google.com has address 173.194.38.180
www.google.com has address 173.194.38.176
www.google.com has address 173.194.38.177
www.google.com has address 173.194.38.178
www.google.com has address 173.194.38.179
www.google.com has IPv6 address 2404:6800:4003:802::1014

Usando a opção -t para descobrir Registros de Recursos DNS como CNAME, NS, MX, SOA, etc.

# host -t CNAME www.redhat.com

www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.

9. Comando Arp

O ARP (Protocolo de Resolução de Endereços) é útil para visualizar/adicionar o conteúdo das tabelas de ARP do kernel. Para ver a tabela padrão, use o comando como abaixo.

# arp -e

Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.50.1             ether   00:50:56:c0:00:08   C                     eth0

10. Comando Ethtool

ethtool é um substituto para mii-tool. É para visualizar, configurar velocidade e duplex do seu Cartão de Interface de Rede (NIC). Você pode definir duplex permanentemente em /etc/sysconfig/network-scripts/ifcfg-eth0 com a variável ETHTOOL_OPTS.

# ethtool eth0

Settings for eth0:
        Current message level: 0x00000007 (7)
        Link detected: yes

11. Comando Iwconfig

O comando iwconfig no Linux é usado para configurar uma interface de rede sem fio. Você pode ver e definir detalhes básicos do Wi-Fi como SSID, canal e criptografia. Você pode consultar a página do manual do iwconfig para saber mais.

# iwconfig [interface]

12. Comando de Nome de Host

O nome de host é para identificação em uma rede. Execute o comando hostname para ver o nome de host da sua máquina. Você pode definir o nome de host permanentemente em /etc/sysconfig/network. Precisa reiniciar a máquina uma vez que tenha definido um nome de host adequado.

# hostname 

tecmint.com

13. Ferramentas Nmcli e Nmtui

As ferramentas Nmcli e Nmtui são usadas para configurar as configurações de rede e também usadas para gerenciar dispositivos de rede, criar, modificar, ativar/desativar e excluir conexões de rede em sistemas Linux.

# nmcli
# nmtui
Nmtui Network Manager

Este artigo pode ser útil para o uso diário de administradores de rede do Linux em sistemas operacionais Linux / semelhantes ao Unix. Por favor, compartilhe através da nossa caixa de comentários se deixamos algo de fora.

Source:
https://www.tecmint.com/linux-network-configuration-and-troubleshooting-commands/