THUỘC TÍNH AS-PATH TRONG BGP 1. Mục tiêu Trong bài lab này, chúng ta sẽ cấu hình BGP cấm các private AS number được quảng bá ra mạng bên ngoài. Chúng ta cũng sẽ sử dụng thuộc tính AS-PATH để lọc các route BGP dựa vào source AS number 2. Hoàn cảnh SaiGon: có mạng 201.0.0.0 ISP: có mạng 202.0.0.0 CanTho: có mạng 203.0.0.0 Mạng của Công ty ABC ở Sài Gòn, được ISP cung cấp AS number 300. ISP sử dụng BGP để trao đổi thông tin định tuyến với một số mạng khách hàng khác. Các mạng khách hàng này đưọc cung cấp AS number nằm trong phạm vi private, ví dụ như AS 65000. Vấn đề đặt ra là cần phải cấu hình ISP loại bỏ các private AS number nằm trong các thông tin AS-PATH từ các router khách hàng, như trong sơ đồ là router CanTho. Thêm vào đó, ISP cũng ngăn không cho mạng khách hàng nhận được các thông tin định tuyến từ công ty ABC thuộc AS100. Công việc này có thể thực hiện được bằng cách sử dụng thuộc tính AS-PATH. 3. Thực hiện a. Bước 1 Kết nối mạng theo sơ đồ như trên. Cấu hình hostname, địa chỉ IP các interface serial, loopback theo đúng sơ đồ. Chưa cấu hình routing protocol. Kiểm tra các kết nối trực tiếp bằng lệnh ping và show cdp neighbor. b. Bước 2 Cấu hình định tuyến BGP cho các router: SaiGon(config)#router bgp 100 SaiGon(config-router)#network 201.0.0.0 SaiGon(config-router)#neighbor 192.168.1.6 remote-as 300 Cantho(config)#router bgp 65000 Cantho(config-router)#network 203.0.0.0 Cantho(config-router)#neighbor 172.24.1.17 remote-as 300 ISP(config)#router bgp 300 ISP(config-router)#network 202.0.0.0 ISP(config-router)#neighbor 172.24.1.18 remote-as 65000 ISP(config-router)#neighbor 192.168.1.5 remote-as 100 Kiểm tra lại các router đã thiết lập được quan hệ neighbor bằng lệnh show ip bgp neighbors trên mỗi router c. Bước 3 Kiểm tra bảng định tuyến từ router SaiGon bằng lệnh show ip route. Router SaiGon phải có route đến cả hai mạng 202.0.0.0 và 203.0.0.0 Router SaiGon không thể ping được network 203.0.0.0/24 bằng standard ping (bởi khi đó, nó sẽ lấy địa chỉ source là 192.168.1.5, router CanTho gửi packet trả về sẽ không route được do không có route 192.168.1.0/24 trong bảng định tuyến). Nhưng router SaiGon lại có thể ping được network 203.0.0.0/24 bắng extend ping với địa chỉ source là 201.0.0.1: SaiGon#ping 203.0.0.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 203.0.0.1, timeout is 2 seconds: Success rate is 0 percent (0/5) CanTho#debug ip packet IP packet debugging is on CanTho# 00:20:18: IP: s=192.168.1.5 (Serial0), d=203.0.0.1, len 100, rcvd 4 00:20:18: IP: s=203.0.0.1 (local), d=192.168.1.5, len 100, unroutable CanTho# 00:20:19: IP: s=172.24.1.17 (Serial0), d=172.24.1.18 (Serial0), len 118, rcvd 3 00:20:19: IP: s=172.24.1.18 (local), d=172.24.1.17 (Serial0), len 40, sending 00:20:20: IP: s=192.168.1.5 (Serial0), d=203.0.0.1, len 100, rcvd 4 00:20:20: IP: s=203.0.0.1 (local), d=192.168.1.5, len 100, unroutable SaiGon#ping Protocol [ip]: Target IP address: 203.0.0.1 Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Source address or interface: 201.0.0.1 Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 203.0.0.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 64/72/104 ms Kiểm tra bảng BGP của router SaiGon bằng lệnh show ip bgp. Chú ý AS-PATH cho mạng 203.0.0.0, AS65000 sẽ nằm trong path đến network 203.0.0.0: SaiGon#show ip bgp BGP table version is 4, local router ID is 201.0.0.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 201.0.0.0 0.0.0.0 0 32768 i *> 202.0.0.0 192.168.1.6 0 0 300 i *> 203.0.0.0 192.168.1.6 0 300 65000 i ISP#show ip bgp BGP table version is 4, local router ID is 202.0.0.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 201.0.0.0 192.168.1.5 0 0 100 i *> 202.0.0.0 0.0.0.0 0 32768 i *> 203.0.0.0 172.24.1.18 0 0 65000 i Cấu hình ISP bỏ private AS number khỏi các BGP route trao đổi với router SaiGon. Ta thực hiện các lệnh sau: ISP(config)#router bgp 300 ISP(config-router)#neighbor 192.168.1.5 remove-private-as Sau đó, ta thực hiện lệnh clear ip bgp * và chờ cho các router thiết lập lại các kết nối BGP. Sử dụng lệnh show ip bgp trên router SaiGon kiểm tra AS-PATH của route đến network 203.0.0.0/24 SaiGon#show ip bgp BGP table version is 12, local router ID is 201.0.0.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 201.0.0.0 0.0.0.0 0 32768 i *> 202.0.0.0 192.168.1.6 0 0 300 i *> 203.0.0.0 192.168.1.6 0 300 i Ta thấy route của "*> 203.0.0.0 192.168.1.6 0 300 65000 i" đã trở thành "*> 203.0.0.0 192.168.1.6 0 300 i" tại router SaiGon d. Bước 4 Cuối cùng, ta sử dụng thuộc tính AS-PATH để lọc các route dựa vào origin của nó. Trong môi trường hoạt động phức hợp, thuộc tính này có thể được dùng để cấu hình các routing policy. Trong trường hợp này, ta sẽ cấu hình router ISP để nó không quảng bá các route từ AS 100 đến mạng của khách hàng tại router CanTho. Trước hết, ta cẩu hình một loại access list đặc biệt dùng để match các BGP route với thuộc tính AS-PATH được bắt đầu và kết thúc với AS number 100 ISP(config)#ip as-path access-list 1 deny ^100$ ISP(config)#ip as-path access-list 1 permit .* Câu lệnh đầu dùng kí tự ^ để biểu thị AS-PATH phải được bắu đầu bằng số 100, kí tự $ biểu thị AS-PATH cũng phải kết thúc bằng số 100. Lệnh này sẽ match tất cả các path được bắt nguồn từ AS 100, các path khác có thể bao gổm AS 100 trong AS-PATH sẽ không match list này. Câu lệnh thứ hai, .* sẽ match tất cả các giá trị của AS-PATH mà giá trị đó không deny bởi lệnh access list trước. Chúng ta sẽ apply access list đó như sau: ISP(config)#router bgp 300 ISP(config-router)#neighbor 172.24.1.18 filter-list 1 out Từ khóa out biểu thị list này sẽ áp dụng cho các thông tin định tuyến gửi tới neighbor. Dùng lệnh clear ip bgp * để reset lại quá trình định tuyến BGP. Chờ một thời gian, sau đó kiểm tra bảng định tuyến của router ISP. Route đến network 201.0.0.0 sẽ nằm trong bảng định tuyến này. Kiểm tra bảng định tuyến của router CanTho, nó sẽ không có route đến network 210.0.0.0 ISP#clear ip bgp * CanTho#show ip bgp BGP table version is 17, local router ID is 203.0.0.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 202.0.0.0 172.24.1.17 0 0 300 i *> 203.0.0.0 0.0.0.0 0 32768 i Trở lại router ISP kiểm tra lại quá trình lọc hoạt động chính xác, dùng lệnh show ip bgp regexp ^100$. Output của lệnh này sẽ cho thấy tất cả các match của access list ta đã cấu hình trên được dùng để lọc như thế nào ISP#show ip bgp regexp ^100$ BGP table version is 4, local router ID is 202.0.0.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 201.0.0.0 192.168.1.5 0 0 100 i 4. Cấu hình CanTho#show running-config Building configuration Current configuration: ! version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname CanTho ! ip subnet-zero no ip domain-lookup ! interface Loopback0 ip address 203.0.0.1 255.255.255.0 no ip directed-broadcast ! interface Serial0 ip address 172.24.1.18 255.255.255.252 no ip directed-broadcast no ip mroute-cache ! router bgp 65000 network 203.0.0.0 neighbor 172.24.1.17 remote-as 300 ! ip classless no ip http server ! line con 0 logging synchronous transport input none line aux 0 line vty 0 4 privilege level 15 no login ! end ISP#show running-config Building configuration Current configuration: ! version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname ISP ! ip subnet-zero no ip domain-lookup ! interface Loopback0 ip address 202.0.0.1 255.255.255.0 no ip directed-broadcast ! interface Serial0 ip address 192.168.1.6 255.255.255.252 no ip directed-broadcast ! interface Serial1 ip address 172.24.1.17 255.255.255.252 no ip directed-broadcast clockrate 64000 ! router bgp 300 network 202.0.0.0 neighbor 172.24.1.18 remote-as 65000 neighbor 172.24.1.18 filter-list 1 out neighbor 192.168.1.5 remote-as 100 neighbor 192.168.1.5 remove-private-AS ! ip classless no ip http server ip as-path access-list 1 deny ^100$ ip as-path access-list 1 permit .* ! line con 0 logging synchronous transport input none line aux 0 line vty 0 4 privilege level 15 no login ! end SaiGon#show running-config Building configuration Current configuration: ! version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname SaiGon ! ip subnet-zero no ip domain-lookup ! interface Loopback0 ip address 201.0.0.1 255.255.255.0 no ip directed-broadcast ! interface Serial0 ip address 192.168.1.5 255.255.255.252 no ip directed-broadcast clockrate 64000 ! router bgp 100 network 201.0.0.0 neighbor 192.168.1.6 remote-as 300 ! ip classless no ip http server ! line con 0 logging synchronous transport input none line aux 0 line vty 0 4 privilege level 15 no login ! end . THUỘC TÍNH AS-PATH TRONG BGP 1. Mục tiêu Trong bài lab này, chúng ta sẽ cấu hình BGP cấm các private AS number được quảng bá ra mạng bên ngoài. Chúng ta cũng sẽ sử dụng thuộc tính AS-PATH. cùng, ta sử dụng thuộc tính AS-PATH để lọc các route dựa vào origin của nó. Trong môi trường hoạt động phức hợp, thuộc tính này có thể được dùng để cấu hình các routing policy. Trong trường hợp. 64/72/104 ms Kiểm tra bảng BGP của router SaiGon bằng lệnh show ip bgp. Chú ý AS-PATH cho mạng 203.0.0.0, AS65000 sẽ nằm trong path đến network 203.0.0.0: SaiGon#show ip bgp BGP table version is 4,