Ifconfig

Saída do ifconfig em 2008

ifconfig, um acrônimo em inglês de "configuração de interface" (interface configuration) é um comando de UNIX e de sistemas operacionais tipo UNIX para configurar, controlar e visualizar informações sobre parâmetros TCP/IP de uma interface de rede. Esta ferramenta apareceu inicialmente no 4.2BSD, como parte das ferramentas TCP/IP BSD(BSD TCP/IP suite). Esse comando é análogo ao comando ipconfig do Sistema Operacional Windows.

Utilização

A utilização do ifconfig inclui a configuração de um Endereço IP e máscara de rede em uma interface, e habilitar e desabilitar uma determinada interface.[1] Durante a inicialização, vários sistemas operacionais tipo Unix configuram suas interfaces através de shell scripts que invocam o ifconfig. Como ferramenta interativa, administradores de sistema frequentemente utilizam o ifconfig para visualizar parametros das interfaces. A saída abaixo mostra o status de uma interface eth0 em um cliente Linux, e a interface ural0 no OpenBSD

eth0      Link encap:Ethernet  HWaddr 00:0F:20:CF:8B:42
          inet addr:217.149.127.10  Bcast:217.149.127.63  Mask:255.255.255.192
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2472694671 errors:1 dropped:0 overruns:0 frame:0
          TX packets:44641779 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1761467179 (1679.7 Mb)  TX bytes:2870928587 (2737.9 Mb)
          Interrupt:28

ural0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:0d:0b:ed:84:fb
        media: IEEE802.11 DS2 mode 11b hostap (autoselect mode 11b hostap)
        status: active
        ieee80211: nwid ARK chan 11 bssid 00:0d:0b:ed:84:fb  100dBm
        inet 172.30.50.1 netmask 0xffffff00 broadcast 172.30.50.255
        inet6 fe80::20d:bff:feed:84fb%ural0 prefixlen 64 scopeid 0xa

As suas saídas são dividas das seguintes formas[2]:

  • Link encap: Qual encapsulamento está sendo usado pela rede, exemplo Ethernet.
  • Hwaddr: Qual é o endereço do Media Access Control (MAC) da interface de rede, mostrado em forma hexadecimal. Essas sequências são únicas e já vem configurado de fábrica.
  • inet addr: Mostra o endereço IP da interface de rede.
  • Bcast: Mostra qual é o endereço de broadcast que a rede está conectado.
  • Mask: Esse item identifica qual é a máscara de rede (netmask). Em sua maior parte é o 255.255.255.0
  • MTU: Mostra o tamanho da Unidade Máxima de Transmissão e que defini o tamanho máximo que um pacote individual de dados pode possuir. Caso ele passe disso, ele será fracionado.
  • RX: Esse item mostra as informações do tráfico de rede recebido.
  • TX: Fornece os dados enviados. Quaisquer erros registrados nessa parte, mostra que possui algum problema com a rede.
  • collisions: Caso dois sistemas de rede tentam conversar ao mesmo tempo, este dispositivo entrará em colisão que é necessário que eles retransmitam seus pacotes. Caso houver um algo indícios de conflitos, isso era um problema na rede.
  • txqueuelen: O número padrão é o 1000 e raramente precisa de alguma mudança
  • RX bytes, TX bytes: Mostra um resumo de bandas recebidas e enviadas pela interface de rede.

Estado Atual

Sistemas operacionais descendentes de UNIX, BSD's (NetBSD, OpenBSD, e FreeBSD) continuam a desenvolver ativamente o ifconfig e extensões para cobrir a configuração de interfaces de redes sem fio, VLAN trunking, controle de funcionalidades de hardware como TSO ou checksumming de hardware e configuração de interfaces do tipo bridge e tunnel. O Solaris historicamente utilizou o ifconfig para todas as configurações de interface de rede, porém após a versão 10 a ferramenta dladm foi introduzida para executar configurações de Camada 2(Modelo OSI), reduzindo o ifconfig puramente a configuração de ip.

Em distribuições Linux mais antigas, o ifconfig e o comando route operavam junto para conectar um computador a uma rede, e definir rotas entre redes. O ifconfig para Linux faz parte do pacote net-tools, que ainda é mantido e tem como última versão a 1.60 de 15 de Abril de 2001.[3]

O intuito em distribuições Linux modernas é o de descontinuar o ifconfig e o route como ferramentas padrão de configuração de redes, em prol do pacote iproute2,[4] disponível desde 17 de Abril de 1999 par o Linux 2.2.4, baseado nos dados de tarballs do iproute2 em seu sítio de projeto(pois o histórico do git não chega tão antigamente). E apesar de tudo, muitas distribuições ainda falham em usar o iproute2 como pacote padrão de gerenciamento de redes.[5] O iproute inclui suporte a todas as funcionalidades comuns dos pacotes ifconfig(8), route(8), arp(8) e netstat(1), e além disto, configuração de multicast, tunnel e gerenciamento de link virtual, controle de tráfego e configuração de nível mais baixo do IPsec.

Referências

  1. Linux Network Administrators Guide - Em inglês «Section 5.7. Interface Configuration for IP». www.faqs.org 
  2. Upton, Eben; Gereth Halfacree. Novatec, ed. Raspberry Pi: manual do usuário. Junho de 2013. São Paulo: [s.n.] 9788575223512  A referência emprega parâmetros obsoletos |coautores= (ajuda)
  3. Upstream URL http://net-tools.sourceforge.net/
  4. Gundersen, Tom. «News: Deprecation of net-tools - em inglês». Consultado em 4 Agosto 2011 
  5. https://fedorahosted.org/releases/i/n/initscripts/ Versão 9.24 mostra traços de invocações ao ifconfig


  • v
  • d
  • e
Arquivos
  • cat
  • cd
    • popd
    • pushd
  • chattr
  • chmod
  • chown
  • chflags
  • chgrp
  • cksum
  • cp
  • cmp
  • curl
  • dd
  • du
  • df
  • file
  • fsck
  • less
  • ln
  • ls
  • lsof
  • mkdir
  • more
  • mv
  • pax
  • pwd
  • rm
  • rmdir
  • split
  • size
  • tee
  • touch
  • tree
  • type
  • umask
Processos e tarefas
  • anacron
  • at
  • bg
  • chroot
  • crontab
  • jobs
  • kill
  • killall
  • nice
  • fg
  • pgrep
  • pidof
  • pkill
  • ps
  • pstree
  • time
  • top
  • wait
Ambiente e usuários
  • clear
  • env
  • exit
  • finger
  • history
  • id
  • locale
  • logname
  • mesg
  • passwd
  • su
  • sudo
  • talk
  • tput
  • ulimit
  • uname
  • umask
  • uptime
  • w
  • wall
  • who
  • whoami
  • write
Processamento de texto
  • awk
  • banner
  • basename
  • comm
  • csplit
  • cut
  • diff
  • dirname
  • disown
  • ed
  • ex
  • fmt
  • fold
  • head
  • iconv
  • join
  • less
  • more
  • nl
  • paste
  • sed
  • sort
  • spell
  • strings
  • tail
  • tr
  • uniq
  • vi
  • wc
  • xargs
Shell
  • alias
  • bind
  • break
  • compgen
  • complete
  • continue
  • echo
  • expr
  • history
  • printf
  • read
  • sh
  • shopt
  • source
  • test
  • true
  • false
  • unset
  • wait
  • yes
Redes e comunicação
  • dig
  • ifconfig
  • inetd
  • netstat
  • nslookup
  • ping
  • rlogin
  • route
  • ssh
  • traceroute
Busca
  • find
  • grep
  • strings
  • locate
  • whatis
  • whereis
Documentação
  • apropos
  • help
  • man
Miscelâneas
  • bc
  • dc
  • cal
  • date
  • lp
  • lpr
  • od
Comandos geralmente implementados no interpretador.
Comando geralmente implementados, tanto como executáveis, como quanto no interpretador.