Bài số 5: Cấu hình router tự động bằng giao thức chọn đường OSPF
Như tìm hiểu trong bài thực hành trên, giao thức RIP thực hiện quảng bá bảng định tuyến giữa các router láng riềng và từ đó cập nhật thông số Metric của mỗi đường định tuyến để xác định đường “ngắn nhất” (có Metric nhỏ nhất). OSPF cũng tính toán đường định tuyến “ngắn nhất” nhưng bằng cách thu thập dữ liệu topology và trạng thái của toàn bộ mạng. Nói cách khác, OSPF vẽ lại toàn bộ sơ đồ mạng với từng trạng thái đường truyền (gọi là OSPF database) và lưu trữ các bản copy của database này trên mỗi router. Dựa trên sơ đồ tổng thể này, từng router xác định đường định tuyến “ngắn nhất”. Để đảm bảo việc vẽ sơ đồ mạng không mất quá nhiều thời gian, OSPF cho phép chia mạng thành các vùng (area) và xây dựng database theo từng vùng đồng thời lưu database này trên các router thuộc vùng tương ứng. Hình vẽ bên trên mô tả kiến trúc mạng và phân vùng. Các bước tiến hành với OSPF như sau:
- Bước 1: Cấu hình OSPF trên các router
- Bước 2: Vận hành OSPF và kiểm tra kết nối
- Bước 3: Tìm hiểu thêm về OSPF database
Chuẩn bị file cấu hình OSPF trên cho từng router. Cấu hình của R1 như sau:
>
ifconfig eth0 192.168.1.1/24
>
ifconfig eth1 192.168.2.1/25
>
nano /etc/quagga/ospfd.conf
hostname ospfd
password zebra
enable password zebra
debug ospf event
debug ospf packet all
router ospf
network 192.168.1.0/24 area 1
network 192.168.2.0/25 area 1
network 192.168.56.0/24 area 1
log file /var/log/quagga/ospfd.log
Router R2:
>
ifconfig eth0 192.168.2.2/25
>
ifconfig eth1 192.168.2.129/25
>
ifconfig eth2 192.168.4.1/24
>
nano /etc/quagga/ospfd.conf
hostname ospfd
password zebra
enable password zebra
debug ospf event
debug ospf packet all
router ospf
network 192.168.2.0/25 area 1
network 192.168.2.128/25 area 0
network 192.168.4.0/24 area 0
log file /var/log/quagga/ospfd.log
Router R3:
>
ifconfig eth0 192.168.2.130/25
>
ifconfig eth1 192.168.3.1/24
>
nano /etc/quagga/ospfd.conf
hostname ospfd
password zebra
enable password zebra
debug ospf event
debug ospf packet all
router ospf
network 192.168.2.128/25 area 0
network 192.168.3.0/24 area 0
log file /var/log/quagga/ospfd.log
Router R4:
>
ifconfig eth0 192.168.3.2 /24
>
ifconfig eth1 192.168.4.2/24
>
ifconfig eth2 10.0.2.15/8
>
nano /etc/quagga/ospfd.conf
hostname ospfd
password zebra
enable password zebra
debug ospf event
debug ospf packet all
router ospf
network 192.168.4.0/24 area 0
network 192.168.3.0/24 area 0
network 10.0.0.0/8 area 0
log file /var/log/quagga/ospfd.log
Trên từng router, lần lượt tắt service iptables và ripd (nếu đang chạy), bật service ospfd và zebra (nếu chưa chạy):
> service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
> service ripd stop
Shutting down ripd: [ OK ]
> service zebra restart
Shutting down zebra: [ OK ]
Starting zebra: [ OK ]
> service ospfd start
Starting ospfd: [ OK ]
Sau khoảng 1 phút, các router đã hoàn thành tạo lập OSPF database và xây dựng bảng routing. Có thể hiển thị bảng routing này với lệnh route -n, ví dụ trên router R2 sẽ có kết quả như bên dưới:
> route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.128 U 0 0 0 eth6
192.168.2.128 0.0.0.0 255.255.255.128 U 0 0 0 eth7
192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth8
192.168.3.0 192.168.2.130 255.255.255.0 UG 20 0 0 eth7
192.168.1.0 192.168.2.1 255.255.255.0 UG 20 0 0 eth6
192.168.56.0 192.168.2.1 255.255.255.0 UG 20 0 0 eth6
10.0.0.0 192.168.2.130 255.0.0.0 UG 30 0 0 eth7
Hoặc trên R1:
> route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.128 U 0 0 0 eth1
192.168.2.128 192.168.2.2 255.255.255.128 UG 20 0 0 eth1
192.168.4.0 192.168.2.2 255.255.255.0 UG 20 0 0 eth1
192.168.3.0 192.168.2.2 255.255.255.0 UG 30 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
10.0.0.0 192.168.2.2 255.0.0.0 UG 40 0 0 eth1
Kiểm tra traceroute từ R1 đến một trạm bên ngoài Internet thấy đã thành công:
> traceroute -n 10.1.2.3
traceroute to 10.1.2.3 (10.1.2.3), 30 hops max, 60 byte packets
1 192.168.2.2 4.355 ms 3.576 ms 3.367 ms
2 192.168.2.130 7.883 ms 7.772 ms 7.657 ms
3 192.168.3.2 11.329 ms 11.237 ms 11.134 ms
4 192.168.3.2 2997.033 ms !H 2996.913 ms !H 2996.803 ms !H
Để hiển thị OSPF database trên mỗi router, sử dụng Vty (cồng 2604 là của OSPF) với lệnh show ip ospf database, ví dụ trên R4:
>
telnet 127.0.0.1 2604
telnet 127.0.0.1 2604
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Hello, this is Quagga (version 0.99.15).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
ospfd> show ip ospf database
OSPF Router with ID (10.0.2.15)
Router Link States (Area 0.0.0.0)
Link ID ADV Router Age Seq# CkSum Link count
10.0.2.15 10.0.2.15 30 0x80000007 0x27ef 3
192.168.3.1 192.168.3.1 762 0x80000007 0x5248 2
192.168.4.1 192.168.4.1 32 0x80000004 0x6930 2
Net Link States (Area 0.0.0.0)
Link ID ADV Router Age Seq# CkSum
192.168.2.129 192.168.4.1 768 0x80000001 0x9d05
192.168.3.1 192.168.3.1 788 0x80000001 0x886e
192.168.4.1 192.168.4.1 33 0x80000001 0x7f74
Summary Link States (Area 0.0.0.0)
Link ID ADV Router Age Seq# CkSum Route
192.168.1.0 192.168.4.1 768 0x80000001 0x4927 192.168.1.0/24
192.168.2.0 192.168.4.1 822 0x80000001 0xdc1c 192.168.2.0/25
192.168.56.0 192.168.4.1 768 0x80000001 0xe94f 192.168.56.0/24
Ví dụ trong phần Router Link States (Area 0.0.0.0) cho thấy có 3 router trong vùng này là 10.0.2.15 (R4), 192.168.3.1 (R3) và 192.168.4.1 (R2) trong đó (theo cột Link) router 10.0.2.15 có 3 kết nối mạng, 2 router còn lại đều có 2 kết nối mạng.