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

Bước 1: Cấu hình OSPF trên các router:

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

Bước 2: Vận hành OSPF và kiểm tra kết nối

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

Bước 3: Tìm hiểu thêm về OSPF database

Để 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.