ifconfig significa interface configuration(configuração de interface) e serve para administrar rede em sistemas operacionais Unix/Linux. Ele configura, gerencia e consulta parâmetros de interface de rede via linha de comando ou em scripts de configuração de sistema.
Atualmente, o ifconfig está sendo substituídos pelo comando ip, mas muitas distros e sistemas derivados do UNIX ainda a usam.
Instalando ifconfig
Você poderá perceber que a ferramenta ifconfig pode não estar instalada
maria@ti:~$ ifconfig Command 'ifconfig' not found, but can be installed with: sudo apt install net-tools
para instalar execute
sudo apt install net-toolsExemplos de Uso do Comando ifconfig
Vamos a exemplos de uso do comando ifconfig
#1 ifconfig
O comando “ifconfig” sem argumentos exibirá todos os detalhes das interfaces ativas. Muitos usuários usam esse comando para verificar qual endereço IP da interface de rede.
elder@ti:~$ ifconfig enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255 ether 00:e0:4c:8f:81:7d txqueuelen 1000 (Ethernet) RX packets 4682735 bytes 3605921669 (3.6 GB) RX errors 0 dropped 2710 overruns 0 frame 0 TX packets 1743710 bytes 266393322 (266.3 MB) 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 (Local Loopback) RX packets 19006 bytes 1801477 (1.8 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 19006 bytes 1801477 (1.8 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#2 ifconfig -a
O comando ifconfig com o argumento -a exibirá informações de todas as interfaces de rede ativas ou inativas no servidor.
maria@ti:~$ ifconfig -a enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255 ether 00:e0:4c:8f:81:7d txqueuelen 1000 (Ethernet) RX packets 4686465 bytes 3607381406 (3.6 GB) RX errors 0 dropped 2710 overruns 0 frame 0 TX packets 1745372 bytes 266726156 (266.7 MB) 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 (Local Loopback) RX packets 19118 bytes 1814821 (1.8 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 19118 bytes 1814821 (1.8 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#3 ifconfig enp2s0
Usar o nome da interface (enp2s0) como argumento do comando “ifconfig” exibirá detalhes da interface de rede específica.
maria@ti:~$ ifconfig enp2s0 enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255 ether 00:e0:4c:8f:81:7d txqueuelen 1000 (Ethernet) RX packets 4690618 bytes 3608721123 (3.6 GB) RX errors 0 dropped 2710 overruns 0 frame 0 TX packets 1746797 bytes 267045960 (267.0 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
#4 ifconfig up enp2s0 ou ifup enp2s0
O sinalizador “up” ou “ifup” com o nome da interface (eth0) ativa uma interface de rede se não estiver no estado inativo e permitindo enviar e receber informações.
maria@ti:~$ ifup enp2s0
ou
maria@ti:~$ ifconfig enp2s0 up
#5 ifconfig down enp2s0 ou ifdown enp2s0
maria@ti:~$ ifconfig enp2s0 up
ou
maria@ti:~$ ifdown enp2s0
#6 ifconfig enp2s0 192.168.50.100
Para atribuir ou adicionar um endereço IP a uma interface específica, use o seguinte comando com um nome de interface (enp2s0) e endereço IP que você deseja definir. Por exemplo, “ifconfig enp2s0 192.168.50.100” definirá o endereço IP para a interface enp2s0.
maria@ti:~$ ifconfig enp0s2 192.168.50.100
#7 ifconfig enp0s2 netmask 255.255.255.0
podemos ainda adiciona a máscara de rede assim
maria@ti:~$ sudo ifconfig enp0s2 netmask 255.255.255.0
#8 ifconfig enp2s0 broadcast 192.168.50.255
para adicionar um endereço broadcast
maria@ti:~$ ifconfig enp2s0 broadcast 192.168.50.255
#9 ifconfig enp2s0 192.168.50.100 netmask 255.255.255.0 broadcast 192.168.50.255
Para atribuir um endereço IP, endereço de máscara de rede e endereço de broadcast de uma só vez, use o comando “ifconfig” com todos os argumentos fornecidos abaixo.
maria@ti:~$ ifconfig enp2s0 192.168.50.100 netmask 255.255.255.0 broadcast 192.168.50.255
#10 ifconfig enp2s0 mtu 1000
O argumento “mtu” define a unidade máxima de transmissão para uma interface. O MTU permite que você defina o tamanho limite dos pacotes que são transmitidos em uma interface. A MTU é capaz de lidar com um número máximo de octetos para uma interface em uma única transação.
maria@ti:~$ ifconfig enp2s0 mtu 1000
Nem todas as interfaces de rede suportam configurações de MTU.
#11 ifconfig enp2s0 promisc
Esse comando ativa o modo promíscuo.
No modo normal, quando um pacote é recebido por uma placa de rede, ela verifica se o mesmo pertence a ela; se não pertencer, ela descarta o pacote normalmente, mas o modo promíscuo é usado para aceitar todos os pacotes que trafegam pela placa de rede.
As ferramentas de rede de hoje em dia usam o modo promíscuo para capturar e analisar os pacotes que trafegam pela interface de rede. Para definir o modo promíscuo, use o seguinte comando
maria@ti:~$ ifconfig enp2s0 promisc
#12 ifconfig enp2s0 -promisc
Para desativar o modo promíscuo, use a opção “-promisc” que retorna a interface de rede ao seu modo normal.
maria@ti:~$ ifconfig enp2s0 promisc
#13 ifconfig enp2s0:0 192.168.50.101
ifconfig permite configurar interfaces de rede adicionais usando um recurso chamado alias(apelido). Para adicionar um alias use o seguinte comando.
maria@ti:~$ ifconfig enp2s0:0 192.168.50.101
#13 ifconfig enp2s0:0 down
você pode removê-lo usando o seguinte comando:
maria@ti:~$ ifconfig enp2s0:0 down
#14 ifconfig enp2s0 hw ether AA:BB:CC:DD:EE:FF
Para alterar o endereço MAC (Media Access Control) de uma interface de rede, use o seguinte comando com o argumento “hw ether“:
maria@ti:~$ ifconfig enp2s0 hw ether AA:BB:CC:DD:EE:FF
Conclusão
Estes são os comandos mais úteis para configurar interfaces de rede no Linux, para mais informações e uso do comando ifconfig, use as páginas de manual como “man ifconfig” no terminal.
Alguns outros comandos úteis são: nmcli, Tcmpdump, Netstat, Wireshark, Munin, Cacti