Lệnh tracepath trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh tracepath của Linux để theo dõi đường đi của các gói tin từ máy cục bộ đến một máy từ xa, và xác định bất kỳ vấn đề mạng nào trên đường đi. Lab này bao gồm mục đích của lệnh tracepath, cách sử dụng nó để theo dõi đường đi đến một máy từ xa và cách khắc phục sự cố mạng bằng lệnh này. Bạn sẽ học cách diễn giải đầu ra của lệnh tracepath và sử dụng nó để xác định các vấn đề mạng tiềm ẩn, chẳng hạn như độ trễ cao, mất gói tin hoặc các vấn đề MTU.

Hiểu Mục Đích của Lệnh tracepath

Trong bước này, bạn sẽ tìm hiểu về mục đích và cách sử dụng lệnh tracepath trong Linux. Lệnh tracepath là một công cụ chẩn đoán mạng được sử dụng để theo dõi đường đi của các gói tin từ máy cục bộ đến một máy từ xa, và để xác định bất kỳ hop trung gian hoặc các vấn đề mạng nào trên đường đi.

Lệnh tracepath tương tự như lệnh traceroute, nhưng nó sử dụng cơ chế Path MTU Discovery (PMTUD) để xác định maximum transmission unit (MTU) dọc theo đường đi, có thể giúp xác định các vấn đề mạng liên quan đến phân mảnh gói tin.

Hãy bắt đầu bằng cách chạy lệnh tracepath đến một máy từ xa:

$ sudo tracepath google.com
 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.1.1                                           0.161ms
 1:  192.168.1.1                                           0.158ms
 2:  10.0.0.1                                              1.694ms
 3:  203.0.113.1                                           9.717ms
 4:  142.250.209.174                                      10.843ms
 5:  142.250.209.174                                      10.518ms
     Resume: pmtu 1500 hops 5 back 5

Ví dụ đầu ra:

Đầu ra hiển thị đường đi của các gói tin từ máy cục bộ đến máy từ xa google.com. Mỗi dòng đại diện cho một hop trên đường đi, và đầu ra bao gồm các thông tin sau:

  • Số hop
  • Địa chỉ IP của router hoặc thiết bị mạng trung gian
  • Thời gian khứ hồi (RTT) để gói tin đến hop đó và quay trở lại máy cục bộ

Lệnh tracepath cũng báo cáo maximum transmission unit (MTU) dọc theo đường đi, trong trường hợp này là 1500 bytes.

Bằng cách chạy lệnh tracepath, bạn có thể xác định bất kỳ vấn đề mạng hoặc tắc nghẽn nào trên đường đi, chẳng hạn như độ trễ cao, mất gói tin hoặc các vấn đề MTU.

Theo Dõi Đường Đi đến Máy Từ Xa Bằng tracepath

Trong bước này, bạn sẽ học cách sử dụng lệnh tracepath để theo dõi đường đi đến một máy từ xa và xác định bất kỳ vấn đề mạng nào trên đường đi.

Hãy bắt đầu bằng cách theo dõi đường đi đến một máy từ xa, chẳng hạn như google.com:

$ sudo tracepath google.com
 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.1.1                                           0.161ms
 1:  192.168.1.1                                           0.158ms
 2:  10.0.0.1                                              1.694ms
 3:  203.0.113.1                                           9.717ms
 4:  142.250.209.174                                      10.843ms
 5:  142.250.209.174                                      10.518ms
     Resume: pmtu 1500 hops 5 back 5

Ví dụ đầu ra:

Đầu ra hiển thị đường đi của các gói tin từ máy cục bộ đến máy từ xa google.com. Mỗi dòng đại diện cho một hop trên đường đi, và đầu ra bao gồm các thông tin sau:

  • Số hop
  • Địa chỉ IP của router hoặc thiết bị mạng trung gian
  • Thời gian khứ hồi (RTT) để gói tin đến hop đó và quay trở lại máy cục bộ

Lệnh tracepath cũng báo cáo maximum transmission unit (MTU) dọc theo đường đi, trong trường hợp này là 1500 bytes.

Bạn cũng có thể sử dụng lệnh tracepath để theo dõi đường đi đến một máy từ xa khác, chẳng hạn như example.com:

$ sudo tracepath example.com
 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.1.1                                           0.161ms
 1:  192.168.1.1                                           0.158ms
 2:  10.0.0.1                                              1.694ms
 3:  203.0.113.1                                           9.717ms
 4:  93.184.216.34                                        10.843ms
 5:  93.184.216.34                                        10.518ms
     Resume: pmtu 1500 hops 5 back 5

Bằng cách chạy lệnh tracepath đến các máy từ xa khác nhau, bạn có thể xác định bất kỳ vấn đề mạng hoặc tắc nghẽn nào trên đường đi, chẳng hạn như độ trễ cao, mất gói tin hoặc các vấn đề MTU.

Khắc Phục Sự Cố Mạng Với tracepath

Trong bước này, bạn sẽ học cách sử dụng lệnh tracepath để khắc phục sự cố mạng.

Hãy bắt đầu bằng cách mô phỏng một vấn đề mạng bằng cách chặn kết nối đến một máy từ xa bằng tường lửa iptables:

$ sudo iptables -A OUTPUT -d 8.8.8.8 -j DROP

Lệnh này sẽ chặn tất cả lưu lượng truy cập đi đến địa chỉ IP 8.8.8.8, là một trong các máy chủ DNS công cộng của Google.

Bây giờ, hãy thử theo dõi đường đi đến 8.8.8.8 bằng lệnh tracepath:

$ sudo tracepath 8.8.8.8
 1?: [LOCALHOST]                                         pmtu 1500
 1:  192.168.1.1                                           0.161ms
 1:  192.168.1.1                                           0.158ms
 2:  10.0.0.1                                              1.694ms
 3:  no reply
 4:  no reply
 5:  no reply
     Resume: pmtu 1500 hops 5 back 2

Ví dụ đầu ra:

Đầu ra cho thấy lệnh tracepath đã có thể theo dõi đường đi đến hop thứ ba, nhưng sau đó gặp phải thông báo "no reply", cho thấy rằng kết nối đã bị chặn hoặc máy từ xa không phản hồi.

Để khắc phục sự cố này, bạn có thể thử những cách sau:

  1. Kiểm tra các quy tắc tường lửa để đảm bảo rằng kết nối đang bị chặn như mong đợi:

    $ sudo iptables -L
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    DROP       all  --  anywhere             8.8.8.8
  2. Thử ping máy từ xa để xem kết nối có thực sự bị chặn hay không:

    $ ping 8.8.8.8
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    ^C
    --- 8.8.8.8 ping statistics ---
    3 packets transmitted, 0 received, 100% packet loss, time 2023ms

    Đầu ra cho thấy kết nối đang bị chặn, như được chỉ ra bởi 100% packet loss.

  3. Xóa quy tắc tường lửa để khôi phục kết nối:

    $ sudo iptables -D OUTPUT -d 8.8.8.8 -j DROP

Bằng cách sử dụng lệnh tracepath để xác định điểm mà kết nối đang bị chặn, bạn có thể nhanh chóng khắc phục sự cố mạng và xác định nguyên nhân gốc rễ.

Tóm tắt

Trong lab này, bạn sẽ tìm hiểu về mục đích và cách sử dụng lệnh tracepath trong Linux, một công cụ chẩn đoán mạng được sử dụng để theo dõi đường đi của các gói tin từ máy cục bộ đến một máy từ xa và xác định bất kỳ hop trung gian hoặc các vấn đề mạng nào trên đường đi. Bạn cũng sẽ học cách sử dụng lệnh tracepath để theo dõi đường đi đến một máy từ xa và khắc phục sự cố mạng bằng cách sử dụng đầu ra của lệnh.

Lệnh tracepath tương tự như lệnh traceroute, nhưng nó sử dụng cơ chế Path MTU Discovery (PMTUD) để xác định maximum transmission unit (MTU) dọc theo đường đi, có thể giúp xác định các vấn đề mạng liên quan đến phân mảnh gói tin. Bằng cách chạy lệnh tracepath, bạn có thể xác định bất kỳ vấn đề mạng hoặc tắc nghẽn nào trên đường đi, chẳng hạn như độ trễ cao, mất gói tin hoặc các vấn đề MTU.

400+ câu lệnh phổ biến trong Linux