I - Về RIP:
RIP là giao thức định tuyến vector khoảng cách điển hình, đăng gửi toàn bộ routing table ra tất cả các active interface đều đặn theo chu kỳ là 30 giây. RIP chỉ sử dụng metric là hop count để tính ra tuyến đường tốt nhất tới remote network. Thuật toán màRIP sử dụng để xây dựng nên routing table là Bellman-Ford.
II – Mô hình:
Mình sử dụng lại mô hình của bài định tuyến tĩnh ở bài trước. Trong này sẽ có 4 máy chạy hệ điều hành CentOS. Các máy có Card mạng và IP như hình bên dưới.
Như ta thấy, 2 máy tính có IP là 172.16.3.2 và 172.16.2.2 khác mạng nên chúng không liên lạc được với nhau!. Chúng ta sẽ tiến hành cấu hình định tuyế trên 2 máy CentOS còn lại, đóng vai trò là Router.
III – Cài đặt phần mềm định tuyến:
Về Quagga:
Quagga là gói phần mềm định tuyến chạy trên các hệ điều hành Linux hỗ trợ các giao thức định tuyến như RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP-4, và BGP-4+. Quagga hỗ trợ định tuyến tốt cả trên nền IPv4 lẫn IPv6 . Quagga thực ra là phiên bản được ”kế thừa” từ Zebra đã ngưng phát triển từ lâu! .
Cài đặt Quagga:
Bạn có thể download Quagga 0.99.17 tại đây:
Sau khi tải về xong, sử dụng lệnh để cài đặt nó:
rpm –ivh quagga-0.99.17-1.el5.i386.rpm
IV – Cấu hình định tuyến:
Mặc định, các file cấu hình định tuyến của Quagga sẽ được chứa ở thư mục /etc/quagga/. Đầu tiên chúng ta sẽ cấu hình file zebra.conf
Gõ lệnh:
vi /etc/quagga/zebra.conf
Thiết đặt file có nội dung như sau:
hostname khanh.com.vn
password zebra
enable password zebra
password zebra
enable password zebra
Trong đó, zebra chính là mật khẩu!.
Tiến hành lưu lại file zebra.conf và khởi động dịch vụ zebra:
service zebra start
Tiếp tục, ta sử dụng Telnet để cấu hình IP và định tuyến.
Gõ lệnh kết nối và đăng nhập với mật khẩu “zebra” đã tạo ở trên. Gõ lệnh:
telnet 127.0.0.1 2601
Sau khi đăng nhập thành công. Tiến hành cấu hình IP như hình dưới đây. Với 172.16.2.1/24 và 172.16.1.1/24 lần lượt là IP của 2 card eth0 và eth1 của máy CentOS làm Router.
Sau khi cấu hình IP xong, khởi động lại dịch vụ zebra:
service zebra restart
Chú ý: Nếu trong quá trình lưu file zebra.conf gặp lỗi Can't open configuration file /etc/zebra/zebra.conf thì bạn làm như sau:
vi /etc/selinux/config
Đổi SENLINUX=enforcing thành SELINUX=permissive
=> Khởi động lại máy.
Tiếp tục ta tiến hành cấu hình định tuyến RIP. Gõ lệnh
vi /etc/quagga/ripd.conf
Lưu file trên với nội dung như sau:
hostname khanh.com.vn-rip
password zebra
enable password zebra
password zebra
enable password zebra
Sau đó khởi động dịch vụ ripd:
service ripd start
Tiến hành telnet vào cổng 2602 (không phải 2601 như trên đâu nhé )
Đăng nhập thành công. Tiến hành cấu hình định tuyến RIP như hình dưới đây. Với 172.16.1.0/24 và 172.16.2.0/24là địa chỉ mạng mà máy CentOS làm Router đang kết nối trực tiếp tới.
Tiến hành khởi động lại dịch vụ ripd
service ripd restart
Vậy là đã cấu hình xong trên máy Router thứ 1. Ở máy Router thứ 2 ta thiết lập hoàn toàn tương tự
Sau khi cấu hình file zebra.conf như ở trên xong. Tiến hành telnet vào cổng 2601
Thiết đặt IP các card eth0 và eth1
Tương tự, ta tiếp tục cấu hình nội dung file ripd.conf như ở máy Router 1. Sau đó khởi động dịch vụ ripd
Tiến hành telnet vào cổng 2602
Khai báo các mạng mà máy Router 2 kết nối trực tiếp tới.
Sau khi cấu hình định tuyến trên 2 máy Router xong. Tiến hành kiểm tra lại bảng định tuyến của 2 máy Router này. Nếu cấu hình thành công thì trong bảng định tuyến ta sẽ có đường NET nhưng hình bên dưới.
Chú ý: Trong RIP thì cứ 30s Router sẽ cập nhật lại nội dung bảng định tuyến .
OK. Bây giờ kiểm tra kết nối giữa 2 máy 172.16.2.2 và 172.16.3.2
Kết quả là 2 máy đã nhìn thấy nhau. Cấu hình định tuyến RIP thành công .
Ngô Duy Khánh (http://Khanh.Com.Vn)
No Comment to " Định tuyến động trong Linux sử dụng RIP "