Thứ Bảy, 22 tháng 8, 2015

Tìm hiểu về VRRP (Vitual Router Redundancy Protocol)

VRRP vitual router redundancy protocol

HSRPVRRP
Chuẩn của cisco ,1994IETF,RFC 3768
16 grousp Max255 groups Max
1 active,1 standby,several candidates1 master, tất cả con Router còn several backups
Tạo ra 1 IP  ảo,1 MAC  ảoTạo ra 1 IP ảo,1 MAC ảo
224.0.0.2224.0.0.18
Can track interface or objectCan track only objects
Default times: hello 3s ,hold  10sHello : 1s hold time  3s
1.Hoạt động vrrp:
Cách bầu chọn Router Master :
+ Dựa vào priority cao nhất : range 1-254
+ Nếu chỉ  số priority bằng nhau thì xét đến địa chỉ IP cao nhất mà cổng đang tham gia  vrrp
+ Tất cả router còn lại thì làm backup
Nhiệm vụ của Master :
+ Trả lời arp request
+ Forward dử liệu
+ Gửi gói hello
+ Trả lời Ip gateway
Nhiệm vụ của backup:
+  lắng nghe gói tin hello của Master.
+ Dựa vào master down để con backkup nào lên thay con master khi con master chết
Mô hình :
vrrp

2.Cấu hình HSRP:
R2######################
interface f0/1
vrrp 10 ip 193.1.1.1
vrrp 10 priority 250
vrrp 10 preempt
exit
end
track 10 interface f0/0 ip routing
interface f0/1
vrrp 10 track 10 decrement 200
exit
R3######################
interface f0/0
vrrp 10 ip 193.1.1.1
vrrp 10 priority 150
vrrp 10 preempt
exit
track 10 interface s0/0 ip routing
interface f0/0
vrrp 10 track 10 decrement 200
exit
Các câu lệnh thêm :
Show  vrrp  : kiểm tra trạng thái vrrp
Show  vrrp bri : kiểm tra tổng quát

Note :

+ điểm đặt biệt là khi tạo ra router ảo ! có thể cấu hình Ip router trùng với Ip router vật lý ,lúc đó priority =255
+ có thể loadbancing trên group – bằng cách tạo nhiều group ,mỏi con sẽ làm active cho một group
PS : các vấn đề bạn cần tìm hiểu thêm?
1/ Các yếu tố nào ảnh hưởng đến quá trình bầu chọn?
2/ Độ ưu tiên là gì? Phạm vi thế nào?
3/ Thế nào là pre-empt hay non-preempt
4/ VRRP có hỗ trợ cơ chế interface tracking hay không?
5/ Cơ chế hello trong VRRP là thế nào?
6/ vấn đế xác thực giữa các peer trong VRRP?
7/ Cisco Router có hỗ trợ VRRP hay không? Trong những IOS version nào?

Layer 3 IP Routing Redundancy sẻ cung cấp một giải pháp fail-over để tăng cường khả năng chịu lỗi cũng như phục hồi  hệ thống mạng nhanh chóng . Virtual Redundancy Routing Protocol (VRRP) cho phép hai thiết bị chuyển mạch trong cùng một hệ thống mạng làm chức năng backup cho thiết bị còn lại ( đó là việc lựa chọn giải pháp Master và Slave). Các Switch Master sẻ chuyển tiếp tất cả các yêu cầu trong khi đó thì Switch Slave sẻ làm chức năng dự phòng .Trong trường hợp khi chuyển đổi tổng thể thất bại, Switch Slave đảm nhiệm nhiệm vụ chuyển tiếp từ các Switch Master lỗi để đảm bảo sự liên tục của các kết nối.

Cấu hình VRRP trên CentOS

1. VRRP?
VRRP (Virtual Router Redundancy Protocol) là một giao thức chuẩn hóa được IETF định nghĩa trong RFC 2338. VRRP tương tự như giao thức HSRP của Cisco.
VRRP cung cấp khả năng dự phòng ở layer 3 bằng cách tạo một IP ảo đại diện cho một nhóm router. Router active gọi là master router, những touter còn lại được gọi là backup router. Master router là router có priority cao nhất trong VRRP group.
Priority có giá trị từ 1 đến 254: 254 là giá trị cao nhất, giá trị mặc định là 100
Master router quảng bá gói tin keepalive để các router backup biết mình còn sống, nếu không nhận được keepalive thì các router backup sẽ bầu chọn lại master router khác lên thay.
VRRP gửi keepalive đến địa chỉ multicast 224.0.0.18, sử dụng IP protocol 112.
2. Cấu hình
Mô hình chúng ta sẽ triển khai để kiểm tra hoạt động của VRRP trên CentOS 6
topology-vrrp-linux
Cài đặt keepalived, Nếu thông báo yêu cầu cài đặt những gói liên quan thì bạn cài đặt hoặc update thêm:
Bước 1: Cài đặt những package liên quan
# yum install gcc  kernel-headers kernel-devel
# yum install keepalived
[root@GW1 ~]# keepalived -v
Keepalived v1.2.13 (10/15,2014)
Bước 2: Cấu hình keepalived (VRRP)
Bạn nên copy lại config mặc định để tham khảo về sau:
# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bk
Cấu hình trên GW1: GW1 sẽ là MASTER : có priority 150
# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     pathang@hocmang.local
   }
   notification_email_from gw1@hocmang.local
   smtp_server localhost
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth1
    virtual_router_id 51
    priority 150
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass hocmang.net
    }
    virtual_ipaddress {
        192.168.12.3
    }
}
Trên GW2, bạn cấu hình tương tự, ở đây mình muốn GW2 làm BACKUP nên để priority là 100
# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   notification_email {
     pathang@hocmang.local
   }
   notification_email_from gw2@hocmang.local
   smtp_server localhost
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER
    interface eth2
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass hocmang.net
    }
    virtual_ipaddress {
        192.168.12.3
    }
}
Bước 3: Start keepalived
# service keepalived start
# chkconfig keepalived on
Bước 4: Kiểm tra hoạt động:
Trên GW1:
[root@GW1 ~]# ip add show eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether ae:8b:21:20:9c:bf brd ff:ff:ff:ff:ff:ff
    inet 192.168.12.1/24 brd 192.168.12.255 scope global eth1
    inet 192.168.12.3/32 scope global eth1
    inet6 fe80::ac8b:21ff:fe20:9cbf/64 scope link
       valid_lft forever preferred_lft forever

[root@GW1 ~]# tailf /var/log/messages
Jul  7 14:31:40 GW1 Keepalived_vrrp[28711]: VRRP sockpool: [ifindex(3), proto(112), unicast(0), fd(10,11)]
Jul  7 14:31:41 GW1 Keepalived_vrrp[28711]: VRRP_Instance(VI_1) Transition to MASTER STATE
Jul  7 14:31:42 GW1 Keepalived_vrrp[28711]: VRRP_Instance(VI_1) Entering MASTER STATE
Jul  7 14:31:42 GW1 Keepalived_vrrp[28711]: VRRP_Instance(VI_1) setting protocol VIPs.
Jul  7 14:31:42 GW1 Keepalived_healthcheckers[28710]: Netlink reflector reports IP 192.168.12.3 added
Jul  7 14:31:42 GW1 Keepalived_vrrp[28711]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth1 for 192.168.12.3
Jul  7 14:31:43 GW1 Keepalived_vrrp[28711]: VRRP_Instance(VI_1) Received lower prio advert, forcing new election
Jul  7 14:31:43 GW1 Keepalived_vrrp[28711]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth1 for 192.168.12.3
Jul  7 14:31:43 GW1 Keepalived_vrrp[28711]: VRRP_Instance(VI_1) Received lower prio advert, forcing new election
Jul  7 14:31:43 GW1 Keepalived_vrrp[28711]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth1 for 192.168.12.3
Jul  7 14:31:47 GW1 Keepalived_vrrp[28711]: VRRP_Instance(VI_1) Sending gratuitous ARPs on eth1 for 192.168.12.3
Trên GW2:
[root@GW2 ~]# ip add show eth2
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether a6:f8:c2:f8:cd:cd brd ff:ff:ff:ff:ff:ff
    inet 192.168.12.2/24 brd 192.168.12.255 scope global eth2
    inet6 fe80::a4f8:c2ff:fef8:cdcd/64 scope link
       valid_lft forever preferred_lft forever

[root@GW2 ~]# tailf /var/log/messages
Jul  7 14:31:28 GW2 Keepalived_healthcheckers[1494]: Opening file '/etc/keepalived/keepalived.conf'.
Jul  7 14:31:28 GW2 Keepalived_vrrp[1495]: Opening file '/etc/keepalived/keepalived.conf'.
Jul  7 14:31:28 GW2 Keepalived_healthcheckers[1494]: Configuration is using : 7645 Bytes
Jul  7 14:31:28 GW2 Keepalived_vrrp[1495]: Configuration is using : 63102 Bytes
Jul  7 14:31:28 GW2 Keepalived_vrrp[1495]: Using LinkWatch kernel netlink reflector...
Jul  7 14:31:28 GW2 Keepalived_vrrp[1495]: VRRP sockpool: [ifindex(4), proto(112), unicast(0), fd(10,11)]
Jul  7 14:31:28 GW2 Keepalived_healthcheckers[1494]: Using LinkWatch kernel netlink reflector...
Jul  7 14:31:29 GW2 Keepalived_vrrp[1495]: VRRP_Instance(VI_1) Transition to MASTER STATE
Jul  7 14:31:29 GW2 Keepalived_vrrp[1495]: VRRP_Instance(VI_1) Received higher prio advert
Jul  7 14:31:29 GW2 Keepalived_vrrp[1495]: VRRP_Instance(VI_1) Entering BACKUP STATE
Trên máy client, thực hiện ping liên tục đến gateway, sau đó shutdown interface eth1 trên GW1 (eth1 có IP 192.168.12.1 đang là master)
Khi Backup gateway không nhận được keepalive thì master router, nó sẽ tự phong lên làm master và thực hiện forward gói tin bình thường. Về phía máy client thì chỉ biết 1 địa chỉ gateway ảo còn sống là 192.168.12.3

0 nhận xét:

Đăng nhận xét