a. Cấu hình tiến trình định tuyến OSPF
Định tuyến OSPF sử dụng khái niệm về vùng. Mỗi Router xây dựng một cơ sở dữ liệu đầy đủ về trạng thái các đường liên kết trong một vùng. Một vùng trong mạng OSPF được cấp số từ 0 đến 65.535. Nếu OSPF đơn vùng thì đó là vùng 0. Trong mạng OSPF đa vùng, tất cả các vùng đều phải kết nối vào vùng 0. Do đó vùng 0 được gọi là vùng xương sống.
Trước tiên, cần khởi động tiến trình định tuyến OSPF trên Router, khai báo địa chỉ mạng và chỉ số vùng. Địa chỉ mạng được khai báo kèm theo wilđcard mask chứ không phải là subnet mask. Chỉ số danh định (ID) của vùng được viết dưới dạng số hoặc dưới dạng số thập phân có dấu chấm tượng tự như IP.
Để khởi động định tuyến OSPF dùng lệnh sau trong chế độ cấu hình toàn cục:
Router(config)#Router OSPF process-id
Process-id là chỉ số xác định tiến trình địng tuyến OSPF trên Router. có thể khởi động nhiều tiến trình OSPF trên cùng một Router. Chỉ số này có thể là bất kỳ giá trị nào
156
trong khoảng từ 1 đến 65.535. Đa số các nhà quản trị mạng thường giữ chỉ số process-id này giống nhau trong cùng một hệ tự quản, nhưng điều này là không bắt buộc. Rất hiếm khi nào cần chạy nhiều hơn một tiến trình OSPF trên một Router. khai báo địa chỉ mạng cho OSPF như sau:
Router(config-Router)#network wildcard-mask area area-id
Mỗi mạng được quy ước thuộc về một vùng. Adress có thể là địa chỉ của toàn mạng, hoặc là một subnet hoặc là địa chỉ của một cổng giao tiếp. Wildcard-mask sẽ xác định chuỗi địa chỉ host nằm trong mạng mà cần khai báo.
Hình 6.8. Cấu hình OSPF cơ bản
b. Cấu hình địa chỉ loopback cho OSPF và quyền ƣu tiên cho Router
Khi tiến trình OSPF bắt đầu hoạt động, Cisco IOS sử dụng địa chỉ IP lớn nhất đang hoạt động trên Router làm Router ID. Nều không có cổng nào đang hoạt động thì tiến trình OSPF không thể bắt đầu được. Khi Router đã chọn địa chỉ IP của một cổng làm Router ID và sau đó cổng này bị sự cố thì tiến trình sẽ bị mất Router ID.
Khi đó tiến trình OSPF sẽ bịi ngưng hoạt động cho đến khi cổng đó hoạt động trở lại.
Để đảm bảo cho OSPF hoạt động ổn định chúng ta cần phải có một cổng luôn luôn tồn tại cho tiến trình OSPF. Chính vì vậy cần cấu hình một cổng loopback là một cổng luận lý chứ không phải cổng vật lý. Nếu có một cổng loopback được cấu hình thì OSPF sẽ sử dụng địa chỉ của cổng loopback làm Router ID mà không quan tâm đến giá trị của địa chỉ này.
157
Nếu trên Router có nhiều hơn một cổng loopback thì OSPF sẽ chọn địa chỉ IP lớn nhất trong các địa chỉ IP của các cổng loopback làm Router ID.
Để tạo cổng loopback và đặt địa chỉ IP cho nó sử dụng các lệnh sau:
Router(config)#Interface loopback number
Router(config-if)#IP address IP-address subnet-mask
nên sử dụng cổng loopback cho mọi Router chạy OSPF. Cổng loopback này nên được cấu hình với địa chỉ có Subnet Mask là 255.255.255.255. Địa chỉ 32-bit Subnet Mask như vậy gọi là host mask vì Subnet Mask này xác định một địa chỉ mạng chỉ có một host. Khi OSPF phát quảng cáo về mạng loopback, OSPF sẽ luôn luôn quảng cáo loopback như là một host với 32-bit mask.
Hình 6.9.a. Cổng loopback chỉ là một cổng phần mềm. Để xoá cổng loopback dùng dạng no của câu lệnh tạo cổng
Trong mạng quảng bá đa truy cập có thể có nhiều hơn hai Router. Do đó, OSPF bầu ra một Router đại diện (DR - Designated Router) làm điểm tập trung tất cả các thông tin quảng cáo và cập nhật về trạng thái của các đường liên kết. Vì vai trò của DR rất quan trọng nên một Router đại diện dự phòng (BDR - Backup Designated Router) cũng được bầu ra để thay thế khi DR bị sự cố.
Đối với cổng kết nối vào mạng quảng bá, giá trị ưu tiên mặc định của OSPF trên cổng đó là 1. Khi giá trị OSPF ưu tiên của các Router đều bằng nhau thì OSPF sẽ bầu DR dựa trên Router ID. Router ID nào lớn nhất sẽ được chọn.
158
có thể quyết định kết quả bầu chọn DR bằng cách đặt giá trị ưu tiên cho cổng cua Router kết nối vào mạng đó. Cổng của Router nào có giá trị ưu tiên cao nhất thì Router đó chắc chắn là DR.
Giá trị ưu tiên có thể đặt bất kỳ giá trị nào nằm trong khoảng từ 0 đến 255. Giá trị 0 sẽ làm cho Router đó không bao giờ được bầu chọn. Router nào có giá trị ưu tiên.
OSPF cao nhất sẽ được chọn làm DR. Router nào có vị trí ưu tiên thứ 2 sẽ là BDR. Sau khi bầu chọn xong, DR và BDR sẽ giữ luôn vai trò của nó cho dù chúng ta có đặt thêm Router mới vào mạng với giá trị ưu tiên OSPF cao hơn.
Để thay đổi giá trị ưu tiên OSPF, dùng lệnh IP OSPF priority trên cổng nào cần thay đổi. dùng lệnh showIP OSPF Interface có thể xem được giá trị ưu tiên của cổng và nhiều thông tin quan trọng khác.
Router(config)#IP OSPF priority number
Router(config)#show IP OSPF Interfacetype number
Hình 6.9.b. Trong gói hello phát ra cổng Fast Ethernet 0/0, trường Router Priority sẽ có giá trị là 50
159
Hình 6.9.d.
Hình 6.9.e. Bầu DR và BDR trong mạng quảng bá đa truy cập
c. Thay đổi giá trị chi phí của OSPF
OSPF sử dụng chi phí làm thông số chọn đường tốt nhất. Giá trị chi phí này liên quan đến đường truyền và dữ liệu nhận vào của một cổng trên Router. Nói tóm lại, chi phí của một kết nối được tính theo công thức 108/băng thông, trong đó băng thông được tính theo đơn vị bit/s. Người quản trị mạng có thể cấu hình giá trị chi phí bằng nhiều cách. Cổng nào có chi phí thấp thì cổng đó sẽ được chọn để chuyển dữ liệu. Cisco IOS tự động tính chi phí dựa trên băng thông của cổng tương ứng. Do đó, để OSPF hoạt động đúng cần cấu hình băng thông đúng cho cổng của Router.
Router(config)#Interface serial 0/0 Router(config-if)#bandwith 64
160
Giá trị băng thông mặc định của cổng Serial Cisco là 1,544Mbps hay 1544kbs.
Hình 6.10.a. Giá trị chi phí OSPF mặc định của Cisco IOS
Giá trị chi phí thay đổi sẽ ảnh hưởng đến kết quả tính toán của OSPF. Trong môi trường định tuyến có nhiều hãng khác nhau, sẽ phải thay đổi giá trị chi phí để giá trị chi phí của hãng này tương thích với giá trị chi phí của hãng kia. Một trường hợp khác cần thay đổi giá trị chi phí khi sử dụng Gigabit Ethernet. Giá trị chi phí mặc định thấp nhất, giá trị 1, là tương ứng với kết nối 100Mbs. Do đó, khi trong mạng vừa co 100Mbs va Gigabit Ethernet thì giá trị chi phí mặc định sẽ làm cho việc định tuyến có thể không tối ưu. Giá trị chi phi nằm trong khoảng từ 1 đến 65.535.
sử dụng câu lệnh sau trong chế độ cấu hình cổng tương ứng để cài đặt giá trị chi phí cho cổng đó:
Router(config)#IP OSPF cost number
Hình 6.10.a. Giá trị chi phí OSPF mặc định của Cisco IOS.
161
d. Cấu hình quá trình xác minh cho OSPF
Các Router mặc nhiên tin rằng những thông tin định tuyến mà nó nhận được là do đúng Router tin cậy phát ra và những thông tin này không bị can thiệp dọc đường đi. Để đảm bảo điều này, các Router trong một vùng cần được cấu hình để thực hiện xác minh với nhau.
Mỗi một cổng OSPF tr ên Router cần có một chìa khoá xác mi nh để sử dụng khi gửi các thông tin OSPF cho các Router khác cùng kết nối với cổng đó. Chìa khóa xác minh, hay còn gọi là mật mã, được chia sẻ giữa hai Router. Chìa khoá này sử dụng để tạo ra dữ liệu xác minh (trường Authentication data) đặt trong phần header của gói OSPF. Mật mã này có thể dài đến 8 ký tự. sử dụng câu lệnh sau để cấu hình mật mã xác minh cho một cổng OSPF:
Router(config)#IP OSPF authentication-keyPassword
Sau khi cấu hình mật mã xong, cần bật chế độ xác minh cho OSPF:
Router(config)#are area-number authentication
Hình 6.11.a. Phần header của gói OSPF
Với cơ chế xác minh đơn giản trên, mật mà được gửi đi dưới dạn văn bản. Do đó nó dễ dàng được giải mã nếu gói OSPF bị những kẻ tấn công bắt được.
Chính vì vậy các thông tin xác minh nên được mật mã lại. Để đảm bảo an toàn hơn và thực hiện mật mã thông tin xác minh, nên cấu hình mật mã message-digest bằng câu lệnh sau trên cổng tương ứng của Router:
Router(config)#IP OSPF message-digest-key key-id encryption-type md5
MD5 là một thuật toán mật mã thông điệp message-digist. Nếu đặt tham số encryption-type giá trị 0 có nghĩa là không thự hiện mật mã, còn giá trị 7 có nghĩa là thực hiện mật mã theo cách độc quyền của Cisco.
162
Tham số key-id là một con số danh định có giá trị từ 1 đến 255. Tham số key là phần cho khai báo mật mã, có thể dài đến 16 ký tự. Các Router láng giềng bắt buộc phải có cùng số key-id cà cùng giá trị key.
Sau khi cấu hình mật mã MD5 xong cần bật chế độ xác minh message-digest trong OSPF:
Router(config-Router)#area area-id authentication message-digest
Hình 6.11.b. Cấu hình cơ chế xác minh MD5 cho OSPF
Từ mật mã và nội dung của gói dữ liệu, thuật toán mẫt mã MD5 sẽ tạo ra một thông điệp gắn thêm vào gói d ữ liệu. Router nhận g ói dữ liệu sẽ dùng mật mã mà bản thân Router có kết hợp v ới gói dữ liệu nhận được để tạo ra một thông điệp. Nếu kết quả hai thông điệp này giống nhau thì có nghĩa là là Router đã nhận được gói dữ liệu từ đúng nguồn và nội dung gói dữ liệu đã không bị can thiệp. Cấu trúc phần header của gói OSPF như trên hình 2.3.4.a. Trường authentication type cho biết cơ chế xác minh là cơ chế nào. Nếu cơ chế xác minh là message-digest thì trường authentication data sẽ có chứa key-id và thông số cho biết chiều dài của phần thông điệp gắn thêm vào gói dữ liệu. Phần thông điệp này giống như một con dấu không thể làm giả được.
163
CHƢƠNG 7: DANH SÁCH TRUY CẬP ACLs 7.1. Cơ bản về danh sách kiểm tra truy cập 7.1.1. ACL là gì ?
ACLs là một danh sách các điều kiện được áp dụng cho lưu lượng đi qua một cổng của Router. Danh sách này cho phép Router biết loại gói nào được chấp nhận hay bị từ chối dựa trên các điều kiện cụ thể. ACL được sử dụng để quản lý lưu lượng mạng và bảo vệ sự truy cập ra hoặc vào hệ thống mạng.
ACL có thể được tạo ra cho tất cả các giao thức được định tuyến như IP (Internet Protocol) và IPX (Internetwork Packet Exchange). ACL có thể được cấu hình trên Router để kiểm tra việc truy cập và một mạng hay một subnet nào đó.
Hình 7.1. Ví dụ về ACL
ACL lọc tải bằng cách kiểm tra việc chuyển đi các gói đã được định tuyến xong hoặc là chặn ngay các gói vào cổng của Router. Router kiểm tra từng gói một để quyết định là chuyển gói đi hay hủy bỏ gói đó tùy vào các điều kiện trong ACL như: địa chỉ nguồn và đích, giao thức và số port của lớp trên.
164
Hình 7.2. Cấu trúc về gói dữ liệu
Một số nguyên nhân chính để tạo ACLs:
Giới hạn lưu lượng mạng để tăng hiệu xuất hoạt động của mạng. Ví dụ, bằng cách giới hạn lưu lượng truyền video, ACLs đã làm giảm tải đáng kể và làm tăng hiệu suất của mạng.
Kiểm tra dòng lưu lượng. ACLs có thể giới hạn thông tin truy cập định tuyến. Cung cấp chế độ bảo vệ truy cập cơ bản. ACLs có thể cho phép một host truy cập vào một phần nào đó của hệ thống mạng và ngăn không cho các host khác truy cập vào khu vực đó.
Quyết định loại lưu lượng được phép cho qua hay chặn lại trên các công của Router.
Ví dụ, lưu lượng của Email được phép cho qua nhưng tất cả lưu lượng của telnet đều bị chặn lại.
Cho phép người quản trị mạng điều khiển được các phạm vi mà các Client được quyền truy cập vào trong hệ thống mạng.
Kiểm tra host để cho phép hay từ chối không cho truy cập vào một khu vực nào đó trong hệ thống. N ếu trên Router không có cấu hình ACLs thì tất cả các gói được chuyển đi đến mọi vị trí trong hệ thống mạng.
165
7.1.2. ACLs làm việc nhƣ thế nào
Mỗi ACLs là một danh sách các câu lệnh trong đó xác định gói dữ liệu nào được chấp nhận hay từ chối tại chiều ra hay chiều vào của một cổng trên Router.
Mỗi một câu lệnh có các điều kiện và kết quả chấp nhận hay từ chối tương ứng. Nếu thoả điều kiện trong câu lệnh thì quyết định chấp nhận hay từ chối sẽ được thực hiện.
Thứ tự đặt các câu lệnh trong ACLs rất quan trọng.Phần mềm Cisco IOS sẽ kiểm tra gói dữ liệu với từng câu lệnh một theo đúng thứ tự từ trên xuống dưới. N ếu thoả điều kiện của một câu lệnh thì gói dữ liệu sẽ được chấp nhận hay từ chối ngay và toàn bộ các câu lệnh còn lại trong ACLs đó sẽ không phải kiểm tra nữa. Nếu không thoả điều kiện của tất cả các câu lệnh trong ACLs thì mặc định là cuối danh sách luôn có một câu lệnh “deny any” (từ chối tất cả).
Nếu cần thêm một câu lệnh vào ACLs thì phải xoá toàn bộ ACLs đi rồi tạo lại ACLs mới có câu lệnh mới.
166
7.1.3. Tạo ACLs
ACLs được tạo trong chế độ cấu hình toàn cục. Có rất nhiều loại ACLs khác nhau, bao gồm: ACL cơ bản, ACL mở rộng, ACL cho IPX, AppleTalk và các giao thức khác.
Khi cấu hình ACLs trên Router mỗi ACL có một số xác định.
Hình 7.4. Các thông số cấu hình ACL
Bắt đầu tạo ACLs bằng từ khóa access-list, theo sau là các tham số tương ứng của lệnh này. Trong chế độ chế độ cấu hình cổng của Router, dùng lệnh access-group để gán
ACL tương ứng vào cổng đó. Khi gán ACL cho một cổng , cần xác định cụ thể ACL đó áp dụng cho chiều ra hay vào trên cổng của Router. Để thay đổi ACL, dùng lệnh no access-list list-number để xóa tất cả các câu lệnh access-list có cùng list-number.
Các nguyên tắc cơ bản khi tạo và gán ACLs:
Một ACL cho một giao thức trên một chiều của một cổng. ACL cơ bản nên đặt ở vị trí gần mạng đích nhất.
ACL mở rộng nên đặt ở gần mạng nguồn nhất
Đứng trong Router để xác định chiều đi ra hay đi vào trên một cổng của Router đó Các câu lệnh trong một ACL sẽ được kiểm tra tuần tự từ trên xuống cho đến khi có một câu lệnh được thỏa. N gược lại, nếu không có câu lệnh trong ACL thì gói dữ liệu đó sẽ bị từ chối.
167
Trong thực tế, các lệnh của danh sách truy cập có thể là các xâu kí tự dài. Các danh sách truy cập có thể phức tạp khi nhập vào hoặc dịch ra.Tuy nhiên, có thể đơn giản hoá các lệnh định cấu hình cho danh sách truy cập chung bằng cách giảm các lệnh bởi hai phần tử chung.
Mô hình tạo ACL:
Bước 1: Tạo các thông số cho câu lệnh kiểm tra danh sách truy cập này (có thể là một hoặc vài câu lệnh):
Router(config)#access-list access-list-number {permit | deny} {test condition} Bước 2: Cho phép một giao diện trở thành một phần của nhóm, nhóm mà sử dụng danh sách truy cập đã được xác định (kích hoạt access list trên Interface).
Router(config-IP)#{protocol} access-group access-list-number {in | out}
access-list-number là số hiệu phân biệt các access list với nhau, đồng thời cũng cho biết là loại access list nào (standard hay extended)
Cập nhật các danh sách truy cập:
Nếu các câu lệnh điều kiện thêm vào là cần thiết trong một danh sách truy cập thì cập nhật toàn bộ.
ACL phải được xoá và tạo lại với các câu lệnh điều kiện mới.