Static Routing là gì? Hướng dẫn cấu hình định tuyến tĩnh trên Cisco
Định tuyến tĩnh (Static Routing) là một trong những cách router khám phá mạng từ xa. Trong bài này, chúng ta sẽ tìm hiểu khái niệm, nguyên tắc hoạt động và cách cấu hình static route trên thiết bị Cisco IOS.
Tổng quan
Router trong mạng có thể học về các mạng từ xa theo hai cách:
- Statically configured routes — định tuyến tĩnh do người quản trị cấu hình thủ công
- Dynamic routing protocols — giao thức định tuyến động tự học tuyến đường
Bài viết này tập trung vào định tuyến tĩnh, bao gồm cách cấu hình, nguyên tắc quyết định của bảng định tuyến, giao diện định tuyến và các khái niệm liên quan.
Giới thiệu
Nhiệm vụ của router là chuyển tiếp gói tin từ thiết bị nguồn đến thiết bị đích. Trên đường đi có thể có nhiều router trung gian. Router sử dụng một cơ sở dữ liệu gọi là routing table (bảng định tuyến) để thực hiện việc này.
Xét topology mạng gồm 3 router (R1, R2, R3) và 2 host (HOST A, HOST B) với các phân đoạn mạng riêng biệt. Network administrator đã cấu hình serial interface của R1 và R3 là DCE.
Trong tình huống này:
- R1 có thể ping HOST A và interface s0/0/0 của R2, nhưng không ping được s0/0/1
- R3 có thể ping HOST B và interface s0/0/1 của R2, nhưng không ping được xa hơn
- HOST A và HOST B không thể liên lạc với nhau
Phần dưới đây sẽ giải thích nguyên nhân và cách khắc phục.
Directly Connected Networks (Mạng kết nối trực tiếp)
Bảng định tuyến chứa thông tin về các mạng mà router có thể đến được. Mặc định, một router chỉ biết các directly connected routes — tức là các mạng kết nối trực tiếp vào chính nó.
Từ góc độ của R1, các directly connected routes bao gồm:
- Mạng kết nối với HOST A
- Mạng giữa R1 và R2
Vì chưa có cấu hình thêm nào, R2 và R3 cũng chỉ có directly connected routes. Điều này có nghĩa:
- HOST A có thể ping R1
- R1 có thể ping interface s0/0/0 của R2, nhưng không ping được s0/0/1 hay HOST B
- R2 có thể ping interface s0/0/0 của R1, nhưng không ping được fa0/0 hay HOST A
- R2 có thể ping interface s0/0/0 của R3, nhưng không ping được fa0/0 hay HOST B
- R3 có thể ping interface s0/0/1 của R2, nhưng không ping được s0/0/0
- HOST B có thể ping R3
- Hai host không thể ping nhau
- R1 và R3 không ping được nhau
Cấu hình Static Route
Static route là một cách để router liên lạc với các mạng từ xa. Trong môi trường thực tế, static route thường được dùng khi định tuyến đến stub network.
Stub network là mạng chỉ có thể được truy cập qua một điểm duy nhất (một interface).
Trong topology trên, 192.168.1.0/24 và 192.168.4.0/24 là các stub network — các host trong hai mạng này chỉ có một con đường duy nhất để liên lạc với bên ngoài, lần lượt qua R1 và R3.
Cú pháp lệnh ip route
Router(config)# ip route (network-address) (subnet-mask) (next-hop-ip | exit-interface)
Bảng giải thích các tham số trong lệnh ip route, ví dụ cấu hình trên R1 để đến mạng 192.168.4.0/24:
| Tham số | Ý nghĩa | Ví dụ |
|---|---|---|
ip route |
Khai báo đây là một static route | ip route |
network-address |
Địa chỉ mạng đích cần đến | 192.168.4.0 |
subnet-mask |
Subnet mask của mạng đích | 255.255.255.0 |
next-hop ip address |
Địa chỉ IP của router kế tiếp dẫn đến mạng đích | 192.168.2.4 |
exit interface |
Interface đầu ra trên router hiện tại kết nối đến router kế tiếp | s0/0/0 |
Cấu hình trên R1
! Dùng next-hop IP address
R1(config)# ip route 192.168.3.0 255.255.255.0 192.168.2.4
R1(config)# ip route 192.168.4.0 255.255.255.0 192.168.2.4
! Hoặc dùng exit interface
R1(config)# ip route 192.168.3.0 255.255.255.0 s0/0/0
R1(config)# ip route 192.168.4.0 255.255.255.0 s0/0/0
Lưu ý: Khi cấu hình static route, chỉ dùng một trong hai: exit interface hoặc next-hop IP address, không dùng cả hai cùng lúc.
Sau khi cấu hình, lệnh show ip route trên R1 sẽ hiển thị static route được đánh dấu bằng chữ "S". Trong ngoặc [1/0], số "1" là administrative distance của static route, số "0" là metric.
Ba nguyên tắc của bảng định tuyến
Dù đã cấu hình static route trên R1, ping từ HOST A đến HOST B vẫn thất bại. Nguyên nhân nằm ở ba nguyên tắc cơ bản của bảng định tuyến.
Nguyên tắc 1
"Router chuyển tiếp gói tin dựa trên thông tin trong bảng định tuyến của chính nó mà thôi."
R1 có route đến 192.168.3.0/24 và 192.168.4.0/24. Tuy nhiên R1 sẽ ra quyết định chuyển tiếp chỉ dựa trên thông tin này — không tham chiếu R2 hay R3, cũng không biết các router đó có route đến đâu. Người quản trị mạng có trách nhiệm đảm bảo tất cả các router đều biết về các mạng từ xa.
Nguyên tắc 2
"Thông tin định tuyến trên một router không có nghĩa là các router khác trong miền cũng có thông tin đó."
Việc R1 có route đến 192.168.4.0/24 không có nghĩa R2 hay R3 cũng biết đường đến mạng đó. Vì vậy cần cấu hình route trên cả R2 để R2 biết cách đến mạng kết nối với R3.
Nguyên tắc 3
"Route trên một router đến mạng từ xa không có nghĩa router từ xa có đường quay ngược lại."
Khi cấu hình route đến 192.168.4.0/24 trên R1, ta cũng phải cấu hình return route trên các router từ xa để chúng biết đường quay về mạng 192.168.1.0/24. Tương tự như gửi thư mà không có địa chỉ người gửi — người nhận sẽ không thể trả lời.
Áp dụng ba nguyên tắc — Cấu hình đầy đủ
Dựa vào ba nguyên tắc trên, cần cấu hình thêm trên R2 và R3:
! Trên R2
R2(config)# ip route 192.168.1.0 255.255.255.0 192.168.2.3
R2(config)# ip route 192.168.4.0 255.255.255.0 192.168.3.3
! Trên R3
R3(config)# ip route 192.168.1.0 255.255.255.0 192.168.3.4
R3(config)# ip route 192.168.2.0 255.255.255.0 192.168.3.4
Sau khi cấu hình đầy đủ trên cả ba router, bảng định tuyến của mỗi router sẽ hiển thị các static route (đánh dấu "S"), và lúc này ping từ HOST A đến HOST B sẽ thành công với 4/4 gói nhận được, 0% packet loss.
Recursive Lookup — Tra cứu đệ quy
Khi cấu hình static route với next-hop IP address (thay vì exit interface), router phải thực hiện recursive lookup (tra cứu đệ quy):
- Router tra bảng định tuyến để tìm route đến mạng đích
- Tìm thấy next-hop IP, sau đó phải tra lại bảng định tuyến lần nữa để biết interface nào kết nối đến next-hop đó
- Thường next-hop được resolve qua một directly connected network
Việc phải xử lý gói tin hai lần làm tăng overhead. Vì vậy khuyến nghị sử dụng exit interface thay vì next-hop IP address khi cấu hình static route.
Summary Route và Default Route
Summary Route (Định tuyến tóm tắt)
Khi một router có nhiều LAN kết nối, thay vì cấu hình nhiều static route riêng lẻ, có thể gộp lại thành một summary route bao phủ tất cả.
Ví dụ, R1 có 5 LAN: 192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24, 192.168.4.0/24, 192.168.5.0/24.
Khi so sánh các địa chỉ này theo bit, phần chung là 2 octet đầu và 5 bit đầu của octet thứ 3. Kết quả summary là:
- Network:
192.168.0.0 - Subnet mask:
255.255.248.0(hay/21)
! Cấu hình summary route trên R2
R2(config)# ip route 192.168.0.0 255.255.248.0 s0/0/0
Default Route (Định tuyến mặc định)
Khi HOST A muốn gửi email hoặc truy cập internet, router không thể cấu hình static route đến từng địa chỉ IP trên internet. Giải pháp là dùng default route.
Default static route sẽ khớp với mọi gói tin không có route cụ thể hơn trong bảng định tuyến. Thường dùng trong hai trường hợp:
- Kết nối router biên của công ty với mạng ISP
- Router chỉ có một router khác kết nối vào (stub router)
! Cú pháp cấu hình default route
Router(config)# ip route 0.0.0.0 0.0.0.0 [next-hop-ip | exit-interface]
! Ví dụ trên R1
R1(config)# ip route 0.0.0.0 0.0.0.0 12.145.3.2
! Hoặc
R1(config)# ip route 0.0.0.0 0.0.0.0 s0/0/0
Lệnh ip route 0.0.0.0 0.0.0.0 hướng dẫn router chuyển tiếp bất kỳ gói tin nào mà nó không có route cụ thể đến next-hop IP hoặc exit interface đã chỉ định.
Kết luận
Static Routing là nền tảng quan trọng trong việc hiểu cách router hoạt động, trong triển khai thực tế, việc sử dụng static route khá nhiều. Trong bài này, chúng ta đã tìm hiểu cách router tìm đường đến mạng từ xa, cấu hình static route dựa trên ba nguyên tắc của bảng định tuyến, hiểu về recursive lookup, cũng như cách cấu hình summary route và default static route. Trong chương tiếp theo, chúng ta sẽ bước vào thế giới của dynamic routing protocols.