ตารางเส้นทางใดที่วิเคราะห์ตามลำดับ


18

บนพีซีของฉันฉันต้องทำตามตารางเส้นทาง:

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0

ฉันไม่เข้าใจวิธีการวิเคราะห์ฉันหมายถึงจากบนลงล่างหรือจากล่างขึ้นบน

หากวิเคราะห์จากบนลงล่างทุกอย่างจะถูกส่งไปยังเราเตอร์ในบ้านของฉันเสมอแม้ว่าปลายทาง IP จะเป็น 192.168.1.15 แต่สิ่งที่ฉันรู้ (ผิด?) คือถ้าพีซีอยู่ในเครือข่ายท้องถิ่นเดียวกันเมื่อฉันกู้คืนปลายทาง MAC ผ่านข้อความออกอากาศแล้วพีซีของฉันสามารถส่งข้อความโดยตรงไปยังปลายทางได้

คำตอบ:


17

ตารางเส้นทางจะถูกใช้ตามลำดับที่เฉพาะเจาะจงมากที่สุดถึงเฉพาะน้อยที่สุด

อย่างไรก็ตามใน linux มันซับซ้อนกว่าที่คุณคิด ประการแรกมีตารางเส้นทางมากกว่าหนึ่งตารางและเมื่อใช้ตารางเส้นทางที่ขึ้นอยู่กับกฎหลายข้อ

ในการรับภาพเต็ม:

$ ip rule show
0:  from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default

$ ip route show table local
broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1 
local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1 
local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1 
broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1 
broadcast 192.168.0.0 dev eth0  proto kernel  scope link  src 192.168.1.27 
local 192.168.1.27 dev eth0  proto kernel  scope host  src 192.168.1.27 
broadcast 192.168.1.255 dev eth0  proto kernel  scope link  src 192.168.1.27 

$ ip route show table main
default via 192.168.1.254 dev eth0 
192.168.0.0/23 dev eth0  proto kernel  scope link  src 192.168.1.27 

$ ip route show table default

$

localตารางเป็นตารางเส้นทางพิเศษที่มีลำดับความสำคัญของเส้นทางการควบคุมสูงสำหรับที่อยู่ภายในและการออกอากาศ

mainตารางเป็นตารางเส้นทางปกติที่มีเส้นทางที่ไม่ใช่นโยบายทั้งหมด นี่คือตารางที่คุณได้รับเพื่อดูว่าคุณเรียกใช้งานip route show(หรือเรียกip roสั้น ๆ ) ฉันไม่แนะนำให้ใช้routeคำสั่งเก่าอีกต่อไปเพราะมันจะแสดงเฉพาะmainตารางและรูปแบบผลลัพธ์ของมันค่อนข้างเก่า

ตารางdefaultว่างเปล่าและสงวนไว้สำหรับการประมวลผลภายหลังหากกฎเริ่มต้นก่อนหน้าไม่ได้เลือกแพ็กเก็ต

คุณสามารถเพิ่มตารางของคุณเองและเพิ่มกฎเพื่อใช้ในกรณีเฉพาะ ตัวอย่างหนึ่งคือถ้าคุณมีการเชื่อมต่ออินเทอร์เน็ตสองครั้ง แต่โฮสต์หรือเครือข่ายย่อยหนึ่งจะต้องถูกกำหนดเส้นทางผ่านการเชื่อมต่ออินเทอร์เน็ตหนึ่งโดยเฉพาะ

หนังสือPolicy Routing with Linuxอธิบายทั้งหมดนี้อย่างละเอียด


มีวิธีในการเปลี่ยนลำดับความสำคัญนั้นหรือไม่
Mheni

4

ตารางเส้นทางมักจะใช้ตามลำดับจาก "เฉพาะมากที่สุด" ถึง "เจาะจงน้อยที่สุด" ปลายทางที่0.0.0.0มีเน็ตมาส์กของ0.0.0.0เช่นเส้นทางเริ่มต้นของคุณนั้นมีความเป็นไปได้น้อยที่สุดและจะถูกนำมาใช้ครั้งสุดท้ายเสมอ

หากคุณมีที่อยู่ MAC สำหรับพีซีเครื่องอื่นในเครือข่ายท้องถิ่นของคุณ แต่อยู่ในเครือข่ายย่อยอื่นคุณสามารถเพิ่มเส้นทางโฮสต์เฉพาะสำหรับพีซีเครื่องนั้นและคุณอาจได้รับการสื่อสาร


s / มักจะ / เสมอ / นั่นเป็นพื้นฐานที่ค่อนข้างดีในการทำงานของตารางเส้นทาง
Celada

1
@Celada ฉันไม่ได้ระบุถึงตัวชี้วัดสำหรับเส้นทาง "เฉพาะเจาะจง" แล้วก็มีการกำหนดเส้นทางนโยบาย สำหรับช่วงเวลาอย่างน้อยเรายืนโดยมักจะ
roaima
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.