Créer un équilibreur de charge Linux multi-hébergé avec deux connexions Internet et une connexion LAN


10

OK, ... cela a peut-être été répondu, malheureusement, je n'ai rien trouvé qui pourrait ressembler à la résolution.

J'ai regardé ces pages et elles contiennent des informations utiles, mais pas des résolutions complètes:

  1. Équilibrage de charge et NAT-plusieurs connexions ISP sous Linux
  2. Deux connexions Internet et 1 carte réseau, possible?
  3. Accès partagé Linux (plusieurs connexions Internet avec équilibrage de charge)
  4. pare-feu Linux + connexions ISP d'équilibrage de charge

J'utiliserai Debian 8, Ubuntu 16.04 Desktop ou Ubuntu 16.04 Server (pour être honnête, probablement Debian).

OK, j'ai donc installé trois NIC, deux gigabits et la connexion LAN 100 Mbps intégrée. Les connexions ISP utiliseront les cartes LAN gigabit via l'authentification PPPoE sur les deux cartes réseau (si cela est même possible sinon, je me contenterai du mode non pontant sur les modems DSL). Et les deux réseaux se verront attribuer une adresse IP statique. Actuellement (ce qui changera), la connexion principale a un groupe de cinq. J'ai besoin d'acheminer le trafic provenant de l'une de ces adresses IP vers le serveur approprié sur le réseau.

Voici mes questions:

  1. Comment configurer cela? Dois-je utiliser NATing, IP Chans, IP Masquerading, Routing, etc ...?
  2. Comment acheminer le trafic entrant dans le système de l'extérieur vers une adresse IP spécifique sur le réseau?

Soyez gentil, c'est la première fois que je tente quelque chose comme ça avant :).

EDIT 1

Vous avez oublié d'ajouter la topologie du réseau:

Disposition du réseau interne

EDIT 2

Je viens de réaliser quelque chose ... Afin de faire l'authentification PPPoE, je vais devoir forcer l'authentification des informations d'identification sur une interface spécifique. Comment cela se fait-il?

J'ai posté cette question ici:

Créer un équilibreur de charge Linux multi-hébergé avec deux connexions Internet et une connexion LAN

MISE À JOUR 1

Toujours incapable de faire fonctionner le tournoi à la ronde à sauts multiples. J'ai essayé de suivre les étapes décrites dans les sites suivants sans succès:

  1. Équilibrage de charge et NAT-plusieurs connexions ISP sous Linux
  2. Linux - Double connexion Internet / équilibrage de charge
  3. HOWTO: Multirouting avec Linux

Je reçois toujours un message indiquant que le fichier existe déjà ou un périphérique non valide. Voici / sont mes paramètres / informations

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)

Configuration des 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

Ceci est ma connexion WAN principale.

ETH1

Ceci est ma connexion WAN secondaire.

ETH2

Ceci est ma connexion LAN interne.

J'ai pu obtenir le routage pour travailler sur une interface WAN et lié au LAN interne, cependant, je ne peux pas reproduire cela et je n'ai aucune idée pourquoi.


Je pense que vous avez la réponse dans le premier lien que vous avez publié. Si les serveurs sont sur votre réseau local et ont des adresses privées, vous avez certainement besoin de NAT. Fondamentalement, vous devez diviser votre problème en deux problèmes: 1) Trafic entrant, 2) Trafic sortant. Alors ... en avez-vous besoin uniquement pour l'équilibrage de charge ou également pour la haute disponibilité? Vous devez avoir différentes tables de routage pour différents fournisseurs (règle ip), puis marquer les paquets entrants pour qu'ils reviennent au même fournisseur. Pour le trafic sortant, vous pouvez l'équilibrer.
Jure1873

OK, ... oui, à bien y penser, je devrai être en mesure d'acheminer le trafic en conséquence (NATing) et j'ai vraiment besoin d'avoir la charge des deux connexions entrantes équilibrée. Donc, avoir effectivement le double de la vitesse plutôt que la vitesse unique. Suis-je en train de penser correctement à cela?
John Schultz

Avez-vous BGP à l'extérieur? Si vous avez des liens Internet séparés, vous ne pouvez que "doubler la vitesse" du côté sortant. Le côté entrant ne suivrait que les paquets entrants et s'assurerait qu'ils sortent sur la même ligne qu'ils sont entrés.
Jure1873

J'ai pensé que ce serait le cas. Non, je n'ai pas de BGP en dehors de cet endroit :( (Je ne sais même pas ce que c'est).
John Schultz

Réponses:


4

Avec l'aide de quelques amis qui m'ont aidé à faire des recherches, j'ai finalement pu le faire fonctionner.

J'ai dû exécuter ce script afin de transmettre correctement le trafic 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

J'ai ensuite installé Net-ISP-Balance . Une fois que les scripts ont été exécutés et installés, je suis allé deux fois sur WhatsMyIP et bien sûr, les deux interfaces acheminent le trafic car Whatsmyip a montré les deux adresses IP après avoir appuyé sur le rafraîchissement.

AVERTISSEMENT Cela a fonctionné pour ma disposition, ma configuration et mes paramètres de réseau particuliers. Vos résultats peuvent varier.


A fait un test de vitesse .... J'ai une augmentation de 24% de mon trafic de téléchargement et une augmentation de 90% de mon trafic de téléchargement.
John Schultz
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.