traceroute ให้เฉพาะดาว + วิธีแก้ไข


23

เมื่อฉันทำ:

  $ traceroute 8.8.8.8

ฉันได้รับผลลัพธ์ที่แสดงเฉพาะดาวถึงแม้ว่าการส่ง Ping ไปยัง google.com (8.8.8.8) ดูเหมือนว่าใช้งานได้

  1. ฉันต้องแก้ไขอะไรในไฟล์ / ความเชื่อมั่นของฉันเพื่อแก้ไขปัญหานี้
  2. ฉันต้องตรวจสอบอะไร

คำสั่ง Ping ส่งออก

    $ ping 8.8.8.8
    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_seq=1 ttl=46 time=73.4 ms
    64 bytes from 8.8.8.8: icmp_seq=2 ttl=46 time=69.6 ms

เอาต์พุตคำสั่ง traceroute

 $ traceroute 8.8.8.8
 traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
 10  * * *
 11  * * *
 12  * * *
 13  * * *
  14  * * *
 15  * * *
 16  * * *
 17  * * *
 18  * * *
 19  * * *
 20  * * *
 21  * * *
 22  * * *
 23  * * *
 24  * * *
 25  * * *
 26  * * *
 27  * * *
 28  * * *
 29  * * *
 30  * * *

โดยปกติจะเป็นเครือข่ายเฉพาะที่คุณเชื่อมต่ออยู่ แต่คุณอาจต้องการตรวจสอบไฟร์วอลล์และ / หรือลองใช้ไฟร์วอลล์ในเครื่องที่ปิดใช้งาน
Pavel Šimerda

เป็นไปได้ไหมที่จะทำการตรวจสอบอย่างละเอียดจากเครื่อง linux ของฉัน? (โดยคำสั่ง linux) เพื่อทำความเข้าใจปัญหา - ช่วยด้วย

@Eytan โปรดดูคำตอบที่อัพเดต ฉันได้กล่าวถึงไฟล์การกำหนดค่าที่ต้องมีการเปลี่ยนแปลง
Ramesh

สวัสดีการกำหนดค่าเหมือนกันบนเครื่องทั้งสองเครื่องเหมือนกันดังนั้นต่อไปฉันต้องตรวจสอบอะไรอีก

ฉันไม่สามารถแม้กระทั่ง traceroute ไปยัง localhost, มันช่างแปลก
เหลือเกิน

คำตอบ:


24

ฉันพบว่าtraceroute -Iให้ผลลัพธ์ที่สมบูรณ์มากขึ้น

-I, --icmp
      Use ICMP ECHO for probes

16

เครื่องหมายดอกจันที่คุณเห็นคือเซิร์ฟเวอร์ที่แพ็คเก็ตของคุณกำลังถูกกำหนดเส้นทางซึ่งมีการหมดเวลา (5.0+ วินาที) ดังนั้นtracerouteค่าเริ่มต้นในการพิมพ์ *

หมายเหตุ : แม้จะมีคำเตือนเกี่ยวกับสิ่งนี้ในtracerouteหน้า man

สิ่งที่สกัดมา

ในสภาพแวดล้อมเครือข่ายที่ทันสมัยวิธีการติดตามแบบดั้งเดิมไม่สามารถใช้งานได้เสมอเนื่องจากมีการใช้ไฟร์วอลล์อย่างกว้างขวาง ไฟร์วอลล์ดังกล่าวจะกรองพอร์ต UDP "ไม่น่า" หรือแม้แต่ ICMP echoes ในการแก้ปัญหานี้มีการใช้วิธีการติดตามเพิ่มเติมบางอย่าง (รวมถึง tcp) ดูรายการวิธีการที่มีอยู่ด้านล่าง วิธีการดังกล่าวพยายามที่จะใช้โปรโตคอลเฉพาะและพอร์ตต้นทาง / ปลายทางเพื่อเลี่ยงไฟร์วอลล์

ไฟร์วอลล์ส่วนใหญ่บล็อกทราฟฟิกขาออกบนพอร์ตอื่นที่ไม่ใช่ TCP / 80 ซึ่งเป็นพอร์ต IP ดีฟอลต์สำหรับทราฟฟิกเว็บ tracerouteในการใช้งานเป็นค่าเริ่มต้นของ Linux UDP, ping use ICMPดังนั้นผลลัพธ์ของคุณดูเหมือนว่าICMPอนุญาตให้ใช้แพ็กเก็ตในไฟร์วอลล์ของคุณในขณะที่UDPแพ็กเก็ตถูกบล็อกโดยไฟร์วอลล์

คุณสามารถดูการตอบสนองต่อคำถามของฉันชื่อ: traceroute และ ping จากเครือข่ายโรงเรียน

แก้ไข # 1

ตามความคิดเห็นหากนี่เป็นการทำงานในเครื่อง RHEL อื่นและไม่ทำงานในเครื่อง RHEL นี้ฉันขอแนะนำให้ทำตามขั้นตอนด้านล่าง

จากเครื่อง RHEL ที่ใช้งานได้ (เครื่อง A) ให้คัดลอก/etc/sysconfig/iptablesไฟล์ ในเครื่อง RHEL ผิดพลาด (เครื่อง B) คัดลอกต้นฉบับไฟล์ไปยังสิ่งที่ต้องการ/etc/sysconfig/iptables/etc/sysconfig/iptables.original

$ cp /etc/sysconfig/iptables /etc/sysconfig/iptables.original

ขั้นตอนนี้เป็นเพียงเพื่อให้แน่ใจว่าหากมีสิ่งผิดปกติกับการตั้งค่าของเราเราสามารถเปลี่ยนกลับเป็นต้นฉบับ ตอนนี้คัดลอก/etc/sysconfig/iptablesจากเครื่อง A ไปยังเครื่อง B


ดังนั้นดวงดาวจึงเป็นสัญญาณที่ไม่ดี? - พวกเขาระบุเกี่ยวกับปัญหาหรือไม่

แต่ถ้าพวกเขาบล็อกโดยไฟร์วอลล์ดังนั้นฉันมีปัญหา -

แต่จะรู้ได้อย่างไรว่าปัญหาในเครื่อง linux ของฉัน / หรือบางทีปัญหาคือ isshue ภายนอกบ้าง?

เครื่องนี้อยู่ในเครือข่ายฉันมีเครื่องอื่น แต่เอาท์พุทบนเครื่องอื่นคือ diff (ไม่ใช่ดาวทั้งหมด)

คุณหมายถึงไฟร์วอลล์ลินุกซ์หรือไม่ หรือไฟร์วอลล์อื่น ๆ

6

เครื่องที่คุณใช้ทดสอบหรือเกตเวย์ท้องถิ่น (เราเตอร์) กำลังบล็อก UDP หรือ ICMP ตรวจสอบให้แน่ใจว่าสิ่งเหล่านี้ได้รับอนุญาตในการกำหนดค่ากฎไฟร์วอลล์ / NAT ของคุณ


5
รายละเอียดเพิ่มเติมเล็กน้อยเกี่ยวกับวิธีการทำเช่นนั้นจะเป็นประโยชน์
Anthon

โปรดแนะนำเกี่ยวกับคำสั่งที่จำเป็นต้องทำงานบนเครื่อง linux ของฉันเพื่อตรวจสอบไฟร์วอลล์ / NAT ตามที่คุณอธิบาย

ICMP ต่อ se ไม่ได้ถูกบล็อกทั้งหมดเนื่องจาก OP กำลังทำการส่ง Ping
Rui F Ribeiro
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.