Agência de criação de sites no Rio de Janeiro
Lidando com interfaces de rede no Linux

Lidando com interfaces de rede no Linux

Como mostrar todos os dispositivos de rede em um sistema operacional Linux usando o terminal / shell? Como listar as interfaces e suas informações?

Abaixo uma listagem.

# ip link show
# ip a
# nmcli device status
# nmcli connection show
# netstat -i
# /sbin/ifconfig -a
# ip r
# arp
# arp -a
# arp -n

Testou cada um deles? Com eles você consegue ver:

  • Informações sobre o tipo de cada interface,
  • MAC Address de cada uma,
  • Status (DOWN ou UP),
  • MTU,
  • Se estão com IP ou não, por DHCP ou não,
  • Subredes que pertencem,
  • Estatísticas de uso das interfaces,
  • Tabela de rotas (Rota Default / Padrão, e também por qual interface estão ligadas / se alcança cada subrede específica)
  • Cache ARP (quem se comunica com você e por qual interface)

Quando falo de dispositivo de rede, interface de rede, esse monte de sigla e códigos… tudo parece meio confuso. Segue algumas informações extras que podem ser úteis se você caiu de paraquedas por aqui:

  • lo – Interface Loopback. Usada para acessar serviços locais como um proxy ou webserver http://127.0.0.1/
  • eth0 – Interface de rede no Linuxx.
  • wlan0 – Inter face de rede Wireless no Linux.
  • ppp0 – Interface de rede Point to Point Protocol que pode ser usada para modem (discado), conexão vpn PPTP, ou Modem USB 3G wireless.
  • vboxnet0, vmnet1, vmnet8 – Interfaces de Máquinas Virtuais no Linux.

Como posso configurar MTU para minha interface de rede?

MTU se refere à (Maximum Transmission Unit). É o tamanho (em bytes) do maior datagram que uma determinada camada de um protocolo de comunicação pode passar de uma vez. Você pode alterar esses valores.

Listar MTU

$ ip link list

Alterar o MTU

# ifconfig eth0 mtu 1400

ou

# ip link set dev eth0 mtu 1400

(você precisa definir sua interface e o tamanho do MTU de acordo com sua necessidade)

Para alterar definitivamente precisa alterar o arquivo de configuração de interfaces, incluindo na descrição da interface o valor de MTU (ex.: MTU 1400) seguindo o padrão do arquivo e Reiniciar serviço de rede. Algo como:

No Debian
# nano /etc/network/interfaces
# /etc/init.d/networking restart

No Red Hat
# nano /etc/sysconfig/network-scripts/ifcfg-eth0
# service network restart

Como Mudar Configuração de Rede em um Sistema Debian-like

O processo poderia se relacionar em algumas tarefas:

  • Levantar informações da rede (já vimos neste artigo)
  • Remover / deletar / desativar um IP de uma interface de rede
  • Vincular um IP a uma interface de rede “on the fly”
  • Configurar um dispositivo definitivamente com IP estático
  • Configurar um dispositivo definitivamente com IP dinâmico / DHCP
  • Reiniciar serviços de rede
  • Configurar os Nameservers (servidores de DNS)

Remover / deletar / desativar um IP de uma interface de rede

# ip address del 192.168.1.100 dev eth0

ou com ifconfig:

# ifconfig eth0 down

Vincular um IP a uma interface de rede “on the fly”

O exemplo a seguir vincula o IP 192.168.1.100 a interface eth0. A máscara de rede é 24 (255.255.255.0, ou seja, para 254 ips). A opção brd + configura o endereço de broadcast automaticamente determinado pela máscara de rede:

# ip address add 192.168.1.100/24 brd + dev eth0

ou pode usar o ifconfig:

# ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up

SPINOFF: como saber quantos ips cabem numa subrede?

Entre outras aplicações possíveis, você pode usar a ferramenta IPCALC.

# ipcalc 255.255.255.0
Address:   255.255.255.0        11111111.11111111.11111111. 00000000
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   255.255.255.0/24     11111111.11111111.11111111. 00000000
HostMin:   255.255.255.1        11111111.11111111.11111111. 00000001
HostMax:   255.255.255.254      11111111.11111111.11111111. 11111110
Broadcast: 255.255.255.255      11111111.11111111.11111111. 11111111
Hosts/Net: 254                   Class invalid

O problema de fazer isso é que a configuração se perde quando o sistema for reiniciado. Para fazer com que a configuração fique definitiva e não se perca após o reboot você deve alterar os arquivos de interfaces (como vimos com o MTU, normalmente fica em /etc/network/interfaces ) com um editor de textos como nano ou vi.

Configurar um dispositivo definitivamente com IP estático

# nano /etc/network/interfaces

Para definir um endereço ip roteável (publico ou privado) a um interface eth0, inclua:

auto eth0
iface eth0 inet static
address 192.168.2.1
netmask 255.255.255.0
gateway 192.1.2.254

Salve e feche o arquivo, onde:

  • auto eth0 : Identifique as interfaces físicas como eth0, eth1 e assim por diante
  • iface eth0 inet static : Este método usado para definir interfaces Ethernet com endereços IPv4 alocados estaticamente
  • address 192.168.2.1 : Endereço IP estático
  • netmask 255.255.255.0 : Máscara de Rede estática
  • gateway 192.168.1.254 : Endereço IP estático do gateway / roteador

Configurar um dispositivo definitivamente com IP dinâmico / DHCP

# nano /etc/network/interfaces

Quando for configurar um dispositivo para usar DHCP, ou seja, que a interface receba um IP dinamicamente do roteador / gateway quando o sistema iniciar, inclua:

auto eth0
iface eth0 inet dhcp

Salve e feche o arquivo, onde:

  • auto eth0 : Identifique as interfaces físicas como eth0, eth1 e assim por diante
  • iface eth0 inet dhcp : Este método usado para definir interfaces Ethernet com endereços IPv4 alocados dinamicamente pelos servidores DHCP.

Reiniciar serviços de rede

Para aplicar as configurações feitas você precisa parar e reiniciar os serviços de rede.

# /etc/init.d/networking stop
# /etc/init.d/networking start
# /etc/init.d/networking restart

Você também pode simplesmente desativar e reativar as interfaces para que ela leia as configurações dos arquivos. Útil quando você não pode parar toda a rede para testar se a configuração está valida. Para desativar a interface eth0:

# ifdown eth0

habilitar eth0 novamente, digite:
# ifup eth0

Configurar os Nameservers (servidores de DNS)

Basta editar o arquivo /etc/resolv.conf atualizando seu conteúdo com as informações dos servidores DNS de sua preferência / rede.

# nano /etc/resolv.conf
### The IP addresses of nameservers ## 
nameserver 8.8.8.8 
nameserver 192.168.1.1

Salve e feche o arquivo. Você pode usar o comando dig ou host para verificar a conectividade do DNS.

# dig google.com

; <<>> DiG 9.11.14-3-Debian <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1860
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;google.com.			IN	A

;; ANSWER SECTION:
google.com.		188	IN	A	216.58.202.238

;; Query time: 36 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Feb 09 13:01:41 -03 2020
;; MSG SIZE  rcvd: 55

# host google.com
google.com has address 172.217.29.110
Host google.com not found: 5(REFUSED)
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.

Quer experimentar outras ferramentas de rede em linux?

Dá uma olhada nesta lista

Deixe uma resposta

Fechar Menu
×
×

Carrinho