* Một số tool filter trong BGP:
- AS-Path List
- Distribute-list
- Prefix-list
- Distance
- Route-map
1. AS-Path List .
- AS-Path List là một danh sách mô tả các hoạt động Permit hoặc Deny với điều kiện match là thuộc tính AS mà mỗi route mang theo được mô tả bởi các Regular Expression
- Regular Expression là hệ thống chuẩn các biểu diễn các kí tự “string”. Sau đây là một số biểu diễn mà chúng ta hay dùng:
- _100_ Những Route đi qua AS 100
- ^100& Bắt đầu và kết thúc bằng AS 100. Có thể hiểu là AS nhận được route này kết nối trực tiếp với AS 100. (Route chưa đi qua AS nào khác)
- _100$ Route có nguồn gốc là AS 100
- ^100_ Bắt đầu là AS 100
- ^* Route Local AS
- .* Match tất cả
- distribute-list + access-list standard.
- Hoạt động hầu như được tất cả các trường hợp
- Nhược điểm khi áp dụng filter supernet nó lại filter các mạng có địa chỉ mạng giống nhau nhưng subnet nhỏ hơn
- Khi dùng ACL standard filter 8.8.0.0/19 thì các mạng8.8.1.0/24 – 8.8.31.0/24 đều bị filter .
- Distribute-list + access-list extended
- Để giải quyết vấn đề bất cập khi filter một Supernet, ta dùng ACL Extended thay thế cho ACL Standard.
- Cấu hình ACL Extended như sau:
- Source Add + Wildcard mask là mạng (prefix) muốn filter.
- Des Add - Netmask của Prefix trên.
- Wildcardmask - Biểu diễn số “netmask” cần biểu diễn. ( Có thể hiểu nó là wildcard-mask của Netmask)
- Như đã đưa ra ở trên, khi command distribute-list định nghĩa thêm interface áp dụng, thì quá trình filter sẽ không thực hiện.
- Khi thay đổi cmd như trên thì R3 filter mạng 8.8.8.0/24 . Tuy nhiên nó đã filter tất cả các route match với access-list. Như trên là filter 8.8.8.0/24 từ R1 và R2 gửi sang.
- Để tránh trường hợp này, ta sử dụng distribute-list theo chiều "out" trên R1 hoặc áp dụng
- Ta thấy 2 mạng 8.8.1.0/24 và 8.8.31.0/24 đã bị filter. Khi sử dụng access-list standard nó không filter chính xác mask mong muốn. Để tránh trường hợp này ta sử dụng access-list extended.
- Là một option trong cmd Neighbor. Dùng đề filter route update từ 1 peer hoặc filter route trước khi gửi update.
- Là danh sách các Prefix – list với các Prefix với các tiêu chuẩn permit/deny
- Dùng để tăng AD của một tuyến đường. Để filter ta tăng AD = 255.
- Nhược điểm của nó là sẽ gây ra ‘blackhole”.
- Để phát huy công dụng của nó, ta thường sử dụng nó để tăng AD trong tiến trình Redistribute để tránh loop đồng thòi tạo Route backup
- Distance có thể modify AD của D.Routing. Hoặc riêng từng route bằng cách kết hợp với công cụ hỗ trợ ACL o
+
filter các route dựa trên thuộc tính AS mà mỗi route luôn mang theo khi update
+
filter route được update hoặc update
tới các peer trước khi đưa lên bảng BGP RIB
Ưu điểm:
+
không tạo black hole.
+
giảm hiệu suất làm việc CPU.
Nhược điểm:
+
không filter được route mong muốn. (filter cả AS path)
Ví dụ: R3 filter mạng 8.8.8.0/24 từ R1 quảng bá sang.
Cấu hình R3:
#ip
as-path access-list 1 deny _100$
#router
bgp 300
#
neighbor 10.1.13.1 filter-list 1 in // filter truoc khi dua len BGP
RIB
================================================================
2. Distribute-list.
+
áp dụng:
+
trong command neighbor: neighbor a.b.c.d
distribute-list {} //chỉ filter route từ neighbor update sang
+
trong mode router: (config-router)#distribute-list { } //filter tất cả các route match access-list từ các neighbor update sang, nếu định nghĩa
thêm interface trong cmd trên, thì cmd filter không có ý nghĩa. Bởi vì BGP
thiết lập dựa vào TCP, nó không quan tâm đến interface
+
filter chính xác từng route mong muốn với "deny" và không
"permit"
Ví
dụ: mạng 8.8.1.0/24-8.8.31.0/24
8.8.0.0/19
+ Chú ý: Distribute –
list không kết hợp được với IP Prefix – List trong cmd Neighbor
Ví dụ1: filter 8.8.8.0/24 trên R3 từ R1 advertise
sang.
Config R3:
access-list
1 deny 8.8.8.0 0.0.0.255
access-list
1 permit any
!
router
bgp 300
distribute-list
1 in Serial0/0
Config R3:
access-list
1 deny 8.8.8.0 0.0.0.255
access-list
1 permit any
!
router
bgp 300
distribute-list
1 in
distribute-list
trong command:
neighbor {} {}
Config R1:
Cách 1.
access-list
1 deny 8.8.8.0 0.0.0.255
access-list
1 permit any
!
router
bgp 100
distribute-list
1 out
// tương tự với trường hợp trên, khi chỉ rõ interface thì quá trình
filter không thực hiện được
Cách 2.
access-list
1 deny 8.8.8.0 0.0.0.255
access-list
1 permit any
!
neighbor
10.1.13.1 distribute-list 1 out // TH distribute-list không áp
dụng được với ip prefix-list
//
có thể áp dụng chiều in
theo R3
//
mỗi cách có ưu nhược
điểm, tuy trường hợp ta sử dụng cho hợp lý.
Ví dụ 2: trên R1 tạo l1: 8.8.1.8/24 và 8.8.31.8/24 .
Trên R3 ta tiến hành filter mạng 8.8.0.0/19.
Config R3:
access-list
1 deny 8.8.0.0 0.0.31.255
access-list
1 permit any
!
router
bgp 300
distribute-list
1 in
Ví dụ 3. filter mạng 8.8.1.0/24 trên R3, sử dụng ip
access-list extended
Config R3:
access-list
100 deny ip
8.8.1.0 0.0.0.255 255.255.255.0
0.0.0.255
access-list
100 permit ip any
any
!
router
bgp 300
distribute-list 100 in
Hoặc sử dụng distribute-list
+ ip prefix-list để filter dễ dàng hơn
( chú ý ip prefix không thực hiện được trong cmd neighbor+distribute-list)
permit ip 10.0.0.0 0.0.0.0
255.255.0.0 0.0.0.0 - matches 10.0.0.0/16 - Only
permit ip 10.0.0.0 0.0.0.0
255.255.255.0 0.0.0.0 - matches
10.0.0.0/24 - Only
permit ip 10.1.1.0 0.0.0.0
255.255.255.0 0.0.0.0 - matches 10.1.1.0/24 - Only
permit ip 10.0.0.0 0.0.255.0
255.255.255.0 0.0.0.0 - matches 10.0.X.0/24 - Any number in the 3rd
octet of the network with a /24 subnet mask.
permit ip 10.0.0.0 0.255.255.0
255.255.255.0 0.0.0.0 - matches 10.X.X.0/24 - Any number in the 2nd
& 3rd octet of the network with a /24 subnet
mask.
permit ip 10.0.0.0
0.255.255.255 255.255.255.
240 0.0.0.0 -matches
10.X.X.X/28 - Any number in the 2nd, 3rd & 4th octet of the network
with
a /28 subnet mask.
permit ip 10.0.0.0
0.255.255.255 255.255.255.0 0.0.0.255 -Matches 10.X.X.X/24 to
10.X.X.X/32 - Any number in the 2nd, 3rd & 4th octet of
the
network with a /24 to /32 subnet mask.
permit ip 10.0.0.0
0.255.255.255 255.255.255.128 0.0.0.127 -Matches 10.X.X.X/25 to
10.X.X.X/32 - Any number in the 2nd, 3rd & 4th octet of
the
network with a /25 to /32 subnet mask
================================================================
3. Prefix - list .
* nguyen ly
hoat dong tuong tu nhu tool filter distribute list:
Ví dụ: R3 filter 8.8.1.0/24
Config R3:
ip
prefix-list an seq 5 deny 8.8.8.0/24
!
Router
bgp 300
Neighbor
10.1.13.1 prefix-list in
Một số trường hợp đặc biệt cần chú ý:
ip prefix-list A permit
0.0.0.0/0 ge 32 - Matches all hosts routes
ip prefix-list B
permit 0.0.0.0/1 ge 8 - Any subnets
in Class A address space (/1: 1st bit(0) can’t change) ip prefix-list C
ip permit 128.0.0.0/2 ge 16 - Any subnets in Class B address space (/2:
1st 2 bits(10) can’t change)
ip prefix-list D
permit 192.0.0.0/3 ge 24 - Any subnets
in Class C address space (/3: 1st 3 bits(110) can’t change)
ip prefix-list E permit
0.0.0.0/0 le 32 - Match any/all routes
ip prefix-list F
permit 0.0.0.0/0 - Match just the
default route ip prefix-list G permit 0.0.0.0/1 le 24 - Matches any iprefix in Class A address
space with more than 256 addresses
ip prefix-list H permit 10.0.0.0/8 - Matches only a 10.0.0.0/8 route (no more,
no less)
ip prefix-list I permit 10.0.0.0/8 le 32 - Matches any route in the RFC-1918 pvt 10/8
range (including 10.1.2.0/24)
ip prefix-list J permit 172.16.0.0/12 le
32 - Matches any route in the RFC-1918
pvt 172.16/12 range
ip prefix-list K permit 192.168.0.0/16 le
32 - Matches any route in the RFC-1918
pvt 192.168.0.0/16 range
============================================================
4. DISTANCE.
ví dụ. Filter mạng 8.8.1.0/24 trên R3 sử dụng distance
Config R3:
Access-list
1 permit 8.8.1.0 0.0.0.255
!
Router
bgp 300
Distance
255 10.1.13.1 0.0.0.0 1
Kết luận: ngoài những tool cơ bản trên chúng ta có
thể sử dụng route-map, aggregate-route…
No comments:
Post a Comment