Создать многосетевой балансировщик нагрузки linux с двумя подключениями к Интернету и одним подключением к локальной сети

Хорошо, ... на это, возможно, был дан ответ, к сожалению, я не нашел ничего, что могло бы быть разрешением.

Я просмотрел эти страницы, и на них есть некоторая полезная информация, но не полные решения:

  1. Балансировка нагрузки и преобразование нескольких подключений ISP в Linux
  2. Два подключения к Интернету и 1 сетевая карта, Возможно?
  3. Разделенный доступ Linux (несколько подключений к Интернету с балансировкой нагрузки)
  4. брандмауэр Linux + подключения к Интернет-провайдеру с балансировкой нагрузки

Я буду использовать либо Debian 8, Ubuntu 16.04 Desktop, либо Ubuntu 16.04 Server (если честно, скорее всего, Debian).

Хорошо, у меня будет три сетевых карты, два гигабитных и встроенное LAN-соединение со скоростью 100 Мбит / с. Соединения ISP будут использовать гигабитные карты LAN через аутентификацию PPPoE на обоих сетевых адаптерах (если это вообще возможно, в противном случае я соглашусь на режим без моста на модемах DSL). И обеим сетям будет назначен статический IP-адрес. В настоящее время (что изменится) основное соединение имеет группу из пяти человек. Мне нужно направить трафик, входящий с одного из этих IP-адресов, на соответствующий сервер в сети.

Вот мои вопросы:

  1. Как мне это настроить? Использую ли я NAT, IP Chans, IP-маскарадинг, маршрутизация и т. Д.?
  2. Как мне перенаправить трафик, входящий в систему извне, на определенный IP-адрес в сети?

Пожалуйста, будьте осторожны, это моя первая попытка что-то НИЧЕГО похожее на это раньше :).

РЕДАКТИРОВАТЬ 1

Забыл добавить топологию сети:

Internal Network layout

РЕДАКТИРОВАТЬ 2

Я кое-что понял ... Чтобы выполнить аутентификацию PPPoE, мне придется принудительная аутентификация учетных данных на определенном интерфейсе. Как это сделать?

Я разместил этот вопрос здесь:

Создать многосетевой балансировщик нагрузки Linux с двумя подключениями к Интернету и одним подключением к локальной сети

ОБНОВЛЕНИЕ 1

По-прежнему не удается получить циклический перебор с несколькими переключениями работай. Я безуспешно пытался выполнить шаги, описанные на следующих сайтах:

  1. Балансировка нагрузки и NAT-соединение нескольких подключений ISP в Linux
  2. Linux - Двойные подключения к Интернету / балансировка нагрузки
  3. HOWTO: Multirouting with Linux

Я либо получаю сообщение о том, что файл уже существует, либо недействительное устройство. Вот мои настройки / информация

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)

Конфигурация ИНТЕРФЕЙСОВ

# 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

Это мое основное соединение WAN.

ETH1

Это мое вторичное соединение WAN.

ETH2

Это мое внутреннее LAN-соединение.

Мне удалось заставить маршрутизацию работать на одном WAN-интерфейсе и подключиться к внутренней LAN, однако я не могу воспроизвести это и понятия не имею, почему.

10
задан 13 April 2017 в 15:14
1 ответ

С помощью нескольких друзей, помогавших мне исследовать это, я НАКОНЕЦ смог заставить его работать.

Пришлось запустить этот сценарий, чтобы правильно пересылать трафик TCP / IP:

#!/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

Затем я установил Net-ISP-Balance . После запуска и установки сценариев я дважды зашел на WhatsMyIP , и, конечно же, оба интерфейса маршрутизируют трафик, поскольку whatsmyip показал оба IP-адреса после того, как я нажал кнопку обновления.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ Это сработало для моего конкретная схема сети, конфигурация и настройки. Ваши результаты могут отличаться.

4
ответ дан 2 December 2019 в 22:14

Теги

Похожие вопросы