ฉันกำลังพยายามเรียนรู้เพิ่มเติมเกี่ยวกับ BGP / IPv6 นี่คือเป้าหมายของฉัน:
ขณะนี้สำหรับการทดสอบ ฉันมี VM จากผู้ให้บริการที่ให้ฉัน /44
เครือข่าย
นี่คือการกำหนดค่าปัจจุบันบน VM นั้น:
รหัสเราเตอร์ <IP ของ VM>;
กำหนด OWNASN = 1234;
อุปกรณ์โปรโตคอล {
เวลาสแกน 10;
}
โปรโตคอลโดยตรง {
ipv6;
อินเทอร์เฟซ "ดัมมี่*";
}
# เทมเพลต
เทมเพลต bgp AS1234v6 {
ท้องถิ่นเป็น OWNASN;
ipv6 {
นำเข้าทั้งหมด
ตัวกรองการส่งออก {
ถ้า net = 2a0e:87c0:620::/44 ให้ยอมรับ;
ปฏิเสธ;
};
};
รีสตาร์ทอย่างสง่างามบน;
}
โปรโตคอล bgp VM1 จาก AS1234v6 {
เพื่อนบ้าน <ipv6 ของผู้ให้บริการ> เป็น 1111;
ที่อยู่ต้นทาง <ipv6 ของ VM>;
}
โปรโตคอล bgp VM2 จาก AS1234v6 {
คำอธิบาย "การมอบหมายการทดสอบ";
เพื่อนบ้าน <public IP ov VM2> เป็น OWNASN;
ที่อยู่ต้นทาง <ipv6 ของ VM>;
}
หากใน VM นั้น ฉันจะเพิ่มนามแฝงให้กับอินเทอร์เฟซหลัก เช่น:
ip -6 addr เพิ่ม 2a0e:87c0:620::1/64 dev eth0
จากนั้นฉันสามารถ ping จากโฮสต์ใดก็ได้ไปยังที่อยู่นั้นได้ จนถึงตอนนี้ก็ยังดี แต่ตอนนี้ฉันต้องการมี 3 ซับเน็ต:
- 2a0e:87c0:620:1::/64
- 2a0e:87c0:620:2::/64
- 2a0e:87c0:620:3::/64
สำหรับการทดสอบและทำให้สิ่งต่าง ๆ ง่ายขึ้น ฉันจะแทนที่ทันเนลและ pfsense จากรูปภาพด้านบนด้วย VM อื่น
ใน VM นั้นฉันติดตั้ง bird2 ด้วยและฉันกำลังใช้การกำหนดค่านี้:
รหัสเราเตอร์ <IP สาธารณะของ VM>;
อุปกรณ์โปรโตคอล {
เวลาสแกน 10;
}
โปรโตคอลโดยตรง {
พิการ;
}
โปรโตคอลคงที่ my_routes {
ipv6;
เส้นทาง 2a0e:87c0:620:1::/64 ปฏิเสธ;
}
กรอง export_my_routes {
ถ้าโปรโต = "my_routes" แล้ว {
ยอมรับ;
}
ปฏิเสธ;
}
โปรโตคอล bgp อัปลิงค์ 0 {
ท้องถิ่นเป็น 1234;
เพื่อนบ้าน <public IP ของ VM1> เป็น 1234;
ที่อยู่ต้นทาง <IPv6 สาธารณะ>;
ipv6 {
นำเข้าทั้งหมด
ตัวกรองการส่งออก export_my_routes;
};
รีสตาร์ทอย่างสง่างามบน;
}
ด้วยวิธีนี้ฉันจัดการเพื่อสร้างเซสชัน:
$ birdc s พี
BIRD 2.0.8 พร้อมแล้ว
ชื่อ Proto Table State ตั้งแต่ข้อมูล
อุปกรณ์1 อุปกรณ์ --- อัพ 19:13:19.082
direct1 Direct --- ลง 19:13:19.082
my_routes Static master6 ขึ้น 19:13:19.082
uplink0 BGP --- อัพ 19:13:22.095 ก่อตั้ง
แต่ถ้าฉันเพิ่มนามแฝงใน VM ใหม่นี้ ฉันไม่สามารถ ping ไปได้เลย ฉันได้รับข้อผิดพลาดนี้:
จาก 2001:1900:5:4::189 icmp_seq=356 เกินเวลา: ขีดจำกัดการกระโดด
และบน VM หลัก (อันจากผู้ให้บริการ) ตอนนี้ฉันเห็นในบันทึก:
แอตทริบิวต์ NEXT_HOP ไม่ถูกต้อง
ดังนั้นต้องการความช่วยเหลือเกี่ยวกับวิธีการโฆษณาเครือข่ายจากเราเตอร์ภายในไปยังภายนอกนอกเหนือจากการกำหนดค่าเครือข่ายย่อยในแต่ละอุปกรณ์เพื่อให้สามารถกำหนดเส้นทางได้อย่างไร สงสัยว่าจะใช้เกตเวย์ใด อาจจะ fe80::1%vtnet0
?