Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

Khoa Mạng máy tính và Truyền thông - UIT

GIỚI THIỆU, CÀI ĐẶT QUAGGA


VÀ OLSR-QUAGGA

Môn học: Hệ thống nhúng Mạng không dây

Chỉnh sửa lần cuối – Tháng 09/2021


Lưu hành nội bộ
2
A. TỔNG QUAN

1. Mục tiêu

▪ Làm quen với công cụ Quagga.


▪ Tìm hiểu cách cài đặt các giao thức định tuyến như RIP, OSBF, BGP…
trên máy vật lý.

▪ Tìm hiểu thêm cách cài đặt OLSR lên trên nền tảng Quagga/Zebra.

2. Nội dung

Sinh viên được làm quen với công cụ Quagga, một ứng dụng hỗ trợ chạy

các giao thức định tuyến trên các hệ điều hành họ Linux. Quagga cung cấp

một giao diện console tương tự nhưng giao diện của CISCO IOS, hỗ trợ các

giao thức định tuyến phổ biến như RIP, OSBF, BGP.

Ngoài ra, sinh viên được hướng dẫn để cài đặt giao thức định tuyến OLSR

lên trên nền tảng Quagga/Zebra để thực hiện định tuyến giữa các Node

(máy tính) sử dụng Hệ điều hành Ubuntu.

Hình 1. Bảng so sánh giữa các loại router với Quagga

3. Môi trường thực hành

KHOA MẠNG MÁY TÍNH TÀI LIỆU THỰC HÀNH HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY
& TRUYỀN THÔNG
3
• Sinh viên cần chuẩn bị trước 3 máy chạy Ubuntu 14.04, cấu hình tương

đối tốt (RAM ~4GB).

• Sinh viên có thể linh động cài đặt Ubuntu Server để ít tiêu tốn tài nguyên.

• Sinh viên có thể sử dụng 3 máy vật lý để cài đặt, cấu hình hoặc có thể sử

dụng 1 máy vật lý có cấu hình đủ tốt để tạo tối thiểu 3 máy ảo.

B. THỰC HÀNH

1. Mô hình các máy trong mạng

172.30.1.0/24 172.30.2.0/24

Router2

Router1 Router3

Hình 2. Topology cấu hình RIPv2, OSPF (nếu có)

Trong mô hình có tổng cộng 3 node, tương ứng là Router1, Router2 và

Router3. Router2 là node trung gian, nó có 2 card mạng thuộc 2 lớp mạng

khác nhau là 172.30.1.0/24 và 172.30.2.0/24, tương tự đối với 2 máy còn lại,

Router1 thuộc lớp mạng 172.30.1.0/24 và Router3 thuộc lớp mạng

172.30.2.0/24. Chúng ta cần phải cấu hình RIPv2 sao cho Router1, Router3

ping thấy nhau và ngược lại, xem được một số thông tin RIP tại các node.

2. Các bước thực hiện cài đặt Quagga và cấu hình RIP

KHOA MẠNG MÁY TÍNH TÀI LIỆU THỰC HÀNH HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY
& TRUYỀN THÔNG
4
a) Cài đặt Quagga

$ sudo apt-get install quagga

b) Cấu hình Quagga và RIP


→ Sau khi đã cài đặt Quagga thành công, ta tiến hành cấu hình một số

thông số:

$ sudo vim /etc/quagga/daemons

Thêm vào `deamons` nội dung sau, “yes” nghĩ là chạy các dịch vụ tương ứng với
Quagga daemon:

zebra=yes
bgpd=no
ospfd=no
ospf6d=no
ripd=yes
ripngd=no
isisd=no
babeld=no

$ sudo vim /etc/quagga/vtysh.conf

hostname quagga-router
username root nopassword

$ sudo vim /etc/quagga/zebra.conf

password nopass

$ sudo vim /etc/quagga/ripd.conf

password nopass
router rip
version 2
network 172.30.1.0/24

KHOA MẠNG MÁY TÍNH TÀI LIỆU THỰC HÀNH HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY
& TRUYỀN THÔNG
5
network 172.30.2.0/24

$ chmod 640 /etc/quagga/*.conf && chown -R quagga /etc/quagga

c) Enable IPv4 forwarding

$ echo "net.ipv4.conf.all.forwarding=1" | sudo tee -a /etc/sysctl.conf


$ echo "net.ipv4.conf.default.forwarding=1" | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p

d) Kiểm tra kết quả


→ Hiện tại với cấu hình trên chúng ta đang cấu hình cho các Quagga router

chạy giao thức định tuyến động RIP. Sau khi cấu hình xong, ở mỗi máy chúng

ta sẽ start Quagga daemon:

$ sudo /etc/init.d/quagga start

→ Sau đó login vào từng máy Router kiểm tra cấu hình đã chạy đúng chưa.

→ Ví dụ: kiểm tra cấu hình trên node trung gian (Router2).

Trên máy làm router2:

$ telnet localhost 2602 # mật khẩu cấu hình trong các file cấu hình ở trên

$ > en

$ show ip rip

KHOA MẠNG MÁY TÍNH TÀI LIỆU THỰC HÀNH HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY
& TRUYỀN THÔNG
6
→ Kết quả.

→ Để ý thấy lớp mạng 172.30.2.0/24 đang được định tuyến động ở máy
Router1.

KHOA MẠNG MÁY TÍNH TÀI LIỆU THỰC HÀNH HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY
& TRUYỀN THÔNG
7
→ Ping thử Router3.

→ Tiếp tục login vào Router3 và thử kiểm tra bảng định tuyến và kết nối
đến Router1.

3. Cài đặt và cấu hình QLSR-Quagga

a) Cài đặt OLSR


→ Download OLSR phiên bản 0.1.18 tại link sau:

http://prdownloads.sourceforge.net/olsrdq/quagga-olsrd-0.1.18.tar.gz

→ Download file quagga-0.98.5.tar.gz tại website môn học, sau đó thực

hiện các lệnh:

$ tar xzvf quagga-0.98.5.tar.gz

$ cd quagga-0.98.5

$ cp ../quagga-olsrd-0.1.18.tar.gz .

KHOA MẠNG MÁY TÍNH TÀI LIỆU THỰC HÀNH HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY
& TRUYỀN THÔNG
8
→ Build OLSR.

$ tar xzvf quagga-olsrd-0.1.18.tar.gz

$ cd olsrd/

$ patch -p1 -d .. < quagga-0.98.5-olsr-0.1.18.diff

#Make Quagga

$ cd ..

$ ./configure --enable-user=root --enable-group=root

$ make

$ sudo make install

#Make OLSR

$ cd olsrd/

$ make

$ sudo make install

Lưu ý: Chỉnh sửa lại các file nếu build bị lỗi.

*lib/sockopt.c

Tìm kiếm: pktinfo = getsockopt_cmsg_data (msgh, IPPROTO_IPV6,

IPV6_PKTINFO);

Sửa lại: pktinfo = (struct in6_pktinfo*)getsockopt_cmsg_data (msgh,

IPPROTO_IPV6, IPV6_PKTINFO);

* lib/sockopt.c / zebra/rtadv.c / *ripngd/ripngd.c /

*ospf6d/ospf6_network.h

Thêm: #include <linux/ipv6.h>

KHOA MẠNG MÁY TÍNH TÀI LIỆU THỰC HÀNH HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY
& TRUYỀN THÔNG
9
b) Chạy OLSR

→ Sau khi thực hiện các bước trên, OLSR đã được build vào Quagga/Zebra.
Sinh viên thực hiện chạy OLSR trên Quagga, sử dụng các lệnh sau:

$ cp /usr/local/etc/zebra.conf.sample /usr/local/etc/zebra.conf

$ cp /usr/local/etc/olsrd.conf.sample /usr/local/etc/olsrd.conf

$ zebra -d

$ olsrd

2020/09/25 05:23:41 OLSR: OLSRd 0.1.18 starting: vty@2611

→ Truy cập vào máy (nếu bạn chưa đổi mật khẩu thì mặt định, mật khẩu sẽ
là “zebra”):
$ telnet localhost 2611
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.

Hello, this is Quagga (version 0.98.5).


Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
olrsd>

→ Thêm network vào OLSR.


$ zebra -d
$ olsrd -d
$ telnet localhost 2611
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.

KHOA MẠNG MÁY TÍNH TÀI LIỆU THỰC HÀNH HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY
& TRUYỀN THÔNG
10
Hello, this is Quagga (version 0.98.5).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification
Password:
olrsd> show ip olsr neighbor
MAIN ADDR STATUS WILLINGNGESS MPR MPRS
172.16.56.135 sym default Nope Nope
olrsd> enable
olrsd# configure terminal
olrsd(config)# router olsr
olrsd(config-router)# network 172.30.1.0/24

#Kiểm tra:
olrsd(config)# show ip olsr

→ Một số lệnh trong OLSR.


#Kiểm tra cấu hình OLSR
$ show ip olsr
#Kiểm tra LinkSet
$ show ip olsr linkset
#Kiểm tra Neighbor
$ show ip olsr neighbor
#Kiểm tra topology
$ show ip olsr topset
#Kiểm tra olsr route
$ show olsr routes

KHOA MẠNG MÁY TÍNH TÀI LIỆU THỰC HÀNH HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY
& TRUYỀN THÔNG
11
4. Nội dung đánh giá

Chạy và cấu hình được 3 máy chạy Quagga Router theo cấu hình RIP.

Mở rộng: Cấu hình 3 Router theo cơ chế định tuyến OSPF.


*Tham khảo:
https://openmaniak.com/quagga_case2.php

*Tham khảo Quagga/thông tin port để telnet tới các routing daemons:
https://openmaniak.com/quagga_tutorial.php

Chạy và cấu hình được 3 máy chạy Quagga Router theo cấu hình OLSR.

Tìm hiểu và hiện thực phương pháp Internetworking cho OLSR/Quagga.

Mở rộng: Khi trên hệ thống có từ 2 giao thức định tuyến trở lên thì có được
không (ở đây là RIP và OSPF). Nếu được thì khi thực hiện định tuyết giao
thức nào sẽ được sử dụng? Làm sao ta biết được điều đó?

C. THAM KHẢO
https://openmaniak.com/quagga_case2.php
http://olsrdq.sourceforge.net/

YÊU CẦU CHUNG

1) Đánh giá

▪ Chuẩn bị tốt các yêu cầu đặt ra trong bài thực hành.

▪ Sinh viên hiểu và tự thực hiện được bài thực hành, trả lời đầy đủ các

yêu cầu đặt ra.

▪ Nộp báo cáo kết quả chi tiết những đã thực hiện, quan sát thấy và

kèm ảnh chụp màn hình kết quả (nếu có); giải thích cho quan sát (nếu

có).

▪ Sinh viên báo cáo kết quả thực hiện và nộp bài.

KHOA MẠNG MÁY TÍNH TÀI LIỆU THỰC HÀNH HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY
& TRUYỀN THÔNG
12
2) Báo cáo

▪ File .DOCX hoặc .PDF. Tập trung vào nội dung, không mô tả lý thuyết.

▪ Nội dung trình bày bằng Font chữ Times New Romans/ hoặc font chữ

của mẫu báo cáo này (UTM Avo)– cỡ chữ 13. Canh đều (Justify) cho

văn bản. Canh giữa (Center) cho ảnh chụp.

▪ Đặt tên theo định dạng: [Mã lớp]-LabX_[MSSV]. (trong đó X là Thứ tự

buổi Thực hành).

Ví dụ: [NT101.M12.MMCL]-Lab01_19520001-19520002

▪ Nếu báo cáo có nhiều file, nén tất cả file vào file .ZIP với cùng tên file

báo cáo.

▪ Không đặt tên đúng định dạng – yêu cầu, sẽ KHÔNG chấm điểm bài

Lab.

▪ Nộp file báo cáo trên theo thời gian đã thống nhất tại

courses.uit.edu.vn.

Bài sao chép, trễ,… sẽ được xử lý tùy mức độ vi phạm.

HẾT
Chúc các bạn hoàn thành tốt

KHOA MẠNG MÁY TÍNH TÀI LIỆU THỰC HÀNH HỆ THỐNG NHÚNG MẠNG KHÔNG DÂY
& TRUYỀN THÔNG

You might also like