Crea un bilanciamento del carico Linux multihomed con due connessioni Internet e una connessione LAN


11

OK, ... forse è stata data una risposta, sfortunatamente, non ho trovato nulla che possa sembrare la risoluzione.

Ho guardato queste pagine e hanno alcune informazioni utili, ma non risoluzioni complete:

  1. Bilanciamento del carico e NAT con più connessioni ISP su Linux
  2. Due connessioni Internet e 1 scheda di rete, possibile?
  3. Accesso diviso Linux (connessioni Internet multiple con bilanciamento del carico)
  4. firewall linux + connessioni ISP di bilanciamento del carico

O userò Debian 8, Ubuntu 16.04 Desktop o Ubuntu 16.04 Server (a dire il vero, molto probabilmente Debian).

OK, quindi avrò tre schede di rete installate due gigabit e la connessione LAN integrata a 100 mbps. Le connessioni ISP useranno le schede LAN gigabit tramite l'autenticazione PPPoE su entrambe le schede di rete (se ciò è possibile altrimenti, mi accontenterò della modalità di non bridging sui modem DSL). Ad entrambe le reti verrà assegnato un IP statico. Attualmente (che cambierà) la connessione primaria ha un gruppo di cinque. Devo instradare il traffico che arriva su uno di quegli indirizzi IP al server appropriato sulla rete.

Ecco le mie domande:

  1. Come lo installo? Uso NATing, IP Chans, IP Masquerading, Routing, ecc ...?
  2. Come instradare il traffico proveniente dal sistema dall'esterno verso un indirizzo IP specifico sulla rete?

Per favore sii gentile, questa è la prima volta che ho provato qualcosa di simile prima :).

MODIFICA 1

Hai dimenticato di aggiungere la topologia di rete:

Layout della rete interna

MODIFICA 2

Ho appena realizzato qualcosa ... Per poter eseguire l'autenticazione PPPoE, dovrò forzare l'autenticazione delle credenziali su un'interfaccia specifica. Come si fa?

Ho pubblicato questa domanda qui:

Crea un bilanciamento del carico Linux multihomed con due connessioni Internet e una connessione LAN

AGGIORNAMENTO 1

Non riesco ancora a far funzionare il round robin multihop. Ho provato a seguire i passaggi indicati nei seguenti siti senza fortuna:

  1. Bilanciamento del carico e NAT con più connessioni ISP su Linux
  2. Linux - Doppia connessione Internet / Bilanciamento del carico
  3. HOWTO: Multirouting con Linux

Continuo a ricevere un messaggio che indica che il file esiste già o un dispositivo non valido. Ecco / sono le mie impostazioni / informazioni

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)

INTERFACCE Configurazione

# 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

Questa è la mia connessione WAN primaria.

ETH1

Questa è la mia connessione WAN secondaria.

ETH2

Questa è la mia connessione LAN interna.

Sono stato in grado di far funzionare il routing su un'interfaccia WAN e collegato alla LAN interna, tuttavia non riesco a replicarlo e non ho idea del perché.


Penso che tu abbia la risposta nel primo link che hai pubblicato. Se i server si trovano sulla tua LAN e hanno indirizzi privati, hai sicuramente bisogno di NAT. Fondamentalmente devi dividere il problema in due problemi: 1) Traffico in arrivo, 2) Traffico in uscita. Quindi ... ne hai bisogno solo per il bilanciamento del carico o anche per l'alta disponibilità? È necessario disporre di tabelle di routing diverse per provider diversi (regola ip), quindi contrassegnare i pacchetti in entrata in modo che tornino allo stesso provider. Per il traffico in uscita puoi bilanciarlo.
Jure1873,

OK, ... sì, vieni a pensarci bene, dovrò essere in grado di instradare il traffico di conseguenza (NATing) e sicuramente avrò il bilanciamento del carico delle due connessioni in entrata. Avere così il doppio della velocità piuttosto che la velocità singola. Ci sto pensando correttamente?
John Schultz,

Hai BGP all'esterno? Se disponi di collegamenti Internet separati, puoi solo "raddoppiare la velocità" sul lato in uscita. Il lato in entrata
tracciava

Ho pensato che sarebbe stato il caso. No, non ho BGP al di fuori di questa posizione :( (Non so nemmeno di cosa si tratti).
John Schultz,

Risposte:


4

Con l'assistenza di alcuni amici che mi hanno aiutato nella ricerca, sono stato FINALMENTE in grado di farlo funzionare.

Ho dovuto eseguire questo script per inoltrare correttamente il traffico 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

Quindi ho installato Net-ISP-Balance . Una volta che gli script sono stati eseguiti e installati, sono andato su WhatsMyIP due volte e, in effetti , entrambe le interfacce stanno instradando il traffico in quanto whatsmyip ha mostrato entrambi gli indirizzi IP dopo aver premuto l'aggiornamento.

DISCLAIMER Questo ha funzionato per il mio particolare layout di rete, configurazione e impostazioni. I risultati possono variare.


Ho fatto un test di velocità .... Ho un aumento del 24% nel mio traffico di scaricamento e un aumento del 90% nel mio traffico uload.
John Schultz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.