Назад | Перейти на главную страницу

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

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

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

  1. Балансировка нагрузки и NAT-подключение нескольких подключений к Интернет-провайдеру в 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 Masquerading, Routing и т. Д.?
  2. Как направить трафик, поступающий в систему извне, на определенный IP-адрес в сети?

Пожалуйста, будьте осторожны, я впервые пробовал делать что-то подобное :).

ИЗМЕНИТЬ 1

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

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

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

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

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

ОБНОВЛЕНИЕ 1

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

  1. Балансировка нагрузки и NAT-подключение нескольких подключений к Интернет-провайдеру в Linux
  2. Linux - двойное подключение к Интернету / балансировка нагрузки
  3. HOWTO: Мультиаршрутизация в 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

Это мое внутреннее подключение к локальной сети.

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

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

Пришлось запустить этот сценарий для правильной пересылки трафика 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-адреса после того, как я нажал на обновление.

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