สมมติว่าเค้าโครงเครือข่ายต่อไปนี้:
R1: R2:
10.1.1.0/24 <--- 10.1.1.1, 192.168.1.1 <----------> 192.168.1.2, 10.1.2.1 ---> 10.1.2.0/24
ติดตั้ง BIRD ทั้งบน R1 และ R2 ข้อมูลทั้งหมดเกี่ยวกับโทโพโลยีเครือข่ายจะได้รับโดยอัตโนมัติ ฉันเข้าใจว่า BIRD จะแจกจ่ายข้อมูลนี้โดยอัตโนมัติเพื่อให้สถานีทั้งหมดสามารถเชื่อมต่อได้ แต่ดูเหมือนจะไม่ตรงไปตรงมา: R1 และ R2 ต่างก็สร้างเส้นทาง "ไดนามิก" โดยอัตโนมัติสำหรับซับเน็ตที่เกี่ยวข้อง แต่จะไม่ได้รับการจัดการโดยอัตโนมัติ
เดอะ อุปกรณ์ โปรโตคอลไม่นำเข้า / ส่งออกเส้นทาง เอกสารพูดเกี่ยวกับ โดยตรง มาตรการ:
[...] แม้ว่าจะมีบางกรณีการใช้งานที่ใช้โปรโตคอลโดยตรง
(เช่นการใช้ eBGP ในทางที่ผิดเป็นโปรโตคอลการกำหนดเส้นทาง IGP) ในกรณีส่วนใหญ่ก็คือ
ไม่จำเป็นต้องมีเส้นทางอุปกรณ์เหล่านี้ในตารางเส้นทาง BIRD และไปยัง
ใช้โปรโตคอลโดยตรง [...]
ฉันคิดว่า เคอร์เนล โปรโตคอลจะนำเข้าเส้นทางเหล่านี้โดยอัตโนมัติเนื่องจากเป็นส่วนหนึ่งของตารางเส้นทางเคอร์เนล แต่เอกสารระบุว่า:
น่าเสียดายที่มีสิ่งหนึ่งที่ทำให้ตารางเส้นทาง
การซิงโครไนซ์ซับซ้อนขึ้นเล็กน้อย ในตารางเส้นทางเคอร์เนล
นอกจากนี้ยังมีเส้นทางอุปกรณ์สำหรับเครือข่ายที่เชื่อมต่อโดยตรง เหล่านี้
เส้นทางมักจะจัดการโดย OS เอง (เป็นส่วนหนึ่งของที่อยู่ IP
configuration) และเราไม่ต้องการแตะต้องสิ่งนั้น พวกเขาสมบูรณ์
ละเว้นระหว่างการสแกนตารางเคอร์เนลและการส่งออกของ
เส้นทางอุปกรณ์จากตาราง BIRD ไปยังตารางเส้นทางเคอร์เนลถูกจำกัด
เพื่อป้องกันการรบกวนโดยไม่ตั้งใจ
ดังนั้นจึงไม่มีใคร (ไม่มีโปรโตคอล) ต้องการรับผิดชอบในการกระจายเส้นทางที่จะทำให้ทั้งสองเครือข่ายเชื่อมต่อกัน สิ่งที่เหลืออยู่คือ คงที่ แต่ฉันจะต้องสร้างการเชื่อมต่อทั้งหมดของเราเตอร์ในไฟล์กำหนดค่านกใหม่ ซึ่งเป็นสิ่งที่ฉันคิดว่า OSPF บน BIRD จะทำเพื่อฉัน นี่คือสิ่งที่ฉันควรทำ?
ไฟล์ปรับแต่งสำหรับ R1 และ R2 ควรมีลักษณะอย่างไร
รหัสเราเตอร์ 192.168.1.1;
อุปกรณ์โปรโตคอล {
เวลาสแกน 10;
}
โปรโตคอลโดยตรง {
อินเตอร์เฟซ "*"; #ควรใช้ไหม?
}
เคอร์เนลโปรโตคอล {
เรียนรู้;
ส่งออกทั้งหมด
นำเข้าทั้งหมด
เส้นทางอุปกรณ์ จริง; #หรือฉันจะใช้สิ่งนี้?
}
# ฉันต้องการหลีกเลี่ยงการทำสิ่งนี้:
#โปรโตคอลคงที่ {
# ส่งออกทั้งหมด
# เส้นทาง 10.1.1.0/24 ผ่าน 192.168.1.1;
#}
โปรโตคอล ospf {
นำเข้าทั้งหมด
ส่งออกทั้งหมด
พื้นที่ 0 {
อินเทอร์เฟซ "eth0", "eth1" {
ราคา 10; สวัสดี 10; ส่ง 2; รอ 5; ตาย 40;
ประเภทออกอากาศ
การเข้ารหัสการรับรองความถูกต้อง;
รหัสผ่าน "1234567890";
};
};
}
และ:
รหัสเราเตอร์ 192.168.1.2;
อุปกรณ์โปรโตคอล {
เวลาสแกน 10;
}
โปรโตคอลโดยตรง {
อินเตอร์เฟซ "*"; #ควรใช้ไหม?
}
เคอร์เนลโปรโตคอล {
เรียนรู้;
ส่งออกทั้งหมด
นำเข้าทั้งหมด
เส้นทางอุปกรณ์ จริง; #หรือฉันจะใช้สิ่งนี้?
}
# ฉันต้องการหลีกเลี่ยงการทำสิ่งนี้:
#โปรโตคอลคงที่ {
# ส่งออกทั้งหมด
# เส้นทาง 10.1.2.0/24 ผ่าน 192.168.1.2;
#}
โปรโตคอล ospf {
นำเข้าทั้งหมด
ส่งออกทั้งหมด
พื้นที่ 0 {
อินเทอร์เฟซ "eth0", "eth1" {
ราคา 10; สวัสดี 10; ส่ง 2; รอ 5; ตาย 40;
ประเภทออกอากาศ
การเข้ารหัสการรับรองความถูกต้อง;
รหัสผ่าน "1234567890";
};
};
}