Ai đó đặt tên một chính sách là EXPORT-STATIC, gắn nó vào và giờ tự hỏi tại sao một tiền tố từ phiên bản định tuyến VPN không bao giờ đến được đầu xa. Tên không có tác dụng gì đến việc lựa chọn. Một chính sách là một định nghĩa cộng với một gắn kết, và những gì nó xuất được quyết định bởi các điều kiện khớp, các điều khoản có thứ tự và ngữ cảnh sử dụng nó. Đọc ba thứ đó theo thứ tự ấy, và điều bí ẩn thường thu lại thành một điều khoản chưa bao giờ khớp.

Tên là nhãn, không phải điều kiện

Junos không diễn giải tên chính sách. Một chính sách mà đáng lý gọi là xuất tĩnh có thể khớp với giao thức static, hoặc khớp với một tiền tố địa chỉ, hoặc không khớp với gì cả và chấp nhận mọi thứ đi qua. Nhãn là tài liệu do người tạo ra nó viết, và nó đáng tin đúng bằng trí nhớ của người đó về ý định.

Coi một kết quả xuất bất ngờ là yêu cầu đọc định nghĩa, không phải bằng chứng rằng gắn kết bị hỏng. Đọc định nghĩa và để nó mâu thuẫn với nhãn.

Tìm gắn kết trước các điều khoản

Một định nghĩa đúng nhưng gắn sai chỗ sẽ thay đổi một trao đổi khác. Xác định phiên bản định tuyến, giao thức và láng giềng hoặc nhóm nào thực sự tham chiếu chính sách, vì một chính sách gắn dưới một nhóm BGP không ảnh hưởng đến nhóm khác, và một chính sách gắn vào phiên bản không nhất thiết áp dụng cho mọi giao thức bên trong nó. Junos phân biệt các cấp này, và việc thiếu xuất ở cấp nhóm là chuyện thường khi ý định được diễn đạt ở cấp phiên bản.

Ghi lại đường dẫn gắn kết trước khi đọc một điều khoản. Một nửa các cuộc điều tra này kết thúc ở đó, với định nghĩa nguyên vẹn và câu lệnh xuất bị dời đi. Ghi khác biệt vào nhật ký thay đổi để không ai hoàn tác nó như một lỗi.

Các điều khoản được đánh giá theo thứ tự, và quyết định đầu tiên thắng

Các điều khoản chạy từ đầu đến cuối, và một điều khoản chấp nhận hoặc từ chối là quyết định kết thúc. Một điều khoản sau trông như ngoại lệ dự định sẽ không bao giờ chạy nếu một điều khoản trước đã quyết định số phận của tuyến, đó là lý do một chính sách có thể đọc đúng từ trên xuống dưới mà vẫn hành xử trái với ý định. Kiểm tra thứ tự so với tuyến bạn quan tâm, không phải so với thứ tự các điều khoản được gõ.

Một điều khoản bỏ qua hành động của nó không kết thúc; việc đánh giá tiếp tục sang điều khoản tiếp theo, và kết quả cuối cùng phụ thuộc vào điều gì tiếp sau và giá trị mặc định áp dụng. Đó là một cấu trúc thực sự hữu ích và một nguồn bất ngờ đáng tin cậy khi nó không có chủ ý.

Một ví dụ chỉ xuất các tuyến tĩnh, với gắn kết trên nhóm:

policy-options {
    policy-statement EXPORT-STATIC {
        term statics { from protocol static; then accept; }
    }
}
protocols bgp group TO-PEER { export EXPORT-STATIC; }

Một tiền tố học qua OSPF thay vì được cấu hình làm tuyến tĩnh sẽ không khớp và bị loại, dù chính sách tên là gì.

Hành động thay đổi một bản sao, không phải tuyến gốc

Các hành động của chính sách tác động lên tuyến đúng như nó được đánh giá cho quảng bá đó, tức là một bản sao chứ không phải mục trong bảng định tuyến. Vì vậy một lệnh show route cục bộ có thể hiển thị một tuyến với một tập thuộc tính trong khi bản được xuất mang thuộc tính khác, và bản gốc không bị ghi lại bởi việc xuất. Sự khác biệt đó giải thích vài tranh luận về việc đầu ra của ai là đúng: cả hai đều đúng, và chúng mô tả các đối tượng khác nhau. Hãy nói bạn đang trích khung nhìn nào mỗi khi hai kỹ sư bất đồng về một thuộc tính tuyến.

Chấp nhận và từ chối là quyết định kết thúc; thay đổi thuộc tính không nhất thiết như vậy. Đừng cho rằng đặt một community là kết thúc chính sách, vì việc đánh giá có thể tiếp tục vào những điều khoản bạn chưa xét.

So sánh khung nhìn được quảng bá với kỳ vọng

Dùng khung nhìn riêng cho giao thức trên peer thực tế, chẳng hạn show route advertising-protocol bgp 192.0.2.1, và đọc nó trong ngữ cảnh phiên bản định tuyến đúng. Một tuyến hiện diện trong VRF không nhất thiết đã qua chính sách xuất, và một tuyến xuất hiện trong đầu ra được quảng bá không nhất thiết đã được phía xa chấp nhận. Đó là ba trạng thái riêng biệt và chúng thất bại theo cách khác nhau.

Chấp nhận thiết kế với một tiền tố phải được quảng bá và một tiền tố phải ở lại cục bộ. Điều đó cho chính sách một hợp đồng bạn có thể kiểm thử, và tránh cách sửa thay thế là mở rộng việc xuất cho đến khi một tuyến có tên cuối cùng xuất hiện.

Bài viết liên quan