O comando ifconfig é usado para configurar interfaces de rede. No Linux, ele é muito usado tanto para obter informações sobre uma interface específica, como para alterar suas configurações.
O nome ifconfig quer dizer interface configurator.
O comando está presente no Android e, em aparelhos não rooteados, ele também pode ser usado, com algumas limitações.
Neste texto, vou mostrar, através de exemplos, alguns dos usos básicos do comando no Linux.
Embora o Android tenha sido mencionado e possua a ferramenta no seu leque de aplicativos de linha de comando, este tutorial se baseia em uma máquina Trisquel GNU/Linux Belenos — ou seja, você pode aplicar em qualquer distro Linux para PCs, sem problemas.
Como obter informações da configuração de uma interface de rede
Ao omitir opções ou parâmetro de execução, o ifconfig vai dar informações básicas sobre todas as interfaces de rede ativas no seu sistema:
ifconfig
A informação é disposta em 2 colunas. Na primeira, o nome da interface de rede (eth0, wlan0 etc) e, à direita, os dados referentes a ela:
eth0 Link encap:Ethernet Endereço de HW 50:b7:c3:22:da:48 UP BROADCAST MULTICAST MTU:1500 Métrica:1 pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0 Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0 colisões:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) wlan0 Link encap:Ethernet Endereço de HW c4:85:08:22:0a:aa inet end.: 192.168.0.112 Bcast:192.168.0.255 Masc:255.255.255.0 endereço inet6: fe80::c685:8ff:fea5:aaa/64 Escopo:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Métrica:1 pacotes RX:1166677 erros:0 descartados:0 excesso:0 quadro:0 Pacotes TX:763557 erros:0 descartados:0 excesso:0 portadora:0 colisões:0 txqueuelen:1000 RX bytes:1664854788 (1.6 GB) TX bytes:74341794 (74.3 MB)
Para as informações sobre todas as interfaces de rede (ativas e inativas), use a opção -a
:
ifconfig -a
Para obter informações específicas de uma determinada interface, basta citá-la na linha de comando:
ifconfig lo
lo Link encap:Loopback Local inet end.: 127.0.0.1 Masc:255.0.0.0 endereço inet6: ::1/128 Escopo:Máquina UP LOOPBACK RUNNING MTU:65536 Métrica:1 pacotes RX:15175 erros:0 descartados:0 excesso:0 quadro:0 Pacotes TX:15175 erros:0 descartados:0 excesso:0 portadora:0 colisões:0 txqueuelen:0 RX bytes:1264323 (1.2 MB) TX bytes:1264323 (1.2 MB)
O “lo” se refere ao “loopback interface” — uma interface de rede especial que o sistema usa para se comunicar consigo mesmo.
Como desligar ou ligar uma interface de rede com o ifconfig
Para fazer algumas configurações numa interface de rede (alterar o endereço de hardware MAC, por exemplo), pode ser necessário desligar a interface do dispositivo.
Para isto, use a cláusula down
:
sudo ifconfig eth0 down
Note que, para efetuar esta operação, é necessário ter privilégios administrativos no sistema (sudo).
Para ativar uma interface desabilitada, use a opção up
:
sudo ifconfig eth0 up
Se quiser, use ifup ou ifdown para obter o mesmo efeito. Veja um exemplo:
sudo ifup eth0
Mais simples, não é?
Como atribuir um endereço IP a uma interface de rede com ifconfig
Para atribuir ou alterar o endereço de rede IPv4, basta informar o novo endereço IP após o nome da interface:
sudo ifconfig eth0 192.168.0.100
Para alterar a máscara da subrede use a opção netmask
:
sudo ifconfig eth0 netmask 255.255.255.0
Você pode alterar vários itens de uma só vez:
sudo ifconfig eth0 192.168.2.2 netmask 255.255.255.0 broadcast 192.168.2.255 ifconfig eth0
eth0 Link encap:Ethernet Endereço de HW 50:b7:c3:04:da:48 inet end.: 192.168.2.2 Bcast:192.168.2.255 Masc:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Métrica:1 pacotes RX:0 erros:0 descartados:0 excesso:0 quadro:0 Pacotes TX:0 erros:0 descartados:0 excesso:0 portadora:0 colisões:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Se você quiser saber como alterar o endereço de hardware MAC, leia este artigo.
Como alterar o endereço IPv6 da placa de rede
O princípio é o mesmo usado anteriormente — só que você precisa especificar o tipo de endereço IPv6.
Veja um exemplo:
sudo ifconfig eth0 inet6 add 2001:0db8:0:f101::1/64
Para remover o mesmo endereço IPv6, use a opção del
:
ifconfig eth0 inet6 del 2001:0db8:0:f101::1/64
Como alterar a MTU da interface de rede
Uma taxa de MTU mais larga pode proporcionar mais eficiência — por que cada pacote que transita na rede poderá levar mais dados do usuário.
Aumentar o valor da MTU permite ao sistema processar menor quantidade de pacotes ao transmitir a mesma quantidade de dados.
A MTU corresponde a unidade de transmissão máxima — ou Maximum Transmission Unit — do protocolo de comunicação de uma camada. Seu tamanho é definido pela maior quantidade de bytes que a camada consegue repassar.
Em alguns sistemas, o processamento-por-pacote pode ser um limitador crítico da performance.
O ganho obtido com o aumento da taxa MTU traz consequências negativas.
Pacotes maiores ocupam links mais lentos por mais tempo do que pacotes menores — o que pode causar gargalos ou demoras para passar dados.
De forma resumida: aumento do lag e latência mínima.
Pacotes mais volumosos também são problemáticos na presença de erros de comunicação: uma pequena corrupção em um único bit, requer que todo o pacote seja retransmitido.
Se você quer alterar o valor do MTU, contudo, você provavelmente sabe o que está fazendo (não é?).
A interface de rede Ethernet tem um valor padrão de unidade de transmissão de 1500. Para alterar este valor para 1400, siga o exemplo abaixo:
ifconfig eth0 mtu 1400
Uma outra forma de ver o valor da MTU de cada interface é através do uso do comando ip:
ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1400 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000 link/ether 50:b7:c3:04:da:48 brd ff:ff:ff:ff:ff:ff 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000 link/ether c4:85:08:a5:0a:aa brd ff:ff:ff:ff:ff:ff 4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default link/ether 56:84:7a:fe:97:99 brd ff:ff:ff:ff:ff:ff
Eventualmente, use o comando grep, para ver apenas as informações que te interessam.
Como ativar o modo promíscuo na sua interface de rede
O modo promíscuo ou promiscuous/promisc mode é comumente usado para diagnosticar problemas de conectividade em uma rede.
No Linux, você precisa ter privilégios administrativos para ativar este modo em uma interface de rede.
Quando este modo está ativado, você pode usar programas que fazem uso deste recurso para mostrar todos os dados em trânsito dentro da rede.
Alguns protocolos, como o FTP e o Telnet fazem transferência de dados em modo texto puro, sem encriptação e, portanto, podem ter seus dados expostos através de um programa scanner de rede — que faça uso do modo promíscuo para sondar o tráfego.
Para ativar o modo promíscuo da sua interface wifi wlan0
, use o exemplo:
sudo ifconfig wlan0 promisc
Para voltar ao modo normal (não-promíscuo), use a opção -promisc
:
sudo ifconfig wlan0 -promisc
Como adicionar interfaces alias de rede
O ifconfig pemite configurar interfaces de rede adicionais através do recurso alias.
Veja como adicionar uma interface de rede alias.
Se o endereço IP da sua interface eth0 é 192.168.0.125, então o alias tem que ser 192.168.0.127:
sudo ifconfig eth0:0 192.168.0.127
Agora verifique a nova interface:
ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:01:6C:99:14:68 inet addr:192.168.0.127 Bcast:192.168.0.63 Mask:255.255.255.240 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:17
Para desativar a interface alias, use a opção down:
ifconfig eth0:0 down
Referências
http://en.wikipedia.org/wiki/Maximum_transmission_unit
http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/x1050.html
2 replies on “Como configurar sua interface de rede com o ifconfig”
Até que por fim encontrei o que precisava, uma luz onde só via a treva deste blogs que simplesmente mostram em português o que está acontecendo em USA! Sou engenheiro eletricista,enfase Computadores a 30 anos e fui para os microcontroladores porque o windows apareceu e passei a usar o computador como usuário, parei quando o windows começou, eu era crack no apple 6502, no PC mas parei por não ver o que tinha dentro. Estes amplificadores Classe C foram feitos por mim (BANDA e TARAMPS) e os outros são cópias, todos não tem fidelidade,só potência, mas poderiam operar melhor que um classe A! Quero usar o WiFi no micro e transmitir internet para o celular, agora parece possível. OBRIGADO!!!!!!!
sudo ifconfig eth0 down
Note que, para efetuar esta operação, é necessário ter privilégios administrativos no sistema (sudo).
Para ativar uma interface desabilitada, use a opção up:
sudo ifconfig eth0 up
Se quiser, use ifup ou ifdown para obter o mesmo efeito. Veja um exemplo:
se a interface cair como eu subo ela se eu perder a conexão ?