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 ?


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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.