ifconfig
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
[editar | editar código-fonte]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
[editar | editar código-fonte]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
- ↑ Linux Network Administrators Guide - Em inglês «Section 5.7. Interface Configuration for IP». www.faqs.org
- ↑ Upton, Eben; Gereth Halfacree. Novatec, ed. Raspberry Pi: manual do usuário. Junho de 2013. São Paulo: [s.n.] 9788575223512
- ↑ Upstream URL http://net-tools.sourceforge.net/
- ↑ Gundersen, Tom. «News: Deprecation of net-tools - em inglês». Consultado em 4 Agosto 2011
- ↑ https://fedorahosted.org/releases/i/n/initscripts/ Versão 9.24 mostra traços de invocações ao ifconfig