Cân bằng lưu lượng truy cập đi trong khi sử dụng openbgpd trên freebsd


8

Tôi đang sử dụng openbgpd trong freeBSD với 2 kết nối ISP. Tôi có số AS của riêng tôi và mạng / 22. Hiện tại tôi đang quảng cáo toàn bộ / 22 cho cả hai mạng. Lưu lượng truy cập trong nước đến Nhưng lưu lượng truy cập đi của tôi đi qua một liên kết duy nhất.

Tôi muốn phân phối lưu lượng truy cập đi của mình qua cả hai liên kết để lưu lượng truy cập đi cũng được cân bằng.

Làm cách nào để định cấu hình này bằng openbgpd trong freebsd?

Cấu hình openbgpd hiện tại của tôi được đính kèm để tham khảo.

AS 00my-as
listen on xx.xx.xx.x
router-id xx.xx.xx.x
network aa.aa.aa.0/22
group "ISP1" {
  remote-as 11remoteas-1
  neighbor bb.bb.bb.1 {
   descr "ISP1"
   announce all  
  }
}
group "ISP2" {
  remote-as 22remoteas-2
  neighbor cc.cc.cc.37 {
   descr "ISP2"
   announce all  
  }
}
deny from any
deny to any
allow from bb.bb.bb.1
allow to bb.bb.bb.1
allow from cc.cc.cc.37
allow to cc.cc.cc.37

Câu trả lời:


2

Tôi đã không sử dụng openbgpd trong nhiều năm, vì vậy, tôi sẽ cung cấp cho bạn một số lý thuyết mà bạn có thể áp dụng cho cấu hình của mình.

Một nhà cung cấp có thể gửi cho bạn các tuyến đường. Thông thường, họ sẽ gửi 'mặc định', 'khách hàng' hoặc 'đầy đủ'. Một tuyến mặc định chỉ là như vậy, 0.0.0.0/0 được thông báo cho bạn và bạn biết để đạt được 0.0.0.0/0 (bất kỳ IP nào) thông qua chúng. Tình huống của bạn có vẻ như cả hai nhà cung cấp đang cung cấp cho bạn một tuyến mặc định và rất có thể, nhà cung cấp có ASN thấp hơn sẽ nhận được tất cả lưu lượng truy cập (ASN là công cụ phá vỡ khi một gói có thể đi đến nhiều đích và các đường AS bằng nhau chiều dài, v.v.).

Nguồn cấp dữ liệu của 'khách hàng sẽ yêu cầu họ thông báo mọi tuyến đường được kết nối trực tiếp với họ. Nếu bạn có một nhà cung cấp như Level3, bạn có thể sẽ thấy một nửa internet thông qua nguồn cấp dữ liệu này. Nếu nhà cung cấp khác của bạn có ASN thấp hơn, họ sẽ nhận được bất kỳ lưu lượng truy cập nào không được kết nối trực tiếp với mạng ngang hàng thông báo các tuyến khách hàng của họ cho bạn.

Nguồn cấp dữ liệu 'đầy đủ' sẽ có thông báo lộ trình cho mọi trang web mà nhà cung cấp biết cách truy cập - không chỉ các trang được kết nối trực tiếp.

Bạn sẽ có thể làm một cái gì đó như:

hiển thị tóm tắt ip bgp (lệnh IOS)

trong đó nên liệt kê số lượng tiền tố nhận được ở đâu đó.

Nếu cả hai nhà cung cấp hiện tại của bạn đang gửi cho bạn một tuyến mặc định, thì kết nối của bạn hiện đang được thiết lập để chuyển đổi dự phòng. Nhà cung cấp A đi xuống, sau đó bạn sẽ định tuyến đến Nhà cung cấp B. Nếu bạn lấy nguồn cấp dữ liệu của khách hàng từ cả hai cùng với tuyến mặc định, lưu lượng sẽ chảy đến nhà cung cấp có ASpath ngắn nhất để đến địa chỉ nhất định và sẽ trở về mặc định tuyến đường nếu nó không thể tìm thấy địa chỉ. Nếu bạn có nguồn cấp dữ liệu đầy đủ từ cả hai, tùy thuộc vào sự chồng chéo giữa các nhà cung cấp, bạn sẽ gửi lưu lượng truy cập ra khỏi đường dẫn 'tốt nhất' cho mỗi nhà cung cấp.

Trên một trong các bộ định tuyến biên của chúng tôi, tôi hiển thị 310540 tuyến hoạt động, đảm bảo bạn có đủ RAM và đã định cấu hình máy để xử lý các tuyến từ cả hai nhà cung cấp nếu bạn thực hiện đầy đủ các tuyến. Bạn có thể thử nghiệm với các tuyến khách hàng từ cả hai cho đến khi bạn cảm thấy thoải mái hơn. Hoặc đi tuyến khách hàng từ nhà cung cấp nhỏ hơn của hai người và xem mọi thứ thay đổi như thế nào.

Điều này vẫn không 'cân bằng tải' hoặc chia đều lưu lượng và tùy thuộc vào lưu lượng của bạn. Bạn có thể thấy rằng một nhà cung cấp vẫn có được lưu lượng truy cập lớn. Tại thời điểm này, bạn sẽ cần thực hiện một số bản đồ tiền tố / tuyến đường để điều chỉnh lưu lượng truy cập để thích ngang hàng này hoặc ngang hàng khác.

Khi bạn thiết lập bản đồ tuyến đường hoặc trận đấu ASN để chuyển lưu lượng truy cập của mình, nếu trang đích bị hỏng và tuyến đường của chúng bị xóa khỏi nhà cung cấp đó, bộ định tuyến của bạn vẫn sẽ gửi lưu lượng ra khỏi kết nối khác. BGP có phần tự phục hồi.

Những gì chúng tôi đã làm là chúng tôi có một vài bản đồ được xác định phù hợp dựa trên ASN.

PROVIDER_A_TO PROVIDER_A_THROUGH PROVIDER_B_TO PROVIDER_B_THROUGH

Juniper làm điều này dễ dàng hơn so với việc sử dụng các cộng đồng, tuy nhiên, bạn có thể làm một trong hai.

Danh sách tiền tố của chúng tôi xem liệu đích đến có phải là ASN cụ thể không và nếu có, nó sẽ đi qua bản đồ _TO. Nếu ASN được liệt kê trong _THROUGH, nó sẽ thích nhà cung cấp đó. Vì một trong số các nhà cung cấp của chúng tôi có kết nối trực tiếp với AT & T, PROVIDER_B_THROUGH khớp với 7018 | 7019 (và một vài ASN khác) để lưu lượng truy cập AT & T mặc định cho Nhà cung cấp B. Mặc dù AT & T có thể truy cập được từ cả hai nhà cung cấp .

Tôi chắc chắn openbgpd có các phương thức tương tự.


3

BGP không phải là một giao thức cân bằng tải.

Hãy để tôi nhắc lại rằng, BGP KHÔNG phải là một giao thức cân bằng tải.

Nếu TẤT CẢ lưu lượng truy cập đi ra một kết nối, dự đoán đầu tiên của tôi là bạn sẽ không nhận được nguồn cấp dữ liệu đầy đủ từ nhà cung cấp đang bị bỏ qua. Định tuyến được ưu tiên cho các tuyến cụ thể hơn, vì vậy nếu bạn có tuyến 192.168.0.0/23 sẽ cung cấp a và hai tuyến 192.168.0.0/24 và 192.168.1.0/24 sẽ đến nhà cung cấp b, nhà cung cấp a sẽ hoàn toàn bị bỏ qua. Tôi không quen thuộc với OpenBGP. Vì vậy, tôi không thể cho bạn biết chi tiết cụ thể về cách xác minh một số thứ mà không cần nhìn. Nhưng điều đầu tiên bạn cần làm là xác nhận rằng các nhà cung cấp CẢ HAI đang cung cấp cho bạn một nguồn cấp dữ liệu đầy đủ chứ không chỉ là một tuyến đường mặc định.

Nếu đó là trường hợp, thì bạn cần xem xét ưu tiên tuyến đường cho lưu lượng truy cập đi và đệm đường dẫn cho lưu lượng truy cập trong nước. Đảm bảo đợi hai mươi bốn đến bốn mươi tám giờ giữa các thay đổi cấu hình chỉ để đảm bảo bạn có bộ dữ liệu đủ lớn để xác định tính hiệu quả của các thay đổi.


1

Xây cầu. Freebsd thực sự sẽ tải cân bằng trên các tính năng ngược dòng của các tiền tố hiện tại và sẽ tải cân bằng khá tốt. BGP sẽ không. Bạn có thể cài đặt cả ISP ngược dòng và thông báo cho cả ISP theo / 22 của bạn và có thể sẽ từ chối tiền tố / 30 wan của bạn nhưng iBGP sẽ chọn điều đó. iBGP sẽ chạy tốt trên cầu và sau đó không có nhu cầu thực sự đối với OSPF. Bây giờ bạn có một bộ cân bằng tải và thiết lập BGP dự phòng đầy đủ. Chúng tôi có một vài người yêu thích chúng trên các liên kết hợp tác với Internet.


1

Điều đầu tiên cần kiểm tra là liệu cả hai phiên BGP có thực sự hoạt động hay không. sử dụng

bgpctl hiển thị tóm tắt

Và xem nếu bạn có tin nhắn trao đổi với cả hai đồng nghiệp.

Và bạn nên xóa "thông báo tất cả" trừ khi bạn muốn bạn ngang hàng định tuyến lưu lượng truy cập của họ qua bạn, điều này thường ngược lại;

Juste xóa thông báo tất cả và bạn sẽ ổn thôi.

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.