Τα διαγνωστικά δικτύου είναι ένα ουσιαστικό μέρος της εργασίας οποιουδήποτε Διαχειριστή Δικτύου/Συστήματος, το οποίο περιλαμβάνει ανάλυση και αντιμετώπιση προβλημάτων διαφορετικών τύπων προβλημάτων δικτύου.
Η γνώση της διαδρομής που διανύει ένα πακέτο IP μεταξύ δύο σημείων σε ένα δίκτυο δίνει πολλές χρήσιμες πληροφορίες για τα εκπαιδευμένα μάτια.
Ένα τέτοιο δημοφιλές και ευρέως χρησιμοποιούμενο εργαλείο πολλαπλών πλατφορμών που βοηθά στην ανάλυση και την αντιμετώπιση προβλημάτων που σχετίζονται με τη διαδρομή δικτύου είναι το traceroute.
Με απλά λόγια, το traceroute παρακολουθεί τη διαδρομή ενός πακέτου IP μεταξύ της πηγής και του προορισμού στέλνοντας πακέτα ανιχνευτή (πιθανόν ICMP ECHO ή TCP SYN) και στη συνέχεια ακούγοντας τις αποκρίσεις του ICMP «υπέρβαση χρόνου». Το TTL αυτών των πακέτων διατηρείται σκόπιμα ως ένα και αυξάνεται κατά ένα έως ότου λάβουμε το ICMP “port unreachable”, που σημαίνει ότι φτάσαμε στον κεντρικό υπολογιστή ή χτυπήσαμε τη μέγιστη τιμή (από προεπιλογή ως 30 hops).
Ένα παράδειγμα εξόδου traceroute μοιάζει με αυτό:
$ traceroute google.com traceroute to google.com (172.217.169.14), 30 hops max, 60 byte packets 1 140.91.200.22 (140.91.200.22) 0.129 ms 140.91.200.19 (140.91.200.19) 0.151 ms 140.91.200.77 (140.91.200.77) 0.114 ms 2 linxbgp1.iwscloud.com (195.66.226.34) 0.735 ms 0.701 ms 1.024 ms 3 195.66.224.125 (195.66.224.125) 0.603 ms 0.591 ms 0.591 ms 4 108.170.246.129 (108.170.246.129) 0.583 ms 0.745 ms 0.714 ms 5 209.85.241.95 (209.85.241.95) 1.576 ms 209.85.241.93 (209.85.241.93) 1.545 ms 209.85.241.95 (209.85.241.95) 1.520 ms 6 lhr25s26-in-f14.1e100.net (172.217.169.14) 0.584 ms 0.547 ms 0.507 ms $
Η προεπιλεγμένη έξοδος ιχνηλάτησης, όπως φαίνεται παραπάνω, δείχνει TTL (Time To Live) ή χρόνο μετ’ επιστροφής τριών πακέτων, μέγιστο αριθμό μετάβασης και μέγεθος πακέτου σε byte και διεύθυνση IP και επιλυμένο όνομα τομέα, όταν είναι δυνατόν.
Το Traceroute είναι πολύ χρήσιμο για τον προσδιορισμό των καθυστερήσεων απόκρισης και τη δρομολόγηση μεταξύ δύο κόμβων. Επιπλέον, βοηθά στον προσδιορισμό των σημείων αστοχίας σε μια διαδρομή προς τον προορισμό. Πολλά τείχη προστασίας και δρομολογητές μπλοκάρουν τα μηνύματα traceroute στο Διαδίκτυο, επομένως η έξοδος μπορεί να μην είναι πάντα σωστή.
Υπάρχουν πιθανοί τρόποι αντιμετώπισης σε κάποιο βαθμό αλλάζοντας τον τύπο μηνυμάτων διερεύνησης, αλλά μπορεί να βοηθήσει μόνο σε κάποιο βαθμό στην παράκαμψη αυτού του ζητήματος. Επομένως, πρέπει να το έχετε υπόψη σας όταν χρησιμοποιείτε αυτό το βοηθητικό πρόγραμμα.
Ορισμένες επιλογές στο traceroute απαιτούν αυξημένα δικαιώματα υπερχρήστη που επιτρέπουν την τροποποίηση σε ακατέργαστα πακέτα.
Πίνακας περιεχομένων
Εντολή tracepath
Το Red Hat Enterprise Linux ή το RHEL 8 και οι παράγωγες διανομές του Linux δεν διαθέτουν την εντολή traceroute εγκατεστημένη από προεπιλογή. Αυτό μπορεί να φαίνεται σαν μια σημαντική αλλαγή σε όσους έχουν συνηθίσει στο βοηθητικό πρόγραμμα traceroute σε προηγούμενες εκδόσεις του Red Hat Linux ή του CentOS.
Αλλά υπάρχει μια εξίσου ικανή εντολή διαθέσιμη από προεπιλογή στο RHEL8 που ονομάζεται tracepath, η οποία έχει παρόμοιες δυνατότητες με την αντίστοιχη διαδρομή διαδρομής και είναι έτοιμη για χρήση με την εγκατάσταση του λειτουργικού συστήματος.
Επιπλέον, το tracepath υποστηρίζει την επιλογή MTU, η οποία επιτρέπει τον εντοπισμό της τιμής MTU ή Maximum Transmission Unit, που είναι το μεγαλύτερο πακέτο που μπορεί να στείλει το tracepath μέσω του δικτύου.
Δείγμα εξόδου ιχνηλάτησης φαίνεται παρακάτω για αναφορά:
$ tracepath 131.153.76.66 1?: [LOCALHOST] pmtu 9000 1: 140.91.200.23 0.416ms asymm 2 1: 140.91.200.23 0.239ms asymm 2 2: 140.91.200.74 0.194ms pmtu 1500 2: oracle-svc071175-lag003322.ip.twelve99-cust.net 1.344ms 3: ldn-b7-link.ip.twelve99.net 19.996ms asymm 2 4: ldn-bb1-link.ip.twelve99.net 0.803ms asymm 5 5: prs-bb1-link.ip.twelve99.net 8.548ms asymm 6 6: mei-b5-link.ip.twelve99.net 18.111ms asymm 5 7: no reply 8: phoenix-svc071932-ic358857.ip.twelve99-cust.net 179.691ms asymm 7 9: 131.153.47.139 163.358ms asymm 8 10: no reply 11: 131.153.76.66 159.071ms !H Resume: pmtu 1500 $
Η προεπιλεγμένη έξοδος διαδρομής παρακολούθησης, όπως φαίνεται παραπάνω, δείχνει TTL (Time To Live) ή χρόνο μετ’ επιστροφής ενός πακέτου, MTU (Maximum Transmission Unit) που μπορεί να σταλεί μέσω του δικτύου μέσω διαδρομής παρακολούθησης και επιλυμένο όνομα τομέα όπου είναι δυνατόν.
Tracepath Σύνταξη
Η σύνταξη γενικής χρήσης της εντολής tracepath ακολουθεί:
$ tracepath <options> <destination DNS or IP>
#1. Χωρίς σημαίες, το tracepath δείχνει τη διαδρομή προς τον προορισμό που λαμβάνεται όπως φαίνεται παρακάτω:
$ tracepath 131.153.56.85 1?: [LOCALHOST] pmtu 9000 1: 140.91.200.77 0.226ms asymm 2 1: 140.91.200.79 0.497ms asymm 2 2: 140.91.200.74 0.216ms pmtu 1500 2: oracle-svc071174-lag003319.ip.twelve99-cust.net 0.691ms 3: slou-b1-link.ip.twelve99.net 1.249ms asymm 2 4: ldn-bb4-link.ip.twelve99.net 0.749ms asymm 3 5: nyk-bb1-link.ip.twelve99.net 80.617ms asymm 8 6: rest-bb1-link.ip.twelve99.net 153.250ms asymm 21 7: nyk-bb1-link.ip.twelve99.net 83.084ms asymm 6 8: nash-bb1-link.ip.twelve99.net 280.770ms asymm 9 9: no reply 10: dls-b23-link.ip.twelve99.net 110.820ms asymm 9 11: phx-b1-link.ip.twelve99.net 131.524ms 12: phx-b1-link.ip.twelve99.net 131.632ms asymm 11 13: giglinx-ic305413-phx-b1.ip.twelve99-cust.net 132.583ms asymm 12 14: no reply 15: giglinx-ic305414-phx-b1.ip.twelve99-cust.net 142.685ms asymm 12 16: PHOENIX-NAP.ear3.Chicago2.Level3.net 135.245ms asymm 4 17: no reply 18: no reply 19: speedchi.phoenixnap.com 133.809ms reached Resume: pmtu 1500 hops 19 back 8 $
#2. Εάν θέλετε να εκτυπώσετε μόνο τη διεύθυνση IP, μπορείτε να χρησιμοποιήσετε τη σημαία -n:
$ tracepath -n 131.153.56.85 1?: [LOCALHOST] pmtu 1500 1: 140.91.200.74 0.393ms asymm 2 1: 140.91.200.21 0.180ms asymm 2 2: 213.248.69.255 0.576ms 3: 213.248.98.246 1.210ms asymm 2 4: 62.115.117.122 1.371ms asymm 3 5: 62.115.133.239 141.920ms asymm 20 6: 62.115.141.244 77.732ms asymm 7 7: no reply 8: 62.115.137.55 881.711ms asymm 9 9: no reply 10: 62.115.137.55 914.855ms asymm 9 11: 62.115.125.97 132.182ms 12: 62.115.125.97 131.686ms asymm 11 13: 62.115.42.6 133.132ms asymm 12 14: no reply 15: 62.115.42.10 143.880ms asymm 12 16: 4.14.13.150 134.869ms asymm 4 17: no reply 18: 4.14.13.150 145.263ms asymm 4 19: 131.153.56.85 133.636ms reached Resume: pmtu 1500 hops 19 back 8 $
#3. Για να εκτυπώσετε τόσο ονόματα κεντρικών υπολογιστών όσο και διευθύνσεις IP, χρησιμοποιήστε τη σημαία -b:
$ tracepath -b 131.153.56.85 1?: [LOCALHOST] pmtu 1500 1: 140.91.200.19 (140.91.200.19) 0.197ms asymm 2 1: 140.91.200.74 (140.91.200.74) 0.141ms asymm 2 2: oracle-svc071175-lag003322.ip.twelve99-cust.net (213.248.98.247) 1.186ms 3: slou-b1-link.ip.twelve99.net (213.248.98.246) 10.273ms asymm 2 4: ldn-bb4-link.ip.twelve99.net (62.115.141.246) 0.941ms asymm 3 5: prs-bb2-link.ip.twelve99.net (62.115.133.239) 141.858ms asymm 20 6: rest-bb1-link.ip.twelve99.net (62.115.141.244) 76.210ms asymm 7 7: no reply 8: rest-bb1-link.ip.twelve99.net (62.115.141.244) 89.209ms asymm 7 9: no reply 10: dls-b23-link.ip.twelve99.net (62.115.136.119) 110.335ms asymm 9 11: phx-b1-link.ip.twelve99.net (62.115.125.97) 132.091ms 12: phx-b1-link.ip.twelve99.net (62.115.125.97) 131.844ms asymm 11 13: giglinx-ic315451-phx-b1.ip.twelve99-cust.net (80.239.195.78) 142.975ms asymm 14 14: no reply 15: no reply 16: PHOENIX-NAP.ear3.Chicago2.Level3.net (4.14.13.150) 135.233ms asymm 4 17: no reply 18: no reply 19: speedchi.phoenixnap.com (131.153.56.85) 133.871ms reached Resume: pmtu 1500 hops 19 back 8 $
#4. Για να ορίσετε μια προσαρμοσμένη τιμή του μήκους του πακέτου αντί να χρησιμοποιήσετε την προεπιλεγμένη τιμή του tracepath, π.χ. 65535, καθορίστε την τιμή με σημαία -l:
$ tracepath -l 300 131.153.56.85 1: 140.91.200.77 0.405ms asymm 2 2: oracle-svc071174-lag003319.ip.twelve99-cust.net 0.589ms 3: slou-b1-link.ip.twelve99.net 1.448ms asymm 2 4: ldn-bb4-link.ip.twelve99.net 0.960ms asymm 3 5: nyk-bb1-link.ip.twelve99.net 81.564ms asymm 8 6: rest-bb1-link.ip.twelve99.net 78.414ms asymm 7 7: nyk-bb1-link.ip.twelve99.net 84.286ms asymm 6 8: rest-bb1-link.ip.twelve99.net 87.529ms asymm 7 9: no reply 10: dls-b23-link.ip.twelve99.net 110.534ms asymm 9 11: phx-b1-link.ip.twelve99.net 131.449ms 12: phx-b1-link.ip.twelve99.net 131.303ms asymm 11 13: giglinx-ic315451-phx-b1.ip.twelve99-cust.net 143.059ms asymm 14 14: phx-b1-link.ip.twelve99.net 142.348ms asymm 11 15: giglinx-ic--305416-phx-b1.ip.twelve99-cust.net 143.554ms asymm 12 16: PHOENIX-NAP.ear3.Chicago2.Level3.net 134.790ms asymm 4 17: no reply 18: PHOENIX-NAP.ear3.Chicago2.Level3.net 145.926ms asymm 4 19: speedchi.phoenixnap.com 133.736ms reached Resume: pmtu 300 hops 19 back 8 $
#5. Μπορούμε επίσης να ορίσουμε την αρχική θύρα προορισμού χρησιμοποιώντας τη σημαία -p ως:
$ tracepath -p 9000 131.153.56.85 1?: [LOCALHOST] pmtu 1500 1: 140.91.200.18 0.160ms asymm 2 1: 140.91.200.74 0.177ms asymm 2 2: oracle-svc071175-lag003322.ip.twelve99-cust.net 1.151ms 3: slou-b1-link.ip.twelve99.net 1.727ms asymm 2 4: no reply 5: nyk-bb1-link.ip.twelve99.net 81.357ms asymm 8 6: rest-bb1-link.ip.twelve99.net 78.325ms asymm 7 7: no reply 8: rest-bb1-link.ip.twelve99.net 87.908ms asymm 7 9: no reply 10: dls-b23-link.ip.twelve99.net 109.797ms asymm 9 11: phx-b1-link.ip.twelve99.net 132.036ms 12: dls-b23-link.ip.twelve99.net 121.404ms asymm 9 13: giglinx-ic315450-phx-b1.ip.twelve99-cust.net 136.322ms asymm 12 14: phx-b1-link.ip.twelve99.net 142.596ms asymm 11 15: no reply 16: PHOENIX-NAP.ear3.Chicago2.Level3.net 135.182ms asymm 4 17: no reply 18: no reply 19: speedchi.phoenixnap.com 133.562ms reached Resume: pmtu 1500 hops 19 back 8 $
#6. Το μέγιστο άλμα, το οποίο έχει οριστεί από προεπιλογή ως 30, μπορεί να προσαρμοστεί χρησιμοποιώντας τη σημαία -m όπως φαίνεται παρακάτω:
$ tracepath -m 20 131.153.56.85 1?: [LOCALHOST] pmtu 1500 1: 140.91.200.18 0.175ms asymm 2 1: 140.91.200.77 0.169ms asymm 2 2: oracle-svc071174-lag003319.ip.twelve99-cust.net 0.669ms 3: slou-b1-link.ip.twelve99.net 2.443ms asymm 2 4: no reply 5: prs-bb2-link.ip.twelve99.net 142.778ms asymm 20 6: rest-bb1-link.ip.twelve99.net 76.756ms asymm 7 7: no reply 8: rest-bb1-link.ip.twelve99.net 89.272ms asymm 7 9: no reply 10: dls-b23-link.ip.twelve99.net 110.378ms asymm 9 11: phx-b1-link.ip.twelve99.net 132.582ms 12: phx-b1-link.ip.twelve99.net 132.135ms asymm 11 13: phx-b1-link.ip.twelve99.net 142.154ms asymm 11 14: no reply 15: giglinx-ic305414-phx-b1.ip.twelve99-cust.net 142.298ms asymm 12 16: PHOENIX-NAP.ear3.Chicago2.Level3.net 134.362ms asymm 4 17: no reply 18: no reply 19: speedchi.phoenixnap.com 133.474ms reached Resume: pmtu 1500 hops 19 back 8 $
Σημειώστε ότι το tracepath δεν υποστηρίζει αυξημένα προνόμια υπερχρήστη, όπως το traceroute, καθώς δεν υποστηρίζει τη δυνατότητα σύνθετης τροποποίησης πακέτων.
Περίληψη
Αυτό το άρθρο συνόψισε τη χρήση της εντολής traceroute, πώς χρησιμοποιείται στην αντιμετώπιση προβλημάτων που σχετίζονται με το δίκτυο και πώς μπορούμε να κάνουμε τις ίδιες εργασίες στα συστήματα RHEL8 χρησιμοποιώντας την εντολή tracepath.
Για να μάθετε περισσότερα σχετικά με αυτές τις εντολές, χρησιμοποιήστε την αντίστοιχη σελίδα man του εργαλείου.
$ man traceroute $ man tracepath