¿Cómo restablecer los contadores ifconfig?

16

Cuando corro ifconfig eth0ver las siguientes líneas:

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)

¿Cómo puedo restablecer estos contadores, especialmente los paquetes RX / TX ?

un extraño
fuente
1
Si bien es posible que no desee hacer esto, vale la pena señalar que también puede reiniciar su computadora. :)
Vreality
66
Sí, puede reiniciar los contadores reiniciando su computadora, pero ¿es una buena opción? ¿Es cómodo cerrar todos los programas y reiniciar la computadora para restablecer algunos contadores? Sugieres reiniciar ingeniería amigo, no es una solución.
SuB

Respuestas:

10

El kernel mantiene esos contadores, por lo que su respuesta depende de cómo esté construido el controlador de su tarjeta de red. Dos posibles opciones:

  1. Módulo de kernel
  2. Dentro del núcleo

Si es el segundo, no puede reiniciar los contadores sin reiniciar el sistema operativo. Si es el primero, puede hacerlo descargando el módulo del núcleo y luego volviéndolo a cargar. Si su tarjeta NIC usa el módulo e1000 , use los siguientes comandos:

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

Use ethtoolpara descubrir su módulo NIC:

$ ethtool -i eth0

Delante del controlador , verá el nombre de su módulo:

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

Use apt-getpara instalar de la ethtoolsiguiente manera:

$ apt-get install ethtool
Sub
fuente
modprobe -rdescarga el controlador del núcleo (lo que podría dejarlo sin un método de acceso a la máquina), por lo que si lo hace de forma remota, le aconsejaría que solo reinicie.
Score_Under
@Score_Under: Una mejor solución para el acceso remoto es escribir estos comandos en un archivo de script bash y luego ejecutarlos nohup, es decir:nohup bash restart_counters_script.sh
SuB
¿Sabes cómo puedo hacer esto con la interfaz de bucle invertido? Además: ¿ es posible simplemente desvincular / vincular el controlador sin quitar el módulo del núcleo?
Pablo Bianchi