Tôi đang cố gắng tìm cách thanh lịch nhất để triển khai bộ lọc RTBH cho các tuyến nhận được từ khách hàng.
Bộ lọc nên:
- Chỉ chấp nhận tiền tố của khách hàng từ danh sách tiền tố
- Chỉ chấp nhận / 32 tiền tố
- Chỉ các tiền tố với cộng đồng hố đen
- Đặt hop kế tiếp thành RTBH next-hop (192.0.2.1)
Để bắt đầu, tôi đã xem tài liệu " Định cấu hình điều kiện đối sánh trong Điều khoản chính sách định tuyến " từ Juniper.
Đầu tiên tôi nghĩ đến việc kết hợp một prefix-list-filter
tuyến chỉ khớp với danh sách tiền tố của khách hàng và route-filter
để giới hạn các tiền tố được chấp nhận thành / 32, như vậy:
from {
as-path customer;
community blackhole;
prefix-list-filter customer-prefixes orlonger;
route-filter 0.0.0.0/0 prefix-length-range /32-/32;
}
Nhưng sau đó tôi vấp phải thông tin này trong tài liệu:
Nếu bạn định cấu hình chính sách bao gồm một số kết hợp bộ lọc tuyến đường, danh sách tiền tố và bộ lọc địa chỉ nguồn, chúng được đánh giá theo thao tác HOẶC logic hoặc tra cứu kết hợp tuyến đường dài nhất.
Như tôi đã hiểu được điều này (và tôi tìm thấy nó một chút không rõ ràng), nếu tôi sử dụng prefix-list-filter
, route-filter
và / hoặc source-address-filter
trong cùng hạn nó sẽ được đánh giá với một lâu nhất trận đấu OR giữa tất cả trong số họ, mà làm cho phương pháp này không sử dụng được .
Những gì tôi đã đưa ra là đây là bộ lọc sau đây. Các hostroutes-only
hạn chuyển hướng tất cả tiền tố ngắn hơn / 32 với chính sách tiếp theo. Sau đó, prefixes
thuật ngữ này phù hợp nếu / 32 nằm trong phạm vi của khách hàng, khớp với đường dẫn của anh ta và có cộng đồng lỗ đen được đặt:
term hostroutes-only {
from {
route-filter 0.0.0.0/0 prefix-length-range /0-/31;
}
then next policy;
}
term prefixes {
from {
as-path customer;
community blackhole;
prefix-list-filter customer-prefixes orlonger;
}
then {
next-hop 192.0.2.1;
accept;
}
}
Vì vậy, đây có phải là cách thanh lịch nhất để xử lý này? Bất kỳ giải pháp nào khác?