A ferramenta ifconfig
(de net-tools
) está sendo reprovada em favor da ferramenta ip
, que faz parte da suíte iproute2
.
Isto irá listar as interfaces e seus endereços de IP se eles tiverem um:
ip addr
Eu tenho que configurar uma conexão de rede em uma instalação do Arch Linux (no Virtualbox) e preciso saber quais interfaces de rede estou usando. Como posso fazer isso sem usar ifconfig
?
A ferramenta ifconfig
(de net-tools
) está sendo reprovada em favor da ferramenta ip
, que faz parte da suíte iproute2
.
Isto irá listar as interfaces e seus endereços de IP se eles tiverem um:
ip addr
O site Linux.com tem o artigo a seguir sobre a substituição do ifconfig comando com ip :
The first thing most people learn with the ifconfig command is how to find out what IP address has been assigned to an interface. This is usually done with the command ifconfig and no flags or arguments. To do the same with the ip command, it is run as such:
ip a
This command will list all interfaces with their associated information (Figure 1 above).
Let’s say you only want to see IPv4 information (for clarity). To do this, issue the command:
ip -4 a
Or, if you only want to see IPv6 information:
ip -6 a
What if you only want to see information regarding a specific interface? You can list information for a wireless connection with the command:
ip a show wlan0
You can even get more specific with this command. If > you only want to view IPv4 on the wlan0 interface, issue the command:
ip -4 a show wlan0
You can even list only the running interface using:
ip link ls up
Você também pode cli para a GUI do Network Manager, com o comando para listar as interfaces disponíveis, seu tipo, estado de conexão e conexão geral "name"
nmcli dev status
Ou você pode ir mais longe com
nmcli dev show
Que produzirá um resultado semelhante ao comando ipconfig /all
do Windows:
acejavelin@BlazingIcicle ~ $ nmcli dev show
GENERAL.DEVICE: enp2s0
GENERAL.TYPE: ethernet
GENERAL.HWADDR: F8:32:E4:BD:00:00
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: Wired connection 1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/0
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.1.188/24
IP4.GATEWAY: 192.168.1.1
IP4.ROUTE[1]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1000
IP4.DNS[1]: 208.67.220.220
IP4.DNS[2]: 208.67.222.222
IP4.DNS[3]: 192.168.1.1
IP6.ADDRESS[1]: fe80::36f1:930b:48a:ab0e/64
IP6.GATEWAY:GENERAL.DEVICE: lo
GENERAL.TYPE: loopback
GENERAL.HWADDR: 00:00:00:00:00:00
GENERAL.MTU: 65536
GENERAL.STATE: 10 (unmanaged)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
IP4.ADDRESS[1]: 127.0.0.1/8
IP4.GATEWAY:
IP6.ADDRESS[1]: ::1/128
IP6.GATEWAY:
acejavelin@BlazingIcicle ~ $
Isso também pode ser refinado para a interface específica
nmcli dev show eth0
ou nmcli dev show wl0
Também achei útil usar um alias de ipconfig
para realmente ser nmcli dev show
em vários computadores que uso.
Existe outra opção: usar os diretórios fornecidos pelo kernel (sysfs).
ls /sys/class/net/
Dessa forma, é fácil escrever:
for interface in $(ls /sys/class/net/) ; do
echo $interface
# ...
done
Observe que os subdiretórios podem oferecer algumas informações sobre os aspectos do nível de link (como o endereço MAC Ethernet), mas não coisas como endereço IP.
Caso alguém queira saber o que pode ser encontrado lá, aqui está a documentação: link
Tags linux linux-kernel arch-linux