Bộ cân bằng tải KEMP sử dụng UCARP (VRRP) - địa chỉ MAC phát đa hướng không được chọn


10

Được rồi - đã chiến đấu với điều này trong ít nhất 20 giờ liên tục .. Xin lỗi nếu điều này có vẻ như là một bài hát dài, hoặc một bài đăng trên blog, nhưng tôi đang đến mức kiệt sức.

Vì vậy, đây là thỏa thuận. Chúng tôi đang sử dụng bộ cân bằng tải KEMP, người sử dụng UCpeg (bản sao CARP của Linux, là bản sao VRRP) cho nhịp tim HA và trạng thái bền bỉ. Chúng tôi muốn sử dụng IGMP trong môi trường của chúng tôi để ngăn chặn lũ lụt trên trung tâm dữ liệu.

Chúng tôi có hai công tắc Dell PowerConnect 8124F chạy SW 5.1.1.7 hoạt động như một thiết bị hàng đầu. Hai cái này được kết nối với một cặp Cisco 3750-X xếp chồng, là lõi của chúng tôi.

Các vấn đề bắt đầu khi chúng tôi nâng cấp lên PowerConnect 5.1.x, nơi chúng dường như được mặc định để IGMP rình mò trừ khi bạn nói khác. Và kìa - bộ cân bằng tải của chúng tôi đã đi vào não bộ, gây ra tất cả các loại vui vẻ mờ nhạt ấm áp.

  • Nếu tôi tắt IGMP rình mò trên Vlan nơi các bộ cân bằng tải thực hiện phát đa hướng thì không có gì xảy ra, phát đa hướng vẫn chết
  • Nếu tôi thiết lập IP PIM trên lõi của chúng tôi, các công tắc PowerConnect sẽ thấy nó trên cùng một Vlan, nhưng vẫn không có lưu lượng phát đa hướng
  • Nếu tôi cho phép làm ngập tất cả lưu lượng truy cập phát đa hướng chưa đăng ký, nó vẫn không làm gì cả.
  • Nếu tôi tắt IGMP rình mò trên toàn cầu trên các công tắc PowerConnect, tất cả lưu lượng truy cập phát đa hướng đều hoạt động. Nó hoạt động rất tuyệt vời, đến nỗi chúng tôi nhận được lưu lượng truy cập phát đa hướng đến mọi cổng duy nhất có cùng Vlan được gắn thẻ. Tuyệt vời.

Tôi nhận thấy một số mục địa chỉ MAC lạ trên Vlan ở lõi của chúng tôi:

coresw#sh mac address-table vlan 367 | include 5e00
 367    0000.5e00.0101    DYNAMIC     Po13   seq_no:0

Và tôi nghĩ rằng .. Không phải đó là địa chỉ multicast sao? Tại sao điều này không có trong "multicast bảng địa chỉ sh mac"?

coresw#sh mac address-table multicast vlan 367
Vlan    Mac Address       Type        Ports
----    -----------       ----        -----
coresw#

Và sau đó tôi đọc phần này trong hướng dẫn PowerConnect CLI:

Lưu lượng truy cập đa luồng là lưu lượng được dành cho một nhóm máy chủ. Các nhóm máy chủ được xác định bởi địa chỉ MAC đích, tức là phạm vi 01: 00: 5e: 00: 00-01: 00: 5e: 7f: ff: ff: ff cho lưu lượng truy cập phát đa hướng IPv4 hoặc 33: 33: xx: xx : xx: xx cho lưu lượng phát đa hướng IPv6.

Có vẻ như chúng ta đang thiếu "01" ở đầu địa chỉ MAC, phải không? Mục MAC động ở trên bắt đầu bằng "00". Tại thời điểm này tôi đang suy nghĩ về việc gọi KEMP và cho họ biết rằng sản phẩm của họ bị định cấu hình khủng khiếp. Nhưng sau đó tôi đi đọc RFC cho VRRP - và kìa:

Địa chỉ MAC của bộ định tuyến ảo được liên kết với bộ định tuyến ảo là Địa chỉ MAC của IEEE 802 theo định dạng sau:

Trường hợp IPv4: 00-00-5E-00-01- {VRID} (ở dạng hex, theo thứ tự bit chuẩn Internet)

Được rồi - vì vậy các công tắc thường không nhận dải địa chỉ mac phát đa hướng cho VRRP. Tốt thôi, hãy cấu hình một nhóm máy chủ tĩnh trên các thiết bị chuyển mạch Dell. Không.

Đầu vào không hợp lệ: Địa chỉ MAC Multicast phải có định dạng 01XX: XXXX: XXXX

OK rồi .. Bước tiếp theo, hãy thử thêm một mục mac tĩnh:

osl-sys-swrack03(config)#mac address-table multicast ?

forbidden                forbid adding specific multicast addresses to
                         specific ports.

osl-sys-swrack03(config)#

Vì vậy - không có cách nào để định cấu hình mục MAC đa hướng tĩnh. Nếu tôi cố gắng làm tương tự với một mục MAC tĩnh thông thường, tôi chỉ có thể liên kết nó với một cổng - cụm cân bằng tải này chạy trên 4 cổng 10gig khác nhau.

Cập nhật : Dường như có một số nhầm lẫn về địa chỉ MAC. 172.30.1.0/24 là mạng loadbalancer phía trước. 172.30.1.6 là VIP được chia sẻ mặc định cho cụm, .7 là IP quản lý cho bộ cân bằng tải đầu tiên và .8 dành cho bộ cân bằng tải thứ hai. Tất cả các địa chỉ khác (30, 40, 70, 80, v.v.) đều là VIP với các dịch vụ khác nhau trên đó. Khi chuyển đổi dự phòng xảy ra, tất cả các VIP sẽ thay đổi địa chỉ MAC của họ thành địa chỉ MAC vật lý của LB thứ hai. Địa chỉ multicast trong bảng dưới cùng không thay đổi.

coresw#sh ip arp vlan 367
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  172.30.1.6             78   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.40           204   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.80           167   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.70            38   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.66            12   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.35           185   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.60            97   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.30            80   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.61            33   0050.56b4.5004  ARPA   Vlan367    <- VIP - Loadbalancer1 physical MAC
Internet  172.30.1.7             27   0050.56b4.5004  ARPA   Vlan367    <- Management - Loadbalancer1 physical MAC
Internet  172.30.1.8             21   0050.56b4.08c2  ARPA   Vlan367    <- Management - Loadbalancer2 physical MAC

osl-sys-coresw#sh mac address-table dynamic vlan 367
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
 367    0000.5e00.0101    DYNAMIC     Po13   seq_no:0   <- multicast HA mac (UCARP)
 367    0050.56b4.08c2    DYNAMIC     Po13   seq_no:0   <- Loadbalancer1 physical MAC
 367    0050.56b4.5004    DYNAMIC     Po13   seq_no:0   <- Loadbalancer2 physical MAC

Và đó là câu chuyện. Tôi sẽ làm gì với điều này?


What on earth am I going to do with this?<- Tequila. Rất nhiều của nó.
voretaq7

Bạn đang nhầm lẫn địa chỉ multicast được sử dụng giữa "bộ định tuyến ảo" (để nói ai là chủ và ai là chủ) và địa chỉ unicast được sử dụng cho chính bộ định tuyến ảo (tức là MAC cho IP ảo.)
Ricky Beam

@RickyBeam Bạn có thể cụ thể hơn một chút không? Lý do tại sao có (hai) địa chỉ mac trong danh sách trên là vì chúng tôi có hai cặp bộ cân bằng tải, mỗi cặp có ID riêng (01 và 02 ở cuối) - nếu đó là những gì bạn nghĩ đến?
pauseka

1
Không, bạn vẫn còn bối rối về MAC unicast liên quan đến IP bộ định tuyến ảo - đó là máy chủ MAC sử dụng để nói chuyện với dịch vụ cân bằng tải của họ. Một địa chỉ multicast là những gì các bộ cân bằng tải sử dụng để biết ai chịu trách nhiệm. (đọc phần 5.1.1)
Ricky Beam

@RickyBeam Xin lỗi, nó không có ý nghĩa gì với tôi. Địa chỉ MAC unicast cho mỗi bộ cân bằng tải (00:56, vmware) hoàn toàn khác với 0000.5e00.0101 tôi thấy khi tôi tắt IGMP snooping.
pauseka

Câu trả lời:


5

Tôi đã có thể giải quyết vấn đề. Trên Kemp (với cặp HA), bạn có tùy chọn sử dụng "Địa chỉ MAC ảo". Nếu hộp này không được chọn, thì MAC của bộ cân bằng tải VIP là giao diện vật lý của đơn vị Kemp đang hoạt động. Nếu hộp này được chọn, thì địa chỉ MAC của VIP là MAC VRRP. Như bạn đã đề cập ở trên, VRRP RFC nói rằng MAC là "00:00" {blah} với octet cuối cùng là ID bộ định tuyến. ID Kemp HA [bộ định tuyến] mặc định là 01. Trên Powerconnects của tôi sử dụng Firmware 5.1.xx Tôi không sử dụng VRRP nhưng tôi đã chạy một số dấu vết và xác định rằng Powerconnect sẽ bỏ khung VRRP nếu ID bộ định tuyến giống với chính nó. Họ thực hiện điều này NGAY nếu VRRP không được định cấu hình và ở chế độ đó, họ mặc định là 01. Vì vậy, việc thay đổi ID bộ định tuyến Kemp HA thành một cái gì đó như 22 (0x16) dẫn đến mọi thứ hoạt động.


Bạn là người hùng của tôi. Cảm ơn bạn cuối cùng đã tìm ra điều này! Từ ngữ cực kỳ kém về phần của KEMP - họ sẽ cung cấp cho bạn một mô tả thực sự cho bạn biết rằng phần này dịch sang ID bộ định tuyến VRRP.
pauseka

2

Địa chỉ multicast mà bạn đang tìm kiếm là 224.0.0.18 [mac: 01005e.000012]. Đó là kênh điều khiển cho tất cả các nút VRRP. [sửa] Trừ khi KEMP thay đổi mã, CARP (UCARP) tạo ra lưu lượng truy cập bằng cách sử dụng MAC unicast MAC [00005e.0001xx] - đó là nơi mà một công tắc sẽ tự nhiên tìm hiểu nó.

Nếu bạn không có máy kiểm tra trên mạng (có lẽ là ở mọi phân khúc), thì cuối cùng các thiết bị chuyển mạch của bạn sẽ quên những nhóm đang ở đâu - máy chủ không gửi thành viên định kỳ trừ khi được hỏi. . . Trong trường hợp đơn giản này, một querier là tất cả những gì được yêu cầu vì các thông điệp VRRP bị cấm không được vượt qua các phân đoạn.

Tôi không quen với các thiết bị chuyển mạch Dell, vì vậy tôi không biết bạn cần những lệnh cli nào.

[CẬP NHẬT]

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
367    0000.5e00.0101    DYNAMIC     Po13   seq_no:0   <- multicast HA mac (UCARP)

Đó không phải là mac multicast. Đó là nguồn MAC unicast của lưu lượng phát đa hướng. Mac multicast sẽ không hiển thị trong bảng địa chỉ mac. Đó là trong một bảng nhóm đa hướng. Cisco IOS có show mac-address-table multicast(không hiển thị gì trên bộ định tuyến của tôi) và show ip igmp groups(hiển thị 3 nhóm). Bộ định tuyến đó được đặt ở chế độ thưa thớt; nortel và cisco switch xem nó như một querier.

Và phương pháp KEMP rất thiếu sót khi sử dụng máy chủ MAC MAC cho các địa chỉ ảo. Trong trường hợp của bạn, 5004 thuộc về một nic. Khi 5004 biến mất, mọi người vẫn sẽ có "IP: 6 == MAC: 5004" trong bảng của họ; họ sẽ tiếp tục cố gắng nói chuyện với chủ nhà đã chết cho đến khi mục đó được thay thế. KEMP rõ ràng là đánh bạc trên gratuitous-arp được vinh danh bởi tất cả mọi thứ trong mạng. HSRP, VRRP OpenBSD được thiết kế CARP đều sử dụng MAC ảo vì lý do này. (có vẻ như họ đã thất bại trong việc hack UCARP để sử dụng mac mac thay vì mac ảo VRRP khi truyền lưu lượng truy cập đa luồng của nó.)

Do họ tấn công UCARP, bạn có chắc là nó còn sử dụng multicast không?


Tôi đã thiết lập bộ định tuyến PIM ở lõi của chúng tôi trên cùng một Vlan - không nên loại bỏ nhu cầu của người truy vấn?
pauseka

1
Về lý thuyết, có. Xác nhận (các) công tắc đang nhìn thấy một querier. ( show ip igmp snooping querier vlan 367cho một cisco)
Ricky Beam

Họ không nhìn thấy bất kỳ querier nào, nhưng họ nhìn thấy mrouter (sh ip igmp snooping mrouter). Tôi có nên có một querier VÀ một mrouter? Tôi nghĩ rằng cái sau thay thế cái đầu tiên ..
pauseka

1
Tôi không biết Dell đối xử với nó. Các công tắc cisco, hp và adtran của tôi hiển thị trình tạo PIM là trình truy vấn, nhưng chúng thiếu (hoặc không được định cấu hình) để hỗ trợ PIM.
Ricky Beam
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.