Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Thông điệp trong BGP - Lab

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Thông điệp trong BGP - Lab

    Mô hình thực hiện

    Click image for larger version

Name:	ảnh.png
Views:	0
Size:	41.2 KB
ID:	429576
    Các bước cấu hình trên Router
    Trên R1
    R1(config) # interface e0/0
    R1(config-if) ip address 192.168.12.1 255.255.255.0
    R1(config-if) #no shutdown
    R1(config-if) #exit
    R1(config) #exit
    R1#wr

    + Cấu hình giao diện Loopback 0

    R1(config) #interface loopback 0
    R1(config-if) ip address 1.1.1.1 255.255.255.255​
    R1(config-if) #exit
    R1(config) #exit
    R1#wr​

    + Cấu hình BGP
    R1#conf t
    R1(config)#router bgp 1
    R1(config-router)#bgp router-id 1.1.1.1
    R1(config-router)#neighbor 192.168.12.2 remote-as 2
    R1(config-router)#neighbor 192.168.12.2 update-source e0/0
    R1(config-router)#exit
    R1(config)#exit
    R1#wr

    - Trên R2
    R2(config) # interface e0/0
    R2(config-if) ip address 192.168.12.2 255.255.255.0
    R2(config-if) #no shutdown
    R2(config-if) #exit
    R2(config) #exit
    R2#wr​

    + Cấu hình BGP
    R2#conf t
    R2(config)#router bgp 2
    R2(config-router)#neighbor 192.168.12.1 remote-as 1
    R2(config-router)#neighbor 192.168.12.1 update-source e0/0
    R2(config-router)#exit
    R2(config)#exit
    R2#wr

    - Kiểm tra trạng thái phiên trên R1 và R2 bằng lệnh " show ip bgp summary"
    Tiếp theo VnPro sẽ bắt gói OPEN MESSAGE của R1 đến R2
    Chúng ta sẽ chạy lệnh wireshark -i vunl0_1_0
    Sau đó ta sẽ lọc trên thanh filter bằng lệnh tcp.port == 179 để lọc gói mà chúng ta cần
    (Lệnh tcp.port == 179 dùng để lọc các gói tin liên quan đến giao thức BGP, vì cổng TCP 179 là cổng mặc định của BGP.)
    Và sau đó chọn type OPEN MESSAGE để xem thông tin cần đến
    Nếu như vẫn chưa thấy gói cần bắt thì bạn hãy nhập clear ip bgp * trên R1 thì sẽ tìm được gói tin bạn cần
    (Giải thích : lệnh clear ip bgp *
    + Nó sẽ đặt lại (reset) tất cả các phiên (session) BGP trên router với các neighbor của nó.
    + Tất cả các kết nối BGP sẽ bị ngắt và sau đó được thiết lập lại từ đầu.
    + Bảng định tuyến BGP sẽ được làm mới, tức là router sẽ xóa thông tin định tuyến hiện tại và yêu cầu cập nhật lại từ các neighbor.)
    Dưới đây là những phần chúng ta cần quan sát

    ​​
    Click image for larger version

Name:	ảnh.png
Views:	0
Size:	30.5 KB
ID:	429577

    ​Ở phía trên, bạn có thể thấy gói tin BGP OPEN được gửi từ router R1 đến router R2. Gói tin này chứa các trường thông tin quan trọng bao gồm:
    • Phiên bản BGP (BGP Version): thường là version 4 – đây là phiên bản được sử dụng phổ biến nhất hiện nay.
    • Số hệ tự trị (AS number): định danh của Autonomous System mà router đang thuộc về, ví dụ AS 1 hoặc AS 2.
    • Thời gian giữ (Hold Time): là khoảng thời gian (tính bằng giây) mà một router sẽ chờ đợi trước khi xem peer BGP là không còn hoạt động nếu không nhận được thông điệp keepalive.
    • BGP Identifier: địa chỉ IP dạng 32-bit duy nhất dùng để định danh router BGP, thường là địa chỉ loopback.
    • Các tham số tùy chọn (Optional Parameters):
      • MP-BGP (Multiprotocol BGP): hỗ trợ BGP mang thông tin định tuyến cho nhiều giao thức lớp mạng khác nhau như IPv6, VPNv4,...
      • Route Refresh: cho phép router có thể yêu cầu peer gửi lại toàn bộ bảng định tuyến mà không cần phải reset phiên BGP.
    Ngoài ra, phần đầu của gói tin có trường Marker (16 byte), thường được sử dụng cho mục đích xác thực. Nếu trường này được điền đầy đủ bằng giá trị toàn 1 (hex: 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF), thì điều đó cho biết là phiên BGP này không sử dụng xác thực MD5."
    Tiếp theo chúng ta sẽ tạo 1 thông điệp BGP UPDATE được gửi từ router R1:
    ( Router R1 (AS 1) sẽ quảng bá địa chỉ 1.1.1.1/32 qua BGP để các router khác biết và có thể sử dụng địa chỉ này trong định tuyến hoặc thiết lập phiên BGP.)

    R1#conf t
    R1(config)#router bgp 1
    R1(config)#network 1.1.1.1 mask 255.255.255.255

    Sau đó chúng ta tìm type UPDATE BGP để xem gói
    Đây là gói tin BGP UPDATE Message từ R1 gửi đi. Gói tin này không có tuyến đường bị rút (withdrawn routes), nhưng có một số thuộc tính BGP:
    • ORIGIN: Thuộc tính nguồn gốc của tuyến đường.
    • AS_PATH: Thuộc tính đường đi AS, là thuộc tính transitive (bắt buộc truyền qua các router).
    • MULTI_EXIT_DISC (MED): Thuộc tính phân biệt lối ra đa đường, là thuộc tính optional (tùy chọn).
    • NLRI (Network Layer Reachability Information): Thông tin khả năng tiếp cận tầng mạng, chứa tiền tố (prefix) mà R1 quảng bá, ví dụ: 1.1.1.1/32.

    ​​
    Click image for larger version

Name:	ảnh.png
Views:	0
Size:	34.1 KB
ID:	429578

    ​Tiếp theo hãy xóa lệnh network của giao diện loopback trên R1 để chúng ta có thể thấy thông tin withdrawn routes trong gói tin UPDATE Message.
    Trên R1 VnPro sẽ cấu hình

    R2#conf t
    R2(config)#interface loopback 0
    R2(config-if)# shutdown

    Đây là kết quả nhận được

    Click image for larger version

Name:	ảnh.png
Views:	0
Size:	23.0 KB
ID:	429579

    Khi các neighbor BGP không có tuyến đường nào để quảng bá hoặc rút, để đảm bảo phía bên kia vẫn “sống” (still there), BGP sử dụng các gói tin KEEPALIVE định kỳ. Mặc định, BGP gửi gói tin KEEPALIVE dài 19 byte mỗi 60 giây. Nếu một neighbor BGP không nhận được 3 gói KEEPALIVE liên tiếp (3 x 60 = 180 giây, bằng giá trị Hold Time), nó sẽ xóa các tuyến đường từ neighbor đó.
    Dưới đây là gói tin KEEPALIVE đã được bắt.

    Border Gateway Protocol - KEEPLIVE Message
    Marker: ffffffffffffffffffffffffffffffff
    Length: 19
    Type: KEEPALIVE Message (4)


    Để VnPro cho bạn xem một ví dụ về một thông báo (notification message), chúng ta sẽ làm một điều gì đó mà BGP không thích
    VnPro sẽ cấu hình trên R2 như sau
    (Các lệnh này được sử dụng để xóa cấu hình BGP hiện tại (với AS 2) và sau đó cấu hình lại một neighbor BGP mới (với địa chỉ IP 192.168.12.1) thuộc về một AS khác (AS 1) trong một tiến trình BGP mới (với AS 22) trên router R2.)

    R2#conf t
    R2(config)#router bgp 22
    R2(config-router)#neighbor 192.168.12.1 remote-as 1

    Bằng cách thay đổi số hiệu AS trên một trong các router, chúng ta sẽ có một sự không khớp. Đây là bản ghi Wireshark:

    Click image for larger version

Name:	ảnh.png
Views:	0
Size:	25.9 KB
ID:	429580

    ​​
    "R1 đang gửi cho R2 một thông báo (notification message) với một lỗi nghiêm trọng là "lỗi thông điệp OPEN (open message error)" và mã lỗi phụ (subtype) là "AS ngang hàng không hợp lệ (bad peer AS)".
    Bản ghi Wireshark này cho thấy router đang nhận được một thông điệp BGP Notification từ một peer. Thông điệp này chỉ ra rằng đã xảy ra lỗi trong quá trình thiết lập phiên BGP (liên quan đến thông điệp OPEN), cụ thể là AS number của peer (22) không khớp với AS number được cấu hình cho neighbor này trên router nhận. Điều này phù hợp với kịch bản đã được mô tả trước đó về việc thay đổi AS number trên một trong các router gây ra sự không khớp.


    Người thực hiện : Phòng kỹ thuật ​- Phan Văn Phú | VnPro
    Email : vnpro@vnpro.org
    ---------------------------------------------------------------------------------------------------------------
    Trung Tâm Tin Học VnPro
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel : (08) 35124257 (5 lines)
    Fax: (08) 35124314

    Home page: http://www.vnpro.vn
    Support Forum: http://www.vnpro.org
    - Chuyên đào tạo quản trị mạng và hạ tầng Internet
    - Phát hành sách chuyên môn
    - Tư vấn và tuyển dụng nhân sự IT
    - Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

    Network channel: http://www.dancisco.com
    Blog: http://www.vnpro.org/blog
Working...
X