Tạo một bộ cân bằng tải linux đa homed với hai kết nối internet và một kết nối LAN


10

OK, ... điều này có thể đã được trả lời, thật không may, tôi đã không tìm thấy bất cứ điều gì có vẻ như nó có thể là độ phân giải.

Ive đã xem các trang này và họ có một số thông tin hữu ích, nhưng không hoàn thành các nghị quyết:

  1. Cân bằng tải & NAT-ing nhiều kết nối ISP trên Linux
  2. Hai kết nối Internet và 1 NIC, có thể?
  3. Truy cập phân chia Linux (nhiều kết nối internet với cân bằng tải)
  4. tường lửa linux + cân bằng tải kết nối ISP

Tôi sẽ sử dụng Debian 8, Ubuntu 16.04 Desktop hoặc Ubuntu 16.04 Server (thành thật mà nói, rất có thể là Debian).

OK, vì vậy tôi sẽ có ba NIC được cài đặt hai gigabit và kết nối mạng LAN 100 mbps trên bo mạch. Các kết nối ISP sẽ sử dụng thẻ LAN gigabit thông qua xác thực PPPoE trên cả hai nics (nếu điều này thậm chí có thể xảy ra, tôi sẽ giải quyết cho chế độ không bắc cầu trên modem DSL). Và cả hai mạng sẽ có một IP tĩnh được gán cho chúng. Hiện tại (sẽ thay đổi) kết nối chính có một nhóm năm. Tôi cần định tuyến lưu lượng truy cập đến từ một trong những địa chỉ IP đó đến máy chủ phù hợp trên mạng.

Đây là câu hỏi của tôi:

  1. Làm thế nào để tôi thiết lập điều này? Tôi có sử dụng NATing, IP Chans, IP Masquerading, Routing, v.v ... không?
  2. Làm cách nào để định tuyến lưu lượng truy cập vào hệ thống từ bên ngoài đến một địa chỉ IP cụ thể trên mạng?

Xin hãy nhẹ nhàng, đây là lần đầu tiên tôi đã thử một cái gì đó như thế này trước đây :).

CHỈNH SỬA 1

Quên để thêm cấu trúc liên kết mạng:

Bố trí mạng nội bộ

CHỈNH SỬA 2

Chỉ cần nhận ra điều gì đó ... Để thực hiện xác thực PPPoE, tôi sẽ phải buộc xác thực thông tin đăng nhập trên một giao diện cụ thể. Làm thế nào được thực hiện?

Tôi đã đăng câu hỏi đó tại đây:

Tạo một bộ cân bằng tải linux đa homed với hai kết nối internet và một kết nối LAN

CẬP NHẬT 1

Vẫn không thể có được vòng tròn multihop để làm việc. Tôi đã cố gắng làm theo các bước được nêu trong các trang web sau đây nhưng không có may mắn:

  1. Cân bằng tải & NAT-ing nhiều kết nối ISP trên Linux
  2. Linux - Kết nối Internet kép / Cân bằng tải
  3. HƯỚNG DẪN: Đa hướng với Linux

Tôi tiếp tục nhận được thông báo cho biết rằng tệp đã tồn tại hoặc thiết bị không hợp lệ. Đây là / là các thiết lập / thông tin của tôi

IFCONFIG

eth0      Link encap:Ethernet  HWaddr ec:08:6b:04:8e:ac  
          inet addr:172.16.0.2  Bcast:172.16.0.255  Mask:255.255.255.0
          inet6 addr: fe80::ee08:6bff:fe04:8eac/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9525 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7722 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9306973 (8.8 MiB)  TX bytes:949815 (927.5 KiB)

eth1      Link encap:Ethernet  HWaddr ec:08:6b:04:8c:95  
          inet addr:172.16.1.2  Bcast:172.16.1.255  Mask:255.255.255.0
          inet6 addr: fe80::ee08:6bff:fe04:8c95/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9 errors:0 dropped:0 overruns:0 frame:0
          TX packets:42 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:558 (558.0 B)  TX bytes:6344 (6.1 KiB)

eth2      Link encap:Ethernet  HWaddr 00:16:76:90:49:b7  
          inet addr:172.16.2.1  Bcast:172.16.2.255  Mask:255.255.255.0
          inet6 addr: fe80::216:76ff:fe90:49b7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3793 errors:0 dropped:0 overruns:0 frame:0
          TX packets:79 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:283119 (276.4 KiB)  TX bytes:10338 (10.0 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:32 errors:0 dropped:0 overruns:0 frame:0
          TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:1858 (1.8 KiB)  TX bytes:1858 (1.8 KiB)

Cấu hình INTERFACES

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
    address 172.16.0.2
    netmask 255.255.255.0
    gateway 172.16.0.1
    network 172.16.0.0
    broadcast 172.16.0.255

auto eth1
allow-hotplug eth1
iface eth1 inet static
    address 172.16.1.2
    netmask 255.255.255.0
    gateway 172.16.1.1
    network 172.16.1.0
    broadcast 172.16.1.255

auto eth2
allow-hotplug eth2
iface eth2 inet static
    address 172.16.2.1
    netmask 255.255.255.0
    network 172.16.2.0
    broadcast 172.16.2.255

ETH0

Đây là kết nối mạng chính của tôi.

ETH1

Đây là kết nối mạng thứ cấp của tôi.

ETH2

Đây là kết nối mạng LAN nội bộ của tôi.

Tôi đã có thể làm cho định tuyến hoạt động trên một giao diện WAN và được liên kết với mạng LAN nội bộ, tuy nhiên, tôi không thể sao chép điều đó và không biết tại sao.


Tôi nghĩ rằng bạn có câu trả lời trong liên kết đầu tiên bạn đã đăng. Nếu các máy chủ nằm trong mạng LAN của bạn và có địa chỉ riêng, bạn chắc chắn cần NAT. Về cơ bản, bạn cần chia vấn đề của mình thành hai vấn đề: 1) Lưu lượng truy cập vào, 2) Lưu lượng truy cập sắp ra. Sau đó ... bạn chỉ cần nó để cân bằng tải hoặc cũng có tính sẵn sàng cao? Bạn cần có các bảng định tuyến khác nhau cho các nhà cung cấp khác nhau (quy tắc ip), sau đó đánh dấu các gói đến để chúng sẽ quay trở lại cùng một nhà cung cấp. Đối với lưu lượng đi bạn có thể cân bằng nó.
Jure1873

OK, ... vâng, khi nghĩ về nó, tôi sẽ cần có khả năng định tuyến lưu lượng phù hợp (NATing) và tôi chắc chắn cần phải cân bằng hai tải kết nối đến. Vì vậy, có hiệu quả có gấp đôi tốc độ chứ không phải tốc độ đơn. Tôi có nghĩ về điều này một cách chính xác?
John Schultz

Bạn có BGP ở bên ngoài? Nếu bạn có các liên kết internet riêng biệt, bạn chỉ có thể "tăng gấp đôi tốc độ" ở phía bên ngoài. Phía đến sẽ chỉ theo dõi các gói đến và đảm bảo rằng chúng đi ra cùng dòng khi chúng đến.
Jure1873

Tôi hình dung đó sẽ là trường hợp. Không, tôi không có BGP bên ngoài vị trí này :( (Thậm chí không biết nó là gì).
John Schultz

Câu trả lời:


4

Với sự hỗ trợ của một vài người bạn giúp tôi nghiên cứu vấn đề này, tôi đã HOÀN TOÀN có thể khiến nó hoạt động.

Phải chạy tập lệnh này để chuyển tiếp lưu lượng TCP / IP đúng cách:

#!/bin/sh

PATH=/usr/sbin:/sbin:/bin:/usr/bin

# Primary Connection - 2085426230
   IF1=eth0
   IP1=172.16.0.2
    P1=172.16.0.1
P1_NET=172.16.0.0

# Secondary Connection - 2085420213
   IF2=eth1
   IP2=172.16.1.2
    P2=172.16.1.1
P2_NET=172.16.1.0

# Local Network
   IF3=eth2
   IP3=172.16.2.2
    P3=172.16.2.1
P3_NET=172.16.2.0

T1=WAN1
T2=WAN2

# delete all existing rules.
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# Always accept loopback and WAN traffic
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i ${IF1} -j ACCEPT

# Allow established connections, and those not coming from the outside
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ${IF1} -o ${IF3} -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i ${IF3} -o ${IF1} -j ACCEPT

# Masquerade.
iptables -t nat -A POSTROUTING -o ${IF1} -j MASQUERADE

# Enable routing.
echo 1 > /proc/sys/net/ipv4/ip_forward

Sau đó, tôi đã cài đặt Net-ISP-Balance . Khi các tập lệnh chạy và cài đặt, tôi đã truy cập WhatsMyIP hai lần và chắc chắn, cả hai giao diện đều định tuyến lưu lượng vì whatsmyip hiển thị cả hai địa chỉ IP sau khi tôi nhấn làm mới.

TUYÊN BỐ TỪ CHỐI Điều này làm việc cho bố trí, cấu hình và cài đặt mạng cụ thể của tôi. Kết quả của bạn có thể thay đổi.


Đã kiểm tra tốc độ .... Tôi có lưu lượng tải tăng 24% và tăng 90% lưu lượng tải.
John Schultz
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.