SUPER PROMOÇÃO BLACK FRIDAY - SOMENTE HOJE - APROVEITE!

Clique Aqui

DlteC do Brasil

  • Home
  • Cursos
  • Ebooks
  • Blog
  • Preços
  • Entrar
Linux

LPIC-1: Verificar e Configurar Redes Linux

Leandro Siqueira - 26 de agosto de 2019

Nesse artigo vamos estudar os principais comandos utilizados para verificar e configurar Redes Linux, os quais também podem ser cobrados na certificação LPIC-1.

Só para você saber, esse artigo eu fiz com base no curso do Portal da DlteC do Brasil chamado: “Fundamentos de Redes para Linux“.

Agora chega de conversa e vamos começar a estudar pelo comando ifconfig, o qual creio que se você está estudando ou já utilizou Redes Linux já deva ter utilizado em algum momento da sua vida, correto?

Comando Ifconfig

O comando ifconfig, quando utilizado sem quaisquer opções, exibe as interfaces de rede instaladas no sistema ATIVAS , bem como as configurações (IPs, máscara, etc) atribuídas a cada uma delas:

root@curso9:~# ifconfig

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1500

inet 192.168.0.108netmask 255.255.255.0broadcast 192.168.0.255

inet6 fe80::8a18:d1bc:c455:3b3dprefixlen 64  scopeid 0x20<link>

ether 08:00:27:5f:3c:cbtxqueuelen 1000  (Ethernet)

        RX packets 202  bytes 39297 (39.2 KB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 132  bytes 16993 (16.9 KB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1500

inet 192.168.0.106  netmask 255.255.255.0  broadcast 192.168.0.255

        inet6 fe80::1084:cbad:7948:5702  prefixlen 64  scopeid 0x20<link>

        ether 08:00:27:86:27:b7  txqueuelen 1000  (Ethernet)

        RX packets 217  bytes 41520 (41.5 KB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 131  bytes 12717 (12.7 KB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>mtu 65536

inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Loopback Local)

        RX packets 97  bytes 7804 (7.8 KB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 97  bytes 7804 (7.8 KB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Observe na saída anterior que, nesse momento, existem duas interfaces de rede disponíveis: enp0s3 e enp0s8 (a interface de loopback – utilizada para testes locais (127.0.0.1) –  é identificada como lo).

O endereço IP de cada interface é identificado como inet (seja “puro” – referente ao IPv4 – ou inet6, para o IPv6).

Além disso, note a presença de outras informações úteis como o endereço de broadcast (broadcast), a máscara de rede (netmask) e o endereço MAC (ether) – este último, identifica de forma inequívoca uma determinada placa de rede.

Note ainda a presença das palavras UP e RUNNING em cada uma das interfaces – indicando que a placa encontra-se em pleno funcionamento.

Caso o comando seja rodado com a opção -a, mesmo aquelas interfaces inativas instaladas na máquina serão exibidas.

Guarde isso! O comando ifconfig também consegue exibir informações específicas sobre uma determinada interface, bastando ser informada junto ao comando:

root@curso9:~# ifconfig enp0s3

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1500

inet 192.168.0.108  netmask 255.255.255.0  broadcast 192.168.0.255

        inet6 fe80::8a18:d1bc:c455:3b3d  prefixlen 64  scopeid 0x20<link>

        ether 08:00:27:5f:3c:cb  txqueuelen 1000  (Ethernet)

        RX packets 202  bytes 39297 (39.2 KB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 132  bytes 16993 (16.9 KB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Caso seja necessário deixar uma determinada interface de rede inativa, ou seja, para “derrubar” uma placa de rede, o comando ifconfig também poderá ser utilizado – bastando, para isso, informar a instrução down ao comando:

root@curso9:~# ifconfig enp0s3 down

root@curso9:~# ifconfig enp0s3

enp0s3: flags=4098<BROADCAST,MULTICAST>mtu 1500

        ether 08:00:27:5f:3c:cb  txqueuelen 1000  (Ethernet)

        RX packets 577  bytes 499765 (499.7 KB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 944  bytes 87052 (87.0 KB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Note que, agora, a interface enp0s3 já apresenta o “UP”, indicando que a interface encontra-se desativada.

Nesse momento, podemos inclusive definir um IP específico à interface enp0s3, informando a seguinte instrução:

root@curso9:~# ifconfig enp0s3 192.168.0.98 up

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1500

inet 192.168.0.98  netmask 255.255.255.0  broadcast 192.168.0.255

        ether 08:00:27:5f:3c:cb  txqueuelen 1000  (Ethernet)

        RX packets 719  bytes 524024 (524.0 KB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 959  bytes 88523 (88.5 KB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Note que, por padrão, o sistema “pega” o endereço informado e já configura a máscara de rede (a padrão, baseada no endereço informado) e o endereço de broadcast.

Caso não seja a intenção do administrador que isso seja aplicado, basta “derrubar” novamente a interface e informar o seguinte comando:

root@curso9:~# ifconfig enp0s3 down

root@curso9:~# ifconfig enp0s3 192.168.0.98 netmask 255.255.255.192 up

root@curso9:~# ifconfig enp0s3

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1500

inet 192.168.0.110  netmask 255.255.255.192  broadcast 192.168.0.127

        ether 08:00:27:5f:3c:cb  txqueuelen 1000  (Ethernet)

        RX packets 819  bytes 536699 (536.6 KB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 985  bytes 90811 (90.8 KB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Perceba agora que o sistema já calculou automaticamente o endereço de broadcast correto utilizado pela subrede 192.168.0.64/26, da qual o endereço 192.168.0.127 faz parte.

Note que a outra interface disponível (enp0s8) também poderá possuir o seu próprio endereço IP, independente daquele configurado na interface enp0s3:

root@curso9:~# ifconfig enp0s8 down

root@curso9:~# ifconfig enp0s8 172.16.23.57 up

root@curso9:~# ifconfig enp0s8

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu 1500

inet 172.16.23.57  netmask 255.255.0.0  broadcast 172.16.255.255

        ether 08:00:27:86:27:b7  txqueuelen 1000  (Ethernet)

        RX packets 1254  bytes 592075 (592.0 KB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 218  bytes 22837 (22.8 KB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Comando Route

Agora, entenderemos mais o seu funcionamento do comando route.

Esse comando é responsável por exibir e criar configurações relacionadas às rotas configuradas sistema.

Observe o seu comportamento padrão (utilizado junto à opção -n, para que os endereços IP não sejam resolvidos em nomes):

root@curso9:~# route -n

Tabela de Roteamento IP do Kernel

Destino         Roteador        MáscaraGen.    Opções Métrica Ref   Uso Iface

172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 enp0s8

192.168.0.64    0.0.0.0         255.255.255.192 U     0      0        0 enp0s3

Precisamos aprender a como interpretar essas informações.

Veja que, quando um pacote for destinado à rede 192.168.0.64, este será enviado à interface enp0s3; da mesma forma, quando um pacote for destinado à rede 172.16.0.0, este será enviado à interface enp0s8.

Uma configuração muito comum a ser realizado com o comando route é a definição da rota padrão – ou seja, quando uma determinada rede não for conhecida por uma dada interface, será essa rota padrão que ela enviará os pacotes em questão (ou através da criação de uma rota específca àquela rede). 

Não esqueça: a rota padrão é utilizada nos casos de uma interface não “conhecer” a rede do host do destino – sendo assim, ela precisará enviar o pacote para alguém.

Quem será esse alguém? O default gateway (o endereço IP do roteador). Ou seja, todos os pacotes que a interface não souber como enviar diretamente ao destino, ela enviará então ao roteador.

Observe a seguir o processo de criação de uma rota padrão:

root@curso9:~# ifconfig enp0s3 down

root@curso9:~# ifconfig enp0s3 192.168.0.55 up

root@curso9:~# route add default gw 192.168.0.1 dev enp0s3

Como o endereço IP da interface enp0s3 é 192.168.0.110, a instrução dev enp0s3 é opcional – já que, quando não utilizada, o sistema já “entenderá” que o usuário deseja configurar a rota padrão à interface enp0s3 (pois se encontra na mesma faixa de endereços).

root@curso9:~# route -n

Tabela de Roteamento IP do Kernel

Destino         Roteador        MáscaraGen.    Opções Métrica Ref   Uso Iface

0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 enp0s3

172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 enp0s8

192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 enp0s3

Observe que agora a interface enp0s3 possui uma rota padrão (192.168.0.1), presente no campo Roteador.

Dessa forma, todo pacote cujo destino não faça parte da rede 172.16.0.0 (enp0s8) e nem da rede 192.168.0.0 será encaminhado ao default gateway, saindo pela interface enp0s3.

O processo de criação de uma rota específica também segue a mesma lógica – mas não a mesma sintaxe:

root@curso9:~# route add -net 10.10.10.0/24 gw 192.168.0.25

root@curso9:~# route -n

Tabela de Roteamento IP do Kernel

Destino         Roteador        MáscaraGen.    Opções Métrica Ref   Uso Iface

0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 enp0s3

10.10.10.0      192.168.0.25    255.255.255.0   UG    0      0        0 enp0s3

172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 enp0s8

192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 enp0s3

Dessa forma, toda vez que for necessário enviar um pacote à rede 10.10.0.0, este será enviado à máquina 192.168.0.25 através da interface enp0s3 (e esta máquina se preocupará enviar esse pacote até o endereço IP de destino).

Comando Ip

As funcionalidades oferecidas pelos comandos ifconfig e route são também obtidas através do comando ip.

Vamos visualizar o seu comportamento através de exemplos:

root@curso9:~# ip link show

1: lo: <LOOPBACK,UP,LOWER_UP>mtu 65536 qdiscnoqueue state UNKNOWN mode DEFAULT group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdiscfq_codel state UP mode DEFAULT group default qlen 1000

    link/ether 08:00:27:5f:3c:cb brdff:ff:ff:ff:ff:ff

3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdiscfq_codel state UP mode DEFAULT group default qlen 1000

    link/ether 08:00:27:86:27:b7 brdff:ff:ff:ff:ff:ff

root@curso9:~# ip address show

1: lo: <LOOPBACK,UP,LOWER_UP>mtu 65536 qdiscnoqueue state UNKNOWN group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdiscfq_codel state UP group default qlen 1000

    link/ether 08:00:27:5f:3c:cb brdff:ff:ff:ff:ff:ff

inet 192.168.0.55/24 brd 192.168.0.255 scope global enp0s3

valid_lft forever preferred_lft forever

3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdiscfq_codel state UP group default qlen 1000

    link/ether 08:00:27:86:27:b7 brdff:ff:ff:ff:ff:ff

inet 172.16.23.57/16 brd 172.16.255.255 scope global enp0s8

valid_lft forever preferred_lft forever

root@curso9:~# ip route show

default via 192.168.0.1 dev enp0s3

10.10.10.0/24 via 192.168.0.25 dev enp0s3

172.16.0.0/16 dev enp0s8 proto kernel scope link src 172.16.23.57

192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.55

# Desabilitando a interface enp0s3

root@curso9:~# ip addr flush dev enp0s3

root@curso9:~# ip address show

1: lo: <LOOPBACK,UP,LOWER_UP>mtu 65536 qdiscnoqueue state UNKNOWN group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdiscfq_codel state UP group default qlen 1000

    link/ether 08:00:27:5f:3c:cb brdff:ff:ff:ff:ff:ff

3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdiscfq_codel state UP group default qlen 1000

    link/ether 08:00:27:86:27:b7 brdff:ff:ff:ff:ff:ff

inet 172.16.23.57/16 brd 172.16.255.255 scope global enp0s8

valid_lft forever preferred_lft forever

Note na saída acima que as informações sobre IP/Máscara/Broadcast não são exibidas para a interface enp0s3. Ela está UP, mas sem configurações de IP.

# Adicionando um IP através do comando ip

root@curso9:~# ip addr add 192.168.0.67/24 dev enp0s3

root@curso9:~# ip address show

1: lo: <LOOPBACK,UP,LOWER_UP>mtu 65536 qdiscnoqueue state UNKNOWN group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdiscfq_codel state UP group default qlen 1000

    link/ether 08:00:27:5f:3c:cb brdff:ff:ff:ff:ff:ff

inet 192.168.0.67/24 scope global enp0s3

valid_lft forever preferred_lft forever

3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdiscfq_codel state UP group default qlen 1000

    link/ether 08:00:27:86:27:b7 brdff:ff:ff:ff:ff:ff

inet 172.16.23.57/16 brd 172.16.255.255 scope global enp0s8

valid_lft forever preferred_lft forever

Por padrão, o comando ip não configura qualquer endereço de broadcast. Por isso, é preciso especificar ao comando o endereço desejado:

root@curso9:~# ip addr flush dev enp0s3

root@curso9:~# ip addr add 192.168.0.67/24 brd + dev enp0s3

root@curso9:~# ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP>mtu 65536 qdiscnoqueue state UNKNOWN group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdiscfq_codel state UP group default qlen 1000

    link/ether 08:00:27:5f:3c:cb brdff:ff:ff:ff:ff:ff

inet 192.168.0.67/24 brd 192.168.0.255 scope global enp0s3

valid_lft forever preferred_lft forever

3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdiscfq_codel state UP group default qlen 1000

    link/ether 08:00:27:86:27:b7 brdff:ff:ff:ff:ff:ff

inet 172.16.23.57/16 brd 172.16.255.255 scope global enp0s8

valid_lft forever preferred_lft forever

O comando ip possui diversas outras possibilidades e modos de configuração. Por isso, é muito recomendado que você tenha acesso ao seu manual (man ip).

Caso seja necessário fazer com que uma determinada interface “pegue” um IP a partir de um servidor DHCP, podemos utilizar o comando dhclient:

root@curso9:~# ip addr flush dev enp0s3

root@curso9:~# dhclient enp0s3

root@curso9:~# ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP>mtu 65536 qdiscnoqueue state UNKNOWN group default qlen 1000

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdiscfq_codel state UP group default qlen 1000

    link/ether 08:00:27:5f:3c:cb brdff:ff:ff:ff:ff:ff

inet 192.168.0.108/24 brd 192.168.0.255 scope global enp0s3

valid_lft forever preferred_lft forever

3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP>mtu 1500 qdiscfq_codel state UP group default qlen 1000

    link/ether 08:00:27:86:27:b7 brdff:ff:ff:ff:ff:ff

inet 172.16.23.57/16 brd 172.16.255.255 scope global enp0s8

valid_lft forever preferred_lft forever

É super importante mencionarmos uma coisa: todas essas configurações serão perdidas quando a máquina for reiniciada (tudo se encontra em memória).

Para que tais procedimentos se tornem permanentes, é necessário envolver arquivos de configuração.

Sendo assim, tais comandos se tornam muito úteis para realizar testes diversos (derrubar interfaces, estabelecer rotas de testes, etc.).

Com isso terminamos mais um artigo e como sempre você pode dar sua sugestão, crítica ou até mesmo deixar um elogio no campo de comentários abaixo!

Obrigado e até a próxima!

 6 1
Share Now

Leandro Siqueira

Graduado em Análise de Sistemas pela Universidade Salgado de Oliveira (UNIVERSO) e pós-graduado em Engenharia de Software pela Escola Politécnica da Universidade Federal do Rio de Janeiro (UFRJ). Certificado ITIL Foundations, ISO 20000 Foundation Bridge e LPIC-1. Atua profissionalmente na área de TI desde 2010 - com foco em desenvolvimento de sistemas de informação e ensino de tecnologia.

One Response

  • Divanilson 1 de setembro de 2019 at 20:15

    Massa

    Reply
  • Leave a Reply Cancel Reply

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

    Previous Post O que é VLAN?
    Next Post Camada Física do Modelo OSI

    Artigos Populares

    • Subrede IP: Máscaras possíveis para classes A, B e C
    • Qual a Diferença entre Modelo OSI e TCP/IP?
    • Passo a Passo para Resolver Problemas de Conectividade de Rede
    • Como descobrir o MAC de um host se eu tenho apenas o IP?
    • Configurando Porta e VLAN em Switch Cisco de Acesso

    Entre para a lista vip

    Cursos Online Gratuitos com Opção de Certificado
    • Contato
    • Crie sua conta
    • Login

    DlteC do Brasil - Todos os direitos reservados