3.2.1 Chính sách định tuyến cho lưu lượng đi
Bộ định tuyến BR1 đang nhận đƣợc các thông tin từ ISP-1 về 172.10.8.0 - 172.10.15.0/21. Bản đồ tuyến đƣợc cấu hình trên bộ định tuyến này để thay đổi thuộc tính local preference các các tuyến đƣợc nhận trên bộ định tuyến này.
Danh sách Truy cập Access list 1 đƣợc cấu hình để xác định các mạng gần thông qua BR1, nghĩa là các tuyến 172.10.8.0 đến 172.10.11.0/22.
access-list 1 permit 172.10.8.0 0.0.3.255
Danh sách Truy cập Access list 2 đƣợc cấu hình để xác định các mạng không tiếp cận đƣợc tốt thông qua bộ định tuyến BR1, tức là 172.10.12.0 đến 172.10.15.0/22.
access-list 2 permit 172.10.12.0 0.0.3.255
Nhóm mạng thứ nhất đƣợc gán với 200 ƣu tiên (local reference) sử dụng bản đồ tuyến. Nhóm mạng thứ 2 đƣợc gán với 50 ƣu tiên tại bộ định tuyến biên, tức là BR1. Bản đồ tuyến này đƣợc áp dụng cho tất cả các tuyến đến từ những hàng xóm ISP-1. Bây giờ bộ định tuyến BR1 sẽ quảng bá các tuyến này bằng giá trị đã bị thay đổi của thuộc tính ƣu tiên tới HQ.
Tƣơng tự nhƣ vậy bộ định tuyến BR2 cũng đƣợc nhận thông tin từ ISP-2 về 172.10.8.0 đến 172.10.15.0/21. Danh sách truy cập đƣợc cấu hình trên bộ định tuyến BR2 giống nhƣ bộ định tuyến BR1 và nhóm 1 đƣợc gán với 50 ƣu tiên 50 và nhóm thứ hai đƣợc gán với 200 ƣu tiên. Vì bộ định tuyến BR2 có đƣờng dẫn tốt hơn cho nhóm mạng thứ 2 của mạng tức là 172.10.12.0 đến 172.10.15.0/22. Bộ định tuyến BR2 cũng có tuyến tĩnh tới định tuyến Internet tức là ISP-3 và tuyến tĩnh này đƣợc phân phối lại vào các cập nhật định tuyến BGP. Bây giờ bộ định tuyến BR2 sẽ quảng cáo tuyến đƣợc phân phối lại này cũng nhƣ các tuyến khác với thông tin các thuộc tính bị thay đổi tới bộ định tuyến HQ. Bây giờ bộ định tuyến HQ có hai đƣờng dẫn tới cả hai nhóm mạng, nhƣng con đƣờng tới nhóm 1 là đƣờng đến với ƣu tiên cao hơn từ bộ định tuyến BR1 trong khi tuyến tới nhóm 2 là tuyến đến với ƣu tiên cao hơn từ bộ định tuyến BR2. Vì vậy, bộ định tuyến HQ sẽ định tuyến lƣu lƣợng tới nhóm 1 thông qua bộ định tuyến BR1 và định tuyến lƣu lƣợng tới nhóm 2 qua bộ định tuyến BR2.
3.2.2 Chính sách định tuyến cho lưu lượng đến
Chúng ta có hai mạng tại trụ sở chính (HQ) và các mạng này đƣợc quảng cáo tới các thiết bị đồng cấp. Bộ định tuyến BR1 router đang nhận hai tuyến mạng từ bộ định tuyến HQ tức là 172.10.1.0/24 và 172.10.2.0/24. Bộ định tuyến BR1 đang quảng cáo các mạng này tới ISP-1. Chính sách của chúng ra lệnh rằng lƣu lƣợng truy cập đến từ Internet vào mạng nội bộ 172.10.1.0 nên đi qua bộ định tuyến BR1. Vì vậy, chúng ta cấu hình bộ định tuyến BR1 để quảng cáo tuyến 172.10.1.0 với MED cao hơn và tuyến 172.10.2.0 với MED thấp hơn. Tƣơng tự, bộ định tuyến BR2 cũng đang nhận thông tin về hai mạng này từ HQ và quảng cáo thông tin này tới ISP-2. Nhƣng chính sách của chúng ra lệnh rằng lƣu lƣợng truy cập đến từ Internet vào mạng 172.10.2.0 phải đi qua BR2. Vì vậy, bộ định tuyến BR2 sẽ quảng cáo mạng này tới ISP-2 có MED cao hơn và quảng cáo các mạng khác với thấp hơn giá trị MED đƣợc gán. ISP-1 và ISP-2 sẽ trao đổi thông tin định tuyến này với nhau nhƣng cả hai bộ định tuyến đã cập nhật giá trị MED. Vì vậy, ISP-1 và ISP-2 sẽ định tuyến lƣu lƣợng đến mạng 172.10.1.0 thông qua bộ định tuyến BR1 và lƣu lƣợng đến mạng 172.10.2.0 thông qua bộ định tuyến BR2.
3.2.3 Kết luận và kết quả
Bây giờ bộ định tuyến HQ có tuyến đến tất cả các mạng nhƣng nó sẽ sử dụng đƣờng dẫn thông qua bộ định tuyến BR1 cho các đích đến 172.10.8.0 tới 172.10.11.0/21. Bộ định tuyến HQ sẽ chuyển tiếp lƣu lƣợng thông qua bộ định tuyến BR2 cho các đích đến 172.10.12.0 tới 172.10.15.0/21 và 172.10.100.100/32.
Bây giờ con đƣờng ngắn nhất đƣợc chọn và cả hai liên kết đều đƣợc sử dụng để không lãng phí băng thông liên kết nào và thực hiện cân bằng tải. Khả năng bị lỗi cũng có khi một đƣờng dẫn bị lỗi, tuy nhiên lƣu lƣợng sẽ đƣợc định tuyến qua đƣờng khác. Đây là tính năng chính của giao thức định tuyến BGP; để hỗ trợ chính sách dựa trên định tuyến. Tƣơng tự nhƣ vậy các ISP có tuyến tới cả hai mạng nội bộ 172.10.1.0 và 172.10.2.0, và các ISP sẽ định tuyến lƣu lƣợng tới các mạng nội bộ này theo chính sách của chúng ta và làm cân bằng giữa hai đƣờng dẫn có sẵn. Lƣu
lƣợng tới mạng 172.10.1.0 đến thông qua bộ định tuyến BR1 và lƣu lƣợng tới mạng 172.10.2.0 đến thông qua bộ định tuyến BR2.
Bài toán 2
3.3 iBGP - Định tuyến lỗ đen Black Hole và quy tắc đồng bộ hóa
iBGP cũng cần thiết trong trƣờng hợp của các ISP chuyển tiếp nhƣ trong hình 10 dƣới đây tức là khi ISP đang tìm hiểu một số tuyến BGP ở một đầu và chuyển chúng tới ISP khác ở đầu bên kia. Trong trƣờng hợp này các tuyến BGP cùng với các thuộc tính đƣờng dẫn của chúng phải đƣợc chuyển tải đến đầu kia của AS và iBGP đƣợc sử dụng bên trong AS cho mục đích này. Nếu các tuyến BGP đƣợc phân phối lại trong IGP tuyên truyền hƣớng về đầu bên kia thì chúng sẽ mất các thuộc tính đƣờng dẫn của mình và ISP khác ở đầu nhận không thể thực hiện chính sách kiểm soát.
Hình 10. ISP chuyển tiếp yêu cầu iBGP
Giao thức cổng biên nội bộ Internal Border Gateway Protocol (iBGP) cần có để truyền tải thông tin định tuyến bên trong tổ chức khi có nhiều điểm xuất tới Internet; và các thiết bị định tuyến trong tổ chức ƣu tiên một điểm xuất cho các tuyến nhất định và ngƣợc lại. Nhƣng iBGP dễ bị tổn thƣơng do vấn đề lỗ đen và định tuyến vòng lặp do một số quy định iBGP cụ thể. Ví dụ, bộ định tuyến biên
các tuyến BGP với các thiết bị ngang hàng này. Có liên kết kết nối đƣợc chia sẻ giữa bộ định tuyến biên và các thiết bị cùng cấp bên ngoài, vì vậy, bộ định tuyến biên có tuyến đã đƣợc hiểu để tiếp cận thiết bị cùng cấp bên ngoài.
Hình 11. Sơ đồ cấu trúc liên kết bài toán 2
Khi định tuyến biên này chuyển tiếp các tuyến BGP tới các thiết bị cùng cấp nội bộ, nó không thay đổi tiếp next-hop mặc định và nếu các bộ định tuyến nội bộ không có thông tin có thể tiếp cận đƣợc về địa chỉ next-hop, thì nó không thể sử dụng thông tin định tuyến này.
Ví dụ trong bài toán này, AS 300 đang tìm hiểu một số tuyến từ ISP-1 và ISP-2. Các bộ định tuyến nội bộ trong tổ chức này phải đƣợc cung cấp thông tin này để lựa chọn điểm xuất ngắn nhất nghĩa là bộ định tuyến A phải chuyển tiếp các gói tin đến 170.1.2.0 tới ISP-1 và các gói tin đến mạng 180.1.1.0 tới ISP-2. Trong bài toán này, chúng ta sẽ nghiên cứu các vấn đề về cấu hình có thể xảy ra với iBGP. Trong hình 11 là sơ đồ cấu trúc liên kết để bài toán này.
Hình 12. Bảng định tuyến của bộ định tuyến A
Ở đây bộ định tuyến A nhận đƣợc cập nhật định tuyến từ B và C về 170.1.2.0/24 - 170.1.4.0/24 và 180.1.1.0/24-180.1.3.0/24, nhƣng nó không xem các tuyến này là các tuyến BGP hợp lệ và các tuyến không đƣợc cài đặt trong bảng định tuyến (thể hiện trong hình 12 trên và 13 dƣới đây). Các tuyến 180.1.1.0, 180.1.2.0 và 180.1.3.0 không có mặt trong bảng định tuyến này, vì bộ định tuyến A không có thông tin định tuyến tới next-hop đã đƣợc đề cập trong các tuyến này đó là 180.1.1.1.
Hình 13. Bảng định tuyến của bộ định tuyến A (thể hiện các tuyến không hợp lệ)
Giải pháp:
Thay đổi next-hop đến bộ định tuyến biên (bộ định tuyến B hoặc C) địa chỉ giao diện khi quảng cáo thông tin định tuyến với các thiết bị cùng cấp nội bộ (bộ định tuyến C) bằng cách sử dụng lệnh:
Neighbor Neighbor_iD next-hop self
Tạo tuyến tĩnh tới địa chỉ thiết bị cùng cấp bên ngoài tại bộ định tuyến biên và phân phối lại thông tin này tới các bộ định tuyến nội bộ, để chúng có thông tin về cách tiếp cân next-hop bên ngoài.
3.3.1 Phân chia ngang iBGP
Thiết bị cùng cấp iBGP không chuyển tiếp thông tin định tuyến đã hiểu đƣợc từ một thiết bị cùng cấp iBGP tới thiết bị cùng cấp iBGP khác đƣợc gọi là phân chia ngang iBGP. iBGP có quy tắc này để ngăn chặn vòng lặp định tuyến do cơ chế phòng ngừa vòng lặp đƣợc cung cấp bởi thuộc tính AS_Path không làm việc trong iBGP. Các tuyến iBGP đang đƣợc trao đổi giữa các bộ định tuyến trong hệ thống tự
trị đơn lẻ, do đó số AS không đƣợc thêm vào phía trƣớc thuộc tính AS_Path. Nhƣng điều này có thể dẫn đến thông tin không chính xác, một phần thông tin ở các bộ định tuyến khác nhau có thể dẫn đến lỗ đen hoặc vòng lặp định tuyến . Ví dụ: giả sử ghép cặp nhƣ sau:
- Bộ định tuyến A và B là iBGP cùng cấp.
- Bộ định tuyến A và C là iBGP cùng cấp.
- Nhƣng bộ định tuyến B & C không cùng cấp iBGP.
Khi bộ định tuyến B hiểu các tuyến bên ngoài từ ISP-1 thì sau đó nó sẽ quảng cáo các tuyến này đến bộ định tuyến A. Do bộ định tuyến C đang nhận đƣợc các tuyến bên ngoài từ ISP-2 nên nó sẽ quảng cáo các tuyến này tới bộ định tuyến A. Nhƣng bộ định tuyến A không chuyển tiếp thông tin hiểu đƣợc từ B tới C và từ C tới B do quy tắc phân chia ngang. Vì vậy bộ định tuyến C không có thông tin về địa chỉ mạng 170.1.2.0/24- 170.1.4.0/24 và bộ định tuyến B không biết đƣợc thông tin về các địa chỉ mạng 180.1.1.0/24- 180.1.3.0/24. Điều này đƣợc thể hiện ở đầu ra của bộ định tuyến B trong hình 14 dƣới đây.
Tƣơng tự nhƣ vậy, bộ định tuyến C hiểu đƣợc một phần thông tin, nhƣ đƣợc thể hiện trong bảng định tuyến của nó trong Hình 15 dƣới đây.
Hình 15. Bảng định tuyến của C (có các tuyến đã đƣợc hiểu)
Tƣơng tự nhƣ vậy, nếu chỉ B & C là iBGP cùng cấp, B có thông tin định tuyến đƣợc hiểu từ ISP-1 về 170.1.2.0/24- 170.1.4.0/24 thì nó sẽ chuyển tiếp thông tin định tuyến này đến bộ định tuyến C và bộ định tuyến C có thông tin định tuyến đƣợc hiểu từ ISP-2 về 180.1.1.0/24 - 180.1.4.0/24 nó sẽ chuyển tiếp thông tin định tuyến này tới bộ định tuyến B.
Bây giờ giả sử các gói tin vào mạng 170.1.2.0/24 đến bộ định tuyến C từ ISP-2 hoặc xuất phát từ bên trong bộ định tuyến C. Bộ định tuyến C sẽ tìm trong bảng định tuyến của nó để định tuyến các gói tin tới đích.
Bảng này yêu cầu C tiếp cận 170.1.3.0 lƣu lƣợng sẽ đƣợc chuyển tiếp tới next-hop 170.1.1.10/24 (địa chỉ IP của thiết bị cùng cấp eBGP). Bây giờ bộ định tuyến C tìm trong bảng định tuyến của nó một lần nữa để xác định đƣờng dẫn tới 170.1.1.10/24 (bộ định tuyến B).
Kết quả tìm kiếm xác định 170.1.1.5 (bộ định tuyến A) là next-hop đƣợc kết nối trực tiếp và lƣu lƣợng lúc này đƣợc chuyển tiếp tới bộ định tuyến A. Bây giờ bộ định tuyến A sẽ xem bảng định tuyến của mình cho để định tuyến lƣu lƣợng tới 170.1.3.0/24. Bảng định tuyến của bộ định tuyến A nhƣ trong hình 16 dƣới đây không có các thông tin có thể tiếp cận tới 170.1.3.0/24 vì nó không có quan hệ cùng cấp iBGP với bộ định tuyến B.
một số tuyến mặc định, điều này có thể dẫn đến các vòng lặp định tuyến. Thử nghiệm kết nối đầu ra trong hình 17 chứng minh điều này.
Hình 17. Thử nghiệm kết nối (ping và trace route) từ bộ định tuyến C
iBGP có quy tắc đồng bộ để ngăn chặn vấn đề này, quy định này là không bao giờ xem xét một tuyến đƣợc hiểu thông qua iBGP cùng cấp trừ khi tuyến đó đƣợc hiểu thông qua giao thức IGP nghĩa là giao thức EIGRP hay OSPF. Do đó, nếu đồng bộ hóa bị vô hiệu trên bộ định tuyến C, bộ định tuyến C sẽ sử dụng tuyến tới 170.1.2.0 ngay từ đầu.
Nói cách khác quy tắc này có nghĩa là tất cả các tuyến BGP đƣợc phân phối lại trong IGP, để tất cả các bộ định tuyến bên trong tổ chức có thông tin phù hợp và tránh đƣợc vòng lặp định tuyến và lỗ đen.
Nhƣng phân phối lại các tuyến BGP vào IGP là không khả thi, một giải pháp thay thế là full mesh (cấu hình dạng mắt lƣới) kết nối iBGP tức là tất cả các bộ định tuyến nội bộ ghép cặp với tất cả các bộ định tuyến nội bộ khác, vì vậy kết nối iBGP độc lập đƣợc thành lập giữa tất cả các bộ định tuyến nội bộ và thông tin đƣợc truyền đạt tới tất cả và chúng ta có thể vô hiệu hóa quy tắc đồng bộ hóa trong trƣờng hợp
này. Nhƣng phƣơng pháp full mesh iBGP rất khó để cấu hình và duy trì bởi các bộ định tuyến.
3.3.2 Bộ phản xạ tuyến
Phản xạ tuyến đƣợc sử dụng để giảm số lƣợng các kết nối iBGP đƣợc yêu cầu. Nếu không có bộ phản xạ tuyến, AS có N số bộ định tuyến yêu cầu n * (n-1)/2 số kết nối iBGP để đạt đƣợc kết nối mắt lƣới nhƣ trong hình 18 bên dƣới.
Hình 18. BGP đƣợc cấu hình mắt lƣới
Khái niệm phản xạ tuyến tƣơng tự nhƣ khái niệm bộ định tuyến đƣợc chỉ định trong giao thức định tuyến OSPF, ở đó một bộ định tuyến trong AS đƣợc cấu hình nhƣ phản xạ định tuyến và tất cả các bộ định tuyến khác làm việc với vai trò nhƣ khách hàng. Bây giờ mỗi khách hàng cần kết nối tới bộ phản xạ định tuyến để
đạt đƣợc kết nối full mesh và số lƣợng kết nối iBGP đƣợc yêu cầu cần đƣợc giảm đến N-1
Hình 19. Bộ phản xạ tuyến BGP
Bộ phản xạ tuyến hiểu đƣợc thông tin định tuyến BGP từ một khách hàng và quảng cáo thông tin này tới tất cả các khách hàng khác. Bằng cách này, thông tin này đƣợc lan truyền đến toàn bộ AS mà không cần full mesh iBGP nhƣ thể hiện trong hình 19 ở trên.
Bài toán 3
3.4 Tấn công BGP và cấu hình sai trên một mạng mẫu
Trong bài toán này, tôi sẽ chỉ ra cách xử lý thông tin BGP một cách độc hại. Hình 20 dƣới đây cho thấy các cấu trúc liên kết của bài toán 3.
Hình 20. Sơ đồ cấu trúc liên kết bài toán 3
Mỗi bộ định tuyến đại diện cho một AS duy nhất, trên thực tế có nhiều bộ định tuyến bên trong bất kỳ tổ chức nào, nhƣng hầu nhƣ luôn có một bộ định tuyến giao tiếp với bên ngoài. Và để làm cho cấu trúc liên kết đơn giản, chúng ta lấy đại diện cho mỗi AS bằng 1 bộ định tuyến duy nhất. Hình 20 cho thấy sơ đồ cấu trúc liên kết để bài toán kết hợp mô phỏng các cuộc tấn công và các vấn đề BGP. Bảng 21 dƣới đây bao gồm tên bộ định tuyến trên bản đồ số AS.
Hình 21. Tên bộ định tuyến và bảng số AS tƣơng ứng
AS số 1 và 2 đại diện cho ISP cấp 1; AS 3, 4 và 5 đại diện cho IPS cấp 2 và AS 6, 7, 8 và 9 đại diện cho ISP cấp 3. ISP-A cấp 1 (ASN-1) sở hữu các địa chỉ mạng 174.0.0.0/8 đến 179.0.0.0/8 ISP-A gán 174.1.0.0/16 AS 3 và 175.1.0.0/16 vào AS-4. AS số 3 gán địa chỉ mạng 174.1.1.0/24 và 174.1.2.0/24 lần lƣợt vào AS số 6 và số 7. Mặt khác ISP-B (AS số 2) giữ địa chỉ mạng 184.0.0.0/8 đến 189.0.0.0/8, nó gán 184.1.0.0/16 vào AS số 5 và gán 184.1.1.0/24 vào AS số 9. Tất cả hệ thống tự trị trao đổi địa chỉ mạng định tuyến sử dụng giao thức định tuyến BGP với nhau để