Hôm nay, T.Bảy Tháng 12 16, 2017 5:54 pm

Múi giờ UTC + 7 Giờ





Tạo chủ đề mới Gửi bài trả lời  [ 2 bài viết ] 
Người gửi Nội dung
 Tiêu đề bài viết: Xây Dựng Một Bộ Định Tuyến Mạng Trên Linux by Zebra
Gửi bàiĐã gửi: T.Sáu Tháng 10 15, 2010 8:38 am 
Ngoại tuyến

Ngày tham gia: T.Ba Tháng 4 14, 2009 6:16 am
Bài viết: 114
Zebra là gì ?

Zebra là phần mềm định tuyến TCP/IP mã nguồn mở tương tự Cisco's IOS của Cisco. Linh hoạt và mạnh mẽ, nó có thể xử lý các giao thức định tuyến như Routing Information Protocol (RIP), Open Shortest Path First (OSPF), Border Gateway Protocol (BGP), và tất cả các giao thức khác như của Cisco nữa. Zebra có khả năng Multi-server và Multi-thread giải quyết được hầu hết các vấn đề phức tạp hiện nay của internet. Zebra hỗ trợ BGP-4, BGP-4+, OSPFv2, OSPFv3, RIPv1, RIPv2, and RIPng. Nó được phát hành dưới giấy phép mã nguồn mở GNU (General Public License) và chạy trên Linux cũng như các hệ Unix khác.

Cài đặt Zebra lên Redhat 9

bạn tải gói RPM nếu bạn không muốn build từ Source
Tải Zebra

Cài từ Source bạn có thể xem trong Manual guide
Xem link

Sau khi cài từ RPM chúng ta có được file cấu hình của Zebra mẩu tiêu chuẩn đầy đủ những phần cần thiết ở đường dẫn sau:
Trích dẫn:
/etc/zebra/zebra.conf


Tuy nhiên chúng ta chỉ cần cấu hình tối thiểu cho file cấu hình như sau:
Trích dẫn:
hostname speedmetal
password zebra
enable password zebra


Tiếp đó chúng ta restart lại Deamon này :
Trích dẫn:
# service zebra start


Bây giờ bạn đã có thể telnet vào port 2601 để bắt đầu làm việc cấu hình cho Zebra rồi:

Trích dẫn:
[root@asterisk zebra]# telnet 127.0.0.1 2601
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

Hello, this is zebra (version 0.93b).
Copyright 1996-2002 Kunihiro Ishiguro.

User Access Verification

Password: zebra
asterisk> enable
Password: zebra
asterisk# ?
      configure____Configuration from vty interface
      copy____Copy configuration
      debug____Debugging functions (see also 'undebug')
      disable____Turn off privileged mode command
      end____End current mode and change to enable mode.
      exit____Exit current mode and down to previous mode
      help____Description of the interactive help system
      list____Print command list
      no____Negate a command or set its defaults
      quit____Exit current mode and down to previous mode
      show____Show running system information
      terminal____Set terminal line parameters
      who____Display who is on vty
      write____Write running configuration to memory, network, or terminal
asterisk#


Cấu hình và sử dụng MRLG

MRLG được viết bởi John Frazier của EnterZone, là 1 tiện íc trên nền giao diện web có thể được sử dụng để hiện các Interfaces và Routers được nhận bởi Zebra.

Bây giờ bạn cần kiểm tra thư mục /var/www/cgi-bin đã có file mrl.cgi chưa, nếu chưa có bạn cần download gói zebra-0.93.tar.gz sau đó giải nén gói này và copy file mrlg.cgi vào như
cp zebra-0.93b/tools/mrlg.cgi /var/www/cgi-bin

Sau đó bạn sửa trong dòng 36 của file mrlg.cgi như sau:

$url="http://www.sample.com/mrlg.cgi";

Thành

$url="http://127.0.0.1/cgi-bin/mrlg.cgi";

Truy cập vào MRLG với link http://127.0.0.1/cgi-bin/mrlg.cgi

Hình ảnh

_________________
Asterisk đem đến cho người sử dụng các tính năng và ứng dụng của hệ thống tổng đài PBX và cung cấp nhiều tính năng mà tổng đài PBX không có, như sự kết hợp giữa chuyển mạch VOIP và chuyển mạch TDM, đó là khả năng mở rộng đáp ứng nhu cầu cho từng ứng dụng…


Đầu trang
 Xem thông tin cá nhân  
 
 Tiêu đề bài viết: Re: Xây Dựng Một Bộ Định Tuyến Mạng Trên Linux by Zebra
Gửi bàiĐã gửi: T.Sáu Tháng 10 15, 2010 5:25 pm 
Ngoại tuyến

Ngày tham gia: T.Ba Tháng 4 14, 2009 6:16 am
Bài viết: 114
Hướng Dẫn Cấu Hình 1 LAB Đơn Giản

Trong bài lab này sử dụng thiết bị bao gồm:

- 2 Router Cisco 3620
- PC sử dụng card mạng

Sơ đồ kết nối như sau:

- 2 router kết nối với nhau qua serial
- mỗi bộ định tuyến kết nối với PC thông qua Ethernet.

Hình ảnh

Setup các interfaces với Zebra

Chúng ta cần cấu hình 1 network interface ảo khác trên PC như sau

Trích dẫn:
# modprobe dummy
# ifconfig dummy0


Telnet vào Zebra để cấu hình tuần tự như sau :

Configuring IP interfaces
Trích dẫn:
User Access Verification

Password: zebra
asterisk> enable
Password: zebra
asterisk# configure terminal
asterisk(config)# interface eth0
asterisk(config-if)# ip address 192.168.2.1/30
asterisk(config-if)# quit
asterisk(config)# interface eth1
asterisk(config-if)# ip address 192.168.1.1/30
asterisk(config-if)# quit
asterisk(config)# interface dummy0
asterisk(config-if)# ip address 10.0.2.1/24
asterisk(config-if)# write
Configuration saved to /etc/zebra/zebra.conf
asterisk(config-if)# end
asterisk# show run

Current configuration:
!
hostname asterisk
password zebra
enable password zebra
!
interface lo
!
interface eth0
ip address 192.168.2.1/30
!
interface dummy0
ip address 10.0.2.1/24
!
interface eth1
ip address 192.168.1.1/30
!
!
line vty
!
end


Edit /etc/zebra/zebra.conf, để cấu hình này có hiệu lực mỗi khi Zebra khởi động

Trích dẫn:
!
! Zebra configuration saved from vty
! 2010/08/20 00:07:51
!
hostname asterisk
password zebra
enable password zebra
!
interface lo
!
interface eth0
ip address 192.168.2.1/30
!
interface dummy0
ip address 10.0.2.1/24
!
interface eth1
ip address 192.168.1.1/30
!
!
line vty
!


Setup IP RIP Routing với Zebra

một file cấu hình RIP basic /etc/zebra/ripd.conf
Trích dẫn:
hostname asterisk-rip
password zebra
enable password zebra


Sau đó khở động Ripd server :

#service ripd start

Cấu hình RIP

Trích dẫn:
User Access Verification

Password: zebra
asterisk-rip> enable
Password: zebra
asterisk-rip# configure terminal
asterisk-rip(config)# router rip
asterisk-rip(config-router)# network 10.0.0.0/8
asterisk-rip(config-router)# network 192.168.0.0/16
asterisk-rip(config-router)# end
asterisk-rip# show run

Current configuration:
!
hostname asterisk-rip
password zebra
enable password zebra
!
interface lo
!
interface eth0
!
interface dummy0
!
router rip
network 0.0.0.0/0
network 192.168.0.0/16
!
line vty
!
end
asterisk-rip# write
Configuration saved to /etc/zebra/ripd.conf
asterisk-rip#


Resulting /etc/zebra/ripd.conf file

Trích dẫn:
!
! Zebra configuration saved from vty
! 2010/08/19 13:50:30
!
hostname asterisk-rip
password zebra
enable password zebra
!
interface lo
!
interface eth0
!
interface eth1
!
interface dummy0
!
router rip
network 10.0.0.0/8
network 192.168.0.0/16
!
line vty
!



Cấu hình RIP routing trên Cisco routers

Cấu hình router A
Trích dẫn:
Router#config terminal
Router(config)#hostname RouterA
RouterA(config)#int s0/0
RouterA(config-if)#ip address 192.168.0.1 255.255.255.252
RouterA(config-if)#no shut
RouterA(config-if)# interface fastEthernet 0/0
RouterA(config-if)#ip address 192.168.2.2 255.255.255.252
RouterA(config-if)#no shut
RouterA(config-if)#int loopback 0
RouterA(config-if)#ip address 10.0.0.1 255.255.255.0
RouterA(config-if)#end
RouterA#write


cấu hình router B
Trích dẫn:
Router#configure terminal
Router(config)#hostname RouterB
RouterB(config)#int s0/0
RouterB(config-if)#ip address 192.168.0.2 255.255.255.252
RouterB(config-if)#no shut
RouterB(config-if)#int fastEthernet0/0
RouterB(config-if)#ip address 192.168.1.2 255.255.255.252
RouterB(config-if)#no shut
RouterB(config-if)#int loopback 0
RouterB(config-if)#ip address 10.0.1.1 255.255.255.0
RouterB(config-router)#end
RouterB#write


Cấu hình RIP trên 2 cisco routers

Cấu hình RIP cho router A

Trích dẫn:
RouterA#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RouterA(config)#router rip
RouterA(config-router)#network 10.0.0.0
RouterA(config-router)#network 192.168.0.0
RouterA(config-router)#network 192.168.2.0
RouterA(config-router)#version 2
RouterA(config-router)#end
RouterA#write


Cấu hình RIP cho router B

Trích dẫn:
RouterB#conf t
Enter configuration commands, one per line. End with CNTL/Z.
RouterB(config)#router rip
RouterB(config-router)#network 10.0.1.0
RouterB(config-router)#network 192.168.0.0
RouterB(config-router)#network 192.168.1.0
RouterB(config-router)#version 2
RouterB(config-router)#end
RouterB#write


Kiểm tra các định tuyến RIP đã được cấu hình routes

Trên trang MRLG bạn chọn "show ip route" và nhấp "Execute." sẻ cho ta kết quả sau:

Zebra phản ánh các RIP routes

Trích dẫn:
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
    B - BGP, > - selected route, * - FIB route
R>* 10.0.0.0/24 [120/2] via 192.168.2.2, eth0, 00:11:05
R>* 10.0.1.0/24 [120/2] via 192.168.1.2, eth1, 00:02:08
C>* 10.0.2.0/24 is directly connected, dummy0
K * 127.0.0.0/8 is directly connected, lo
C>* 127.0.0.0/8 is directly connected, lo
R>* 192.168.0.0/30 [120/2] via 192.168.2.2, eth0, 00:11:05
C>* 192.168.1.0/30 is directly connected, eth1
C>* 192.168.2.0/30 is directly connected, eth0


Các route học được qua RIP được đánh dấu bằng chữ R.

Chú ý: lúc này Zebra bây đã biết về các mạng 10.0.0.0/24 và 10.0.1.0/24, cũng được quảng bá bởi router A và B. Thực hiện ping 10.0.0.1 và 10.0.1.1 từ router Zebra trên PC. Để test route failover bạn ngắt kết nối mạng từ router A, dẫn đến mạng 10.0.0.0/24. Sau một thời gian chờ khoảng hai phút, Zebra học về các tuyến đường thay thế để mạng 10.0.0.0/24 đi qua router B. Lưu ý rằng trong danh sách dưới đây, Zebra tới mạng 10.0.0.0/24 thông qua 192.168.1.2 thay trước đó nó học từ 192.168.2.2 của tuyến đường trước.

Zebra phản ánh các RIP routes

Trích dẫn:
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
B - BGP, > - selected route, * - FIB route

R>* 10.0.0.0/24 [120/3] via 192.168.1.2, eth0, 00:00:26
R>* 10.0.1.0/24 [120/2] via 192.168.1.2, eth1, 00:06:02
C>* 10.0.2.0/24 is directly connected, dummy0
K * 127.0.0.0/8 is directly connected, lo
C>* 127.0.0.0/8 is directly connected, lo
R>* 192.168.0.0/30 [120/2] via 192.168.1.2, eth1, 00:00:26
C>* 192.168.1.0/30 is directly connected, eth1
C>* 192.168.2.0/30 is directly connected, eth0


Tại sao thời gian chờ là 2 phút, trong khi thời gian học của RIP là 30 giây, nhưng do giao thức RIP chỉ địng 3 lần thử lại nên chúng ta cần có 90 giây trước khi quyết định là tuyến đường đó không hợp lệ và để bỏ các tuyến đường không hợp lệ đó (lần khác là 240 giây). Do đó RIP thường được biết đến là chậm chạp trong việc đáp ứng kết nối thất bại, và hành vi này là minh chứng rõ ràng cho vấn đề đó.

Dưới đây là bảng Routing của router A trước khi failover xãy ra

Trích dẫn:
RouterA#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
    i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
    * - candidate default, U - per-user static route, o - ODR
    P - periodic downloaded static route

Gateway of last resort is not set

    10.0.0.0/24 is subnetted, 3 subnets
R 10.0.2.0 [120/1] via 192.168.2.1, 00:00:11, FastEthernet0/0
C 10.0.0.0 is directly connected, Loopback0
R 10.0.1.0 [120/1] via 192.168.0.2, 00:00:18, Serial0/0
    192.168.0.0/30 is subnetted, 1 subnets
C 192.168.0.0 is directly connected, Serial0/0
    192.168.1.0/30 is subnetted, 1 subnets
R 192.168.1.0 [120/1] via 192.168.0.2, 00:00:18, Serial0/0
            [120/1] via 192.168.2.1, 00:00:11, FastEthernet0/0
    192.168.2.0/30 is subnetted, 1 subnets
C 192.168.2.0 is directly connected, FastEthernet0/0


và là bảng sau khi failover

Trích dẫn:
RouterA#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
    i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
    * - candidate default, U - per-user static route, o - ODR
    P - periodic downloaded static route
Gateway of last resort is not set
    10.0.0.0/24 is subnetted, 3 subnets
R 10.0.2.0 [120/2] via 192.168.0.2, 00:00:09, Serial0/0
C 10.0.0.0 is directly connected, Loopback0
R 10.0.1.0 [120/1] via 192.168.0.2, 00:00:09, Serial0/0
    192.168.0.0/30 is subnetted, 1 subnets
C 192.168.0.0 is directly connected, Serial0/0
    192.168.1.0/30 is subnetted, 1 subnets
R 192.168.1.0 [120/1] via 192.168.0.2, 00:00:09, Serial0/0
    192.168.2.0/30 is subnetted, 1 subnets
R 192.168.2.0 [120/2] via 192.168.0.2, 00:00:10, Serial0/0


Cấu hình OSPF routing với Zebra

Giờ chúng ta ngưng RIP để chuyển qua định tuyến OSPF mặc dù RIP và OSPF cũng có thể được sử dụng cùng nhau, để ngưng RIP:

# service ripd stop

Trước tiên cần cấu hình file cấu hình cơ bản cho OSPF /etc/zebra/ospfd.conf

Trích dẫn:
hostname speedmetal-ospf
password zebra
enable password zebra


Sau đó Start OSPF service:

#service ospfd start

Cấu hình OSPF đơn giản hơn RIP rất nhiều, port cho cấu hình của OSPF là 2604

Dưới đây là cấu hình OSPF
Trích dẫn:
[root@asterisk zebra]# telnet 127.0.0.1 2604
User Access Verification

Password: zebra
asterisk-ospf> enable
Password: zebra
asterisk-ospf# configure terminal
asterisk-ospf(config)# router ospf
asterisk-ospf(config-router)# network 0.0.0.0/0 area 0
asterisk-ospf(config-router)# end
asterisk-ospf# write
Configuration saved to /etc/zebra/ospfd.conf
asterisk-ospf# show run

Current configuration:
!
hostname asterisk-ospf
password zebra
enable password zebra
!
!
router ospf
network 0.0.0.0/0 area 0
!
line vty
!
end
asterisk-ospf#


Kết quả config trả về của file ospfd.conf là:

Trích dẫn:
!
! Zebra configuration saved from vty
! 2010/08/19 14:22:17
!
hostname asterisk-ospf
password zebra
enable password zebra
!
!
!
interface lo
!
interface eth0
!
interface eth1
!
interface dummy0
!
router ospf
network 0.0.0.0/0 area 0
!
line vty
!


Cấu hình OSPF trên các Cisco routers

Loại bỏ RIP và add thêm OSPF thực hiện như sau :
Trích dẫn:
RouterA#conf term
RouterA(config)no router rip
RouterA(config)#router ospf 100
RouterA(config-router)#network 0.0.0.0 255.255.255.255 area 0
RouterA(config-router)end


Sau đó thực hiện các bướt tương tự trên với cả router A và B

Quảng bá các định tuyến với OSPF

MRLG report như sau:

Zebra phản ánh các định tuyến OSPF

Trích dẫn:
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
      B - BGP, > - selected route, * - FIB route

O>* 10.0.0.0/32 [110/11] via 192.168.2.2, eth0, 00:00:01
O>* 10.0.1.1/32 [110/11] via 192.168.1.2, eth1, 00:02:53
O 10.0.2.0/24 [110/10] is directly connected, dummy0, 00:03:31
C>* 10.0.2.0/24 is directly connected, dummy0
K * 127.0.0.0/8 is directly connected, lo
C>* 127.0.0.0/8 is directly connected, lo
O>* 192.168.0.0/30 [110/58] via 192.168.2.2, eth0, 00:00:01
            via 192.168.1.2, eth1, 00:00:01
O 192.168.1.0/30 [110/10] is directly connected, eth1, 00:03:21
C>* 192.168.1.0/30 is directly connected, eth1
O 192.168.2.0/30 [110/10] is directly connected, eth0, 00:03:31
C>* 192.168.2.0/30 is directly connected, eth0


Các định tuyến học từ OSPF được đánh dấu bởi O
Khi chúng ta ngắt kết nối từ Zebra đến A các định tuyến được tự động cập nhật, MRLG report như sau :

Zebra phản ánh các routes OSPF sau failover

Trích dẫn:
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
        B - BGP, > - selected route, * - FIB route

O>* 10.0.0.1/32 [110/59] via 192.168.2.2, eth0, 00:01:10
O>* 10.0.1.1/32 [110/11] via 192.168.1.2, eth1, 00:09:46
O 10.0.2.0/24 [110/10] is directly connected, dummy0, 00:10:24
C>* 10.0.2.0/24 is directly connected, dummy0
K * 127.0.0.0/8 is directly connected, lo
C>* 127.0.0.0/8 is directly connected, lo
O>* 192.168.0.0/30 [110/58] via 192.168.1.2, eth1, 00:01:10
O 192.168.1.0/30 [110/10[ is directly connected, eth1, 00:10:14
C>* 192.168.1.0/30 is directly connected, eth1
O 192.168.2.0/30 [110/10] is directly connected, eth0, 00:10:24
C>* 192.168.2.0/30 is directly connected, eth0


Do tính chất link-state của OSPF, failover là nhanh hơn nhiều, các routes mới được hình thành khoảng dưới 30 giây.

Tóm tắt

Với mộtyêu cầu để tìm một router khác Cisco, Zebra là một lựa chọn hấp dẫn, đã nhận được các ý kiến tốt từ nhận xét trên Internet. Theo thử nghiệm của IBM cho thấy, Zebra là một sự thay thế thích hợp cho các thiết bị định tuyến Cisco trong các môi trường mạng đơn giản, và có thể cho một số cài đặt phức tạp hơn nữa.

tham khảo tài liệu của Zebra ở đây

Bạn có thể tham khảo 1 Multi-Router Looking Glass (MRLG) tại địa chỉ sau:

http://www.lonap.net/cgi-bin/mrlg.cgi

Sau này bản Quagga là bản phát triển dự trên chính Zebra , bạn tham khảo :

http://www.quagga.net/news2.php

Gói RPM để cài cho CentOS 5:

Tải về từ đây

_________________
Asterisk đem đến cho người sử dụng các tính năng và ứng dụng của hệ thống tổng đài PBX và cung cấp nhiều tính năng mà tổng đài PBX không có, như sự kết hợp giữa chuyển mạch VOIP và chuyển mạch TDM, đó là khả năng mở rộng đáp ứng nhu cầu cho từng ứng dụng…


Đầu trang
 Xem thông tin cá nhân  
 
Hiển thị bài viết cách đây:  Sắp xếp theo  
Tạo chủ đề mới Gửi bài trả lời  [ 2 bài viết ] 

Múi giờ UTC + 7 Giờ


Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.2 khách.


Bạn không thể tạo chủ đề mới.
Bạn không thể trả lời bài viết.
Bạn không thể sửa những bài viết của mình.
Bạn không thể xóa những bài viết của mình.
Bạn không thể gửi tập tin đính kèm.

Tìm với từ khóa:
Chuyển đến:  
cron
Powered by The Vietnam Asterisk User Group © 2008