Como redefinir os contadores ifconfig?

16

Quando executo, ifconfig eth0veja as seguintes linhas:

eth0      Link encap:Ethernet  HWaddr 08:00:27:42:81:a7  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe42:81a7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:66 errors:0 dropped:0 overruns:0 frame:0
          TX packets:212 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:8001 (8.0 KB)  TX bytes:34004 (34.0 KB)

Como posso redefinir esses contadores, especialmente os pacotes RX / TX ?

estranho
fonte
1
Embora você não queira fazer isso, vale a pena notar que você também pode simplesmente reiniciar o computador. :)
Vreality
6
Sim, você pode redefinir os contadores reiniciando o computador, mas é uma boa escolha? É confortável fechar todos os programas e reiniciar o computador para redefinir alguns contadores? Você sugere Reiniciar cara Engenharia , não é uma solução.
SuB

Respostas:

10

Esses contadores são mantidos pelo kernel; portanto, sua resposta depende de como o driver da placa de rede é construído. Duas escolhas possíveis:

  1. Módulo Kernel
  2. Dentro do kernel

Se for o segundo, não será possível redefinir os contadores sem reiniciar o sistema operacional. Se for o primeiro, você pode fazer isso descarregando o módulo do kernel e, em seguida, carregando-o novamente. Se sua placa NIC usar o módulo e1000 , use os seguintes comandos:

$ ifconfig eth0 down
$ modprobe -r e1000
$ modprobe e1000
$ ifconfig eth0 up

Use ethtoolpara descobrir seu módulo NIC:

$ ethtool -i eth0

Na frente do driver, você vê o nome do seu módulo:

driver: e1000
version: 7.3.21-k8-NAPI
firmware-version: 
...

Use apt-getpara instalar da ethtoolseguinte maneira:

$ apt-get install ethtool
Sub
fonte
modprobe -rdescarrega o driver do kernel (o que poderia deixá-lo sem um método de acessar a máquina), portanto, se você estiver fazendo isso remotamente, aconselho apenas reiniciar.
Score_Under
@Score_Under: A melhor solução para acesso remoto está escrevendo estes comando para um arquivo script bash e depois executá-lo com nohup, ou seja:nohup bash restart_counters_script.sh
SuB
Você sabe como posso fazer isso com a interface de loopback? Além disso: é possível desvincular / vincular o driver sem remover o módulo do kernel?
Pablo Bianchi