È difficile trovare un computer Linux che non sia connesso alla rete , che si tratti di server o workstation. Di tanto in tanto diventa necessario diagnosticare guasti, intermittenza o lentezza nella rete. In questo articolo esamineremo alcuni dei comandi Linux più utilizzati per la diagnostica di rete.
Diagnostica rete in Linux con questi comandi
1. ping
Uno dei primi comandi, se non il primo, quando si diagnostica un guasto o un'intermittenza di rete. Lo strumento ping ci aiuterà a determinare se c'è una connessione nella rete, sia locale che Internet.
[root @ horla] # ping www.linuxandubuntu.com PING www.linuxandubuntu.com (173.274.34.38) 56 (84) bytes of data. 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 1 ttl = 59 time = 2.52 ms 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 2 ttl = 59 time = 2.26 ms 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 3 ttl = 59 time = 2.31 ms 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 4 ttl = 59 time = 2.36 ms 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 5 ttl = 59 time = 2.33 ms 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 6 ttl = 59 time = 2.24 ms 64 bytes from r4-nyc.webserversystems.com (173.274.34.38): icmp_seq = 7 ttl = 59 time = 2.35 ms
2. traceroute
Questo comando ci permette di vedere i salti necessari per raggiungere una destinazione. In questo caso, vediamo i salti necessari per raggiungere il nostro sito web. Questo test è stato eseguito da un laptop con Linux. Nell'esempio, facciamo un traceroute al nostro sito web, www.linuxandubuntu.com.
horla @ horla-ProBook: ~ $ traceroute www.linuxandubuntu.com traceroute to www.linuxandubuntu.com (173.274.34.38), 30 hops max, 60 byte packets 1 linuxandubuntu.com (192.168.1.1) 267,686 ms 267,656 ms 267,616 ms 2 10.104.0.1 (10.104.0.1) 267.630 ms 267.579 ms 267.553 ms 3 10,226,252,209 (10,226,252,209) 267,459 ms 267,426 ms 267,396 ms 4 * * * 5 10,111.2,137 (10,111.2,137) 266,913 ms 10,111.2,141 (10,111.2,141) 266,784 ms 10,111.2,101 (10,111.2,101) 266,678 ms 6 5.53.0.149 (5.53.0.149) 266.594 ms 104.340 ms 104.273 ms 7 5.53.3.155 (5.53.3.155) 135.133 ms 94.142.98.147 (94.142.98.147) 135.055 ms 176.52.255.35 (176.52.255.35) 135.069 ms 8 94,142,127,229 (94,142,127,229) 197,890 ms 5.53.6.49 (5.53.6.49) 197,850 ms 94,142,126,161 (94,142,126,161) 223,327 ms 9 ae-11.r07.nycmny01.us.bb.gin.ntt.net (129.250.9.1) 197.702 ms 197.715 ms 180.145 ms 10 * * * 11 csc180.gsc.webair.net (173.239.0.26) 179.719 ms 149.475 ms 149.383 ms 12 dsn010.gsc.webair.net (173.239.0.34) 149.288 ms 168.309 ms 168.202 ms 13 r4-nyc.webserversystems.com (173.274.34.38) 168.086 ms 168.105 ms 142.733 ms horla @ horla-ProBook: ~ $
3. percorso
Questo comando ci consente di vedere il percorso che il nostro team Linux utilizza per connettersi alla rete, in questo caso. La nostra attrezzatura parte tramite il router 192.168.1.1.
horla @ horla-ProBook: ~ $ route -n Core IP route table Destination Gateway Genmask Indic Metric Ref Use Interface 0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 wlo1 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlo1 192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlo1 horla @ horla-ProBook: ~ $
4. scavare
Questo comando ci consente di verificare se il DNS funziona correttamente, prima di ciò dobbiamo verificare quale DNS abbiamo nella configurazione di rete. In questo esempio, vogliamo vedere l'indirizzo IP del nostro sito Web, www.linuxandubuntu.com che ci restituisce 173.274.34.38.
horla-ProBook: ~ $ dig www.linuxandubuntu.com ; << >> DiG 9.10.3-P4-Ubuntu << >> www.linuxandubuntu.com ;; global options: + cmd ;; Got answer: ;; - >> HEADER << - opcode: QUERY, status: NOERROR, id: 12083 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION:; www.linuxandubuntu.com. IN A ;; ANSWER SECTION: www.linuxandubuntu.com. 2821 IN A 173.274.34.38 ;; Query time: 21 msec ;; SERVER: 127.0.1.1 # 53 (127.0.1.1) ;; WHEN: Wed Nov 7 19:58:30 PET 2018 ;; MSG SIZE rcvd: 51 horla @ horla-ProBook: ~ $
5. ethtool
Questo strumento è un sostituto del mii-tool. Proviene da CentOS6 in poi e permette di vedere se la scheda di rete è fisicamente connessa alla rete, cioè. Possiamo diagnosticare se il cavo di rete è effettivamente collegato allo switch.
# ethtool eth0 Settings for eth0: Supported ports: [] Supported link modes: Not reported Supported pause frame use: No Supports auto-negotiation: No Advertised link modes: Not reported Advertised pause frame use: No Advertised auto-negotiation: No Speed: Unknown! Duplex: Unknown! (255) Port: Other PHYAD: 0 Transceiver: internal Auto-negotiation: off Link detected: yes
6. INDIRIZZO IP LS
Un altro degli strumenti specifici di Linux che ci permette di elencare le schede di rete e i rispettivi indirizzi IP. Questo strumento è molto utile quando sono configurati diversi indirizzi IP.
[[email protected] named]# ip addr ls 1: lo: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth6: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:15:5d:a0:f6:05 brd ff:ff:ff:ff:ff:ff inet 193.82.34.169/27 brd 190.82.35.192 scope global eth6 inet 192.168.61.10/24 brd 192.168.61.255 scope global eth6:1 inet6 fe80::215:5dff:fea0:f605/64 scope link valid_lft forever preferred_lft forever
7. ifconfig
Essenziale come i precedenti, ifconfig ci permette di vedere la configurazione di rete delle schede installate nel nostro team. In questo caso, viene mostrata 1 scheda di rete fisica disconnessa in p37s0, la scheda di rete locale o localhost lo e la scheda di rete wireless wlo1 connessa alla rete. Evidenziamo intenzionalmente le schede installate e gli indirizzi IP assegnati.
horla @ horla-ProBook: ~ $ ifconfig enp37s0 Link encap: Ethernet addressHW 2c: 41: 38: 15: 4b: 0e ACTIVE MULTICAST MTU DISTRIBUTION: 1500 Metric: 1 RX packages: 0 errors: 0 lost: 0 overruns: 0 frame: 0 TX packages: 0 errors: 0 lost: 0 overruns: 0 carrier: 0 collisions: 0 long.colaTX: 1000 Bytes RX: 0 (0.0 B) TX bytes: 0 (0.0 B) lo Link encap: Local loop Direc. inet: 127.0.0.1 Másc: 255.0.0.0 Inet6 address: :: 1/128 Scope: Host ACTIVE LOOP RUNNING MTU: 65536 Metric: 1 RX packages: 19095 errors: 0 lost: 0 overruns: 0 frame: 0 TX packages: 19095 errors: 0 lost: 0 overruns: 0 carrier: 0 Collisions: 0 long.colaTX: 1 Bytes RX: 1716020 (1.7 MB) TX bytes: 1716020 (1.7 MB) wlo1 Link encap: Ethernet addressHW 20: 10: 7a: fc: b1: 44 Direc. inet: 192.168.1.102 Difus.:192.168.1.255 Masc: 255.255.255.0 Inet6 address: fe80 :: 2b5d: 1b14: 75a: e095 / 64 Scope: Link ACTIVE DIFFUSION FUNCTIONING MULTICAST MTU: 1500 Metric: 1 RX packages: 1660063 errors: 0 lost: 0 overruns: 0 frame: 0 TX packages: 1285046 errors: 0 lost: 0 overruns: 0 carrier: 0 collisions: 0 long.colaTX: 1000 Bytes RX: 966719020 (966.7 MB) TX bytes: 209302107 (209.3 MB) horla @ horla-ProBook: ~ $
8. mt
Un altro dei nostri strumenti preferiti MTR o My Traceroute ci consente di vedere i salti del router e di eseguire il ping di ciascuno. Questo è molto utile per determinare quali di questi router sono quelli che hanno ritardi nel traffico di rete.
My traceroute [v0.75] My traceroute [v0.75] router02 (0.0.0.0) Nov 7 20:19:24 2018Resolver: Received error response 2. (server failure) er of fields quit Packets Pings Host Loss% Snt Last Avg Best Wrst StDev 1. router2-linuxandubuntu.com 0.0% 11 0.7 0.7 0.6 0.8 0.1 2. 173.255.239.16 0.0% 11 0.8 0.9 0.8 1.6 0.2 3. 173.255.239.8 0.0% 11 2.9 3.2 0.8 7.8 2.1 4. ??? 5. es0.nyc4.webair.net 0.0% 10 2.0 2.6 1.8 7.7 1.8 6. csc180.gsc.webair.net 0.0% 10 2.6 2.6 2.6 2.7 0.1 7. dsn010.gsc.webair.net 0.0% 10 2.2 2.2 2.1 2.3 0.1 8. r4-nyc.webserversystems.com 0.0% 10 2.3 2.4 2.2 2.5 0.1
9. ricerca
Un altro strumento per conoscere l'indirizzo IP dell'host che vogliamo raggiungere. In questo caso, vogliamo conoscere l'IP del nostro sito Web, www.linuxandubuntu.com.
# nslookup www.linuxandubuntu.com Server: 127.0.0.1 Address: 127.0.0.1 # 53 Non-authoritative answer: Name: www.linuxandubuntu.com Address: 173.274.34.38
10. nmtui-modifica
Interfaccia utente di testo di Network Manager (nmtui o Network Manager basato sulla riga di comando). Utilizza ncurses e ci consente di configurare facilmente dal terminale e senza dipendenze aggiuntive. Offre un'interfaccia grafica, basata sul testo, in modo che l'utente apporti tali modifiche.
Conclusione
Con questi comandi di rete , avremo la possibilità di effettuare una gestione molto più diretta e precisa sui vari parametri della rete in ambienti Linux. Inoltre con il comando mtr come accennato sopra, possiamo avere un controllo più semplice sullo stato della nostra rete e verificare in modo molto più centrale i suoi diversi aspetti focalizzati sulla sua ottimizzazione. Grazie per aver letto.