Khi chạy nhiều giao thức chung với nhau và có nhu cầu redistribution từ giao thức này vào giao thức kia ta có thể gặp phải vấn đề đường dẫn không tối ưu, route feedback (sau khi redistribute route xong route lại quay ngược về nơi sinh ra do distance của giao thức được redistribute vào thấp hơn)
Sử dụng tính năng lọc route giúp nhà quảng trị điều khiển được những route quảng bá, redistribute, …
Việc lọc route những giao thức distance thì hiệu quả hơn những giao thức link-state. Vì giao thức với giao thức distance thì router quảng bá route dựa trên bảng routing table cả nó.
Những router đang chạy link-state protocol xác định route của chúng dựa trên thông tin trong link-state database hơn là những route được neighbors quảng bá vào nó. Việc lọc route không ảnh hưởng đến quảng bá trạng thái link hay bảng link-state database.
Kết quả việc lọc route có thể tác động trên router được cấu hình lọc nhưng không ảnh hưởng đến route đi vào router neighbor. (đối với Link-state, bởi vì nó quảng bá trạng thái của link)
Vì vậy việc lọc route thì thường được sử dụng trên con ASBR vì nơi đây route sẽ đi vào và đi ra giống dạng của distace vector.
Access-list được sử dụng để chọn route (route selection) trong distribute-list và route-map
2. Distribute-list
Distribute-list được dùng nhiều trong quá trình thực hiện kiểm soát và tối ưu các routes (route control & optimize). Một trong những ứng dụng thường thấy là trong quá trình redistribution của các routing protocols với nhau. Distribute-list được dùng để chống hiện tượng route-feedback.
Cách sử dụng:
- Chỉ ra những địa chỉ network bạn muốn loại bỏ (filter) và tạo ra một access-list. Bạn cũng cần xác định bạn muốn lọc theo chiều incoming hay chiều outgoing.
- Nếu dùng theo chiều OUT:
Trong trường hợp này thì distribute-list out sẽ không cho một số routes được quảng bá ra từ router.
- Nếu dùng theo chiều IN:
distribute-list access-list-number in [interface-name]
Distribute-list sẽ ngăn không cho những routes nào đó được đưa vào bảng routing- table.
Dưới đây là một số ví dụ:
IGRP Route Filtering:
router igrp 10 network 140.10.0.0 redist rip default-metric 1 1 1 1 1 distr-list 1 in access-list 1 deny 170.10.0.0 0.0.255.255 access-list 1 permit any any
Routes 170.10.0.0 sẽ không được đưa vào bảng routes.
EIGRP IP Filtering router eigrp 1 network 172.16.0.0 network 192.168.5.0 distribute-list 7 out s0 access-list permit 172.16.0.0 0.0.255.255 RIP access-list 1 deny 10.2.2.0 0.0.0.255 access-list 1 deny 172.16.0.0 0.0.0.255.255 access-list 1 permit any
router rip
distrbute-list 1 in e0
3. Route-map
Route map là các công cụ trong đó các logic “if/then” có thể được áp dụng cho một router. Các route-map là các công cụ lập trình được dùng để kiểm soát quá trình redistribution, để hiện thực PBR, để kiểm soát quá trình NAT hoặc để hiện thực BGP.
Có thể dùng route-map cho các mục đích sau đây:
Để kiểm soát quá trình redistribution: các route map cho phép kiểm soát một mức cao hơn so với cách dùng distribution list. Route-map không đơn thuần ngăn chặn hay cho phép một mạng giống như distribute list mà còn có khả năng gán metric cho những route bị so trùng .
Để kiểm soát và thay đổi thông tin định tuyến: các route map được dùng để thay đổi thông tin định tuyến bằng cách gán giá trị metric cho các route.
Định nghĩa chính sách trong PBR: các route-map ra các quyết định dựa trên địa chỉ nguồn. Khi một phép so trùng được tìm thấy trong access-list, sẽ có các hành động tương ứng.
Để thêm vào mức độ tinh tế trong cấu hình NAT: các route map định nghĩa dãy của các địa chỉ public và địa chỉ private. Có các lệnh show để giám sát và kiểm tra hoạt động của NAT.
Để hiện thực BGP: một trong những điểm mạnh của giao thức BGP là khả năng thực hiện policy based routing. Các thuộc tính trong BGP được dùng để ảnh hưởng đến đường đi cho traffic. Các thuộc tính này thường được hiện thực dùng route maps. Nếu có một phép so trùng thì áp dụng thuộc tính này. Khi này dùng lệnh set để thực hiện. Route map là phương thức chủ yếu được dùng bởi BGP để định nghĩa chính sách định tuyến BGP.
Route map rất giống ACL. Cả hai thực hiện tác vụ if/then, trong đó các tiêu chí được dùng để xác định là gói tin có được cho phép hoặc từ chối hay không. Sự khác nhau cơ bản là route map có khả năng thực hiện hành động thay đổi thuộc tính đến các gói dữ liệu thõa điều kiện so trùng. Trong một ACL, tiêu chí so trùng là ngầm định,
trong một route map, đó là một keyword. Điều này có nghĩa rằng, nếu một gói thỏa với một tiêu chuẩn cho trong một route map, một vài hành động phải được thực hiện để thay đổi gói, trong khi accesslist chỉ đơn giản cho phép hoặc từ chối một gói. Các đặc điểm của route map được tóm tắt trong danh sách sau:
Một route map có một danh sách các tiêu chí và tiêu chuẩn chọn lựa, được liệt kê với phát biểu mạtch.
Một route map có khả năng thay đổi các gói hoặc các route bị so trùng bằng cách dùng lệnh set.
Một tập hợp của các phát biểu mạch có cùng tên được xem là cùng một route map
Route map sẽ ngừng xử lý ngay khi có một phép so trùng được thực hiện, giống như một ACL.
Trong một route map, mỗi phát biểu được đánh số thứ tự và có thể được soạn thảo riêng lẽ.
Số thứ tự được dùng để chỉ ra thứ tự trong đó các điều kiện được kiểm tra. Như vậy nếu hai phát biểu trong route map có tên là BESTTEST, một phát biểu có chỉ số là 5, một phát biểu có chỉ số là 15 thì phát biểu có chỉ số là 5 sẽ được kiểm tra trước. Nếu không có một phát biểu match trong phát biểu 5 thì phát biểu thứ 15 sẽ được kiểm tra.
Route map có thể dùng các IP access-list chuẩn hoặc mở rộng để thiết lập các chính sách định tuyến.
Các access-list mở rộng có thể được dùng để chỉ ra tiêu chí so sánh dựa trên phần địa chỉ nguồn và địa chỉ đích, ứng dụng, kiểu giao thức, kiểu dịch vụ ToS và độ ưu tiên.
Lệnh match trong các cấu hình route map được dùng để định nghĩa điều kiện phải kiểm tra.
Lệnh set trong cấu hình route map được dùng để định nghĩa hành động theo sau một phát biểu so sánh.
Một route map có thể chứ các phép AND và OR. Giống như một access-list, có một phát biểu ngầm định DENY ở cuối một route map. Hành động theo sau của phát biểu deny này tùy thuộc route map được dùng như thế nào. Để
hiểu điều này một cách chính xác, bạn cần hiểu chính xác route map hoạt động như thề nào.
Danh sách sau đây sẽ giải thích logic của hoạt động route-map:
Phát biểu của route map dùng cho PBR có thể được đánh dấu như là permit hoặc deny
Chỉ nếu phát biểu được đánh dấu như permit và gói tin bị so trùng, lệnh set mới được áp dụng.
Các phát biểu trong route-map sẽ tương ứng với các dòng của một access- list. Chỉ ra một điều kiện so sánh trong route map thì cũng tương tự như chỉ ra nguồn và đích trong access list
Các phát biểu trong route map được so sánh với đường đi của gói để xem có một so trùng nào đó hay không. Các phát biểu này sẽ được lần lượt kiểm tra từ trên xuống dưới.
Một phát biều so trùng có thể chứa nhiều điều kiện. Ít nhất một điều kiện trong phát biểu match phải là đúng. Đây là phép logic OR
Một route-map có thể chứa nhiều phát biểu so sánh. Tất cả các phát biểu match trong route map phải được xem xét là đúng để cho phát biểu của route map là so trùng. Điều kiện này gọi là phép logic AND.
Route-map được sử dụng trong bốn trường hợp:
Dùng với NAT
Dùng trong redistribution
Dùng với BGP
Dùng trong PBR
Câu lệnh access list trong Cisco IOS thường được dùng như là một công cụ để chọn lựa "matching" một mẫu traffic nào đó đi qua router. Như bạn cũng đã biết, ở trạng thái bình thường, router cho phép hầu như mọi lưu lượng IP đi qua nó. Nếu, trong một điều kiện nào đó, bạn không muốn cho lưu lượng mail (SMTP/POP3) được đi qua router, bạn cần cấm các traffic này. Lúc này, bạn viết ra một access-list, "quan tâm" đến TCP (SMTP/POP3). Sau đó bạn áp access list vào cổng của router, theo chiều IN/OUT.
Trong ví dụ trên, access list được dùng để lọc gói. Ví dụ cũng chỉ ra là bạn cần chỉ ra traffic mà bạn đang quan tâm (SMTP/POP3), bước kế tiếp là bạn áp dụng access list vào một interface nào đó của router.
Vậy, ACL là một công cụ để lựa ra một loại traffic nào đó mà mình quan tâm. Công cụ route-map trong Cisco IOS cung cấp một thuận toán tương tự như logic If/Then/Else thường thấy trong các ngôn ngữ lập trình. Một route map chứa một hoặc nhiều câu lệnh route-map và router sẽ xử lý các câu lệnh route-map dựa vào thứ tự đi kèm với chúng.
Mỗi câu lệnh route-map có những thông số so trùng (match) bên trong được cấu hình bằng câu lệnh match. (Để so trùng tất cả gói tin, một mệnh đề route-map chỉ đơn giản đưa ra một câu lệnh match). Đồng thời, câu lệnh route-map cũng có một hoặc nhiều câu lệnh tùy chọn set dùng để áp đặt thông tin, chẳng hạn áp đặt metric cho một số route được redistribute.
Như vậy, một cảm giác giống nhau giữa hai câu lệnh là cả hai cùng có thể thể hiện thuận toán if-then khi cấu hình router. Tuy nhiên, sự khác nhau là route-map mang tính chất tổng quát hơn. Và trong route map cũng có dùng access list.
Các quy luật tổng quát của route map như sau:
Mỗi câu lệnh route-map phải có một tên gọi rõ ràng, tất cả các câu lệnh có cùng tên gọi này đều thuộc chung một route map.
Mỗi câu lệnh route-map phải có một hành động (permit hoặc deny).
Mỗi câu lệnh route-map có một số thứ tự duy nhất, cho phép xóa, chèn các câu lệnh route-map đơn.
Khi dùng route-map trong quá trình redistribute, route map sẽ xử lý route lấy từ bảng định tuyến hiện thời chứ không lấy từ database.
Route map được xử lý tuần tự dựa vào số thứ tự đính kèm trong các câu lệnh route-map.
Khi một route cụ thể đã được so trùng trong route map, nó sẽ không được xử lý trong các câu lệnh route-map đằng sau đó nữa (dùng cho redistribution).
Khi một route đã được so trùng với phát biểu route map, nếu route-map có thông số permit đi kèm thì route đó sẽ được redistribute (dùng cho
redistribution).
Khi một route đã được so trùng với phát biểu route map, nếu route-map có thông số deny đi kèm thì route đó sẽ không được redistribute (dùng cho redistribution).
• Route map thường hay gây nhầm lẫn, đặc biệt khi dùng thông số deny trong câu lệnh route-map.
Ví dụ về route-map:
Route-filtering in redistribution:
Router(config)# access-list 1 deny 192.168.1.0 0.0.255 Router(config)# access-list 1 deny 192.168.2.0 0.0.255 Router(config)# access-list 1 permit any
Router(config)# route-map MYMAP permit 10 Router(config-route-map)# match ip address 1 Router(config-route-map)# set tag 150
Router(config)# router ospf 1
Router(config-router)# redistribute eigrp 10 metric 3 subnets route-map MYMAP BGP route-filtering:
Router(config)# access-list 1 permit 10.1.1.0 0.0.0.255 Router(config)# route-map MYMAP permit 10
Router(config-route-map)# match ip address 1 Router(config-route-map)# set metric 100
Router(config-route-map)# route-map MYMAP permit 20
Router(config)# router bgp 100
PHẦN 6. CấU HÌNH SYSLOG CHO ROUTER (LOGGING CONCEPTS)