Bagaimana cara mereset penghitung ifconfig?

16

Ketika saya menjalankan ifconfig eth0lihat baris berikut:

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)

Bagaimana saya bisa mereset penghitung ini terutama paket RX / TX ?

orang aneh
sumber
1
Meskipun Anda mungkin tidak ingin melakukan ini, perlu dicatat bahwa Anda juga dapat me-restart komputer Anda. :)
Vreality
6
Ya, Anda dapat mengatur ulang penghitung dengan menyalakan kembali komputer Anda, tetapi apakah itu pilihan yang baik? Apakah nyaman untuk menutup semua program dan menyalakan kembali komputer untuk mereset beberapa penghitung? Anda menyarankan Restart Teknik Bung, itu bukan solusi.
SuB

Jawaban:

10

Penghitung itu disimpan oleh kernel, jadi jawaban Anda tergantung pada bagaimana driver kartu jaringan Anda dibangun. Dua pilihan yang mungkin:

  1. Modul kernel
  2. Di dalam kernel

Jika kedua, Anda tidak dapat mengatur ulang penghitung tanpa memulai ulang sistem operasi. Jika ini pertama, Anda dapat melakukannya dengan membongkar modul dari kernel dan kemudian memuatnya kembali. Jika kartu NIC Anda menggunakan modul e1000 , gunakan perintah berikut:

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

Gunakan ethtooluntuk mencari tahu modul NIC Anda:

$ ethtool -i eth0

Di depan pengemudi Anda melihat nama modul Anda:

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

Gunakan apt-getuntuk menginstal ethtoolsebagai berikut:

$ apt-get install ethtool
Sub
sumber
modprobe -rmenurunkan driver dari kernel (yang dapat meninggalkan Anda tanpa metode mengakses mesin), jadi jika Anda melakukan ini dari jarak jauh saya akan menyarankan hanya me-reboot.
Score_Di Bawah
@Score_Under: Solusi yang lebih baik untuk akses jarak jauh adalah menulis perintah ini ke file skrip bash dan kemudian menjalankannya nohup, yaitu:nohup bash restart_counters_script.sh
SuB
Apakah Anda tahu bagaimana saya bisa melakukan ini dengan antarmuka loopback? Juga: apakah mungkin untuk melepas / mengikat driver tanpa melepas modul kernel?
Pablo Bianchi