İki internet bağlantısı ve bir LAN bağlantısı ile çok bağlantılı bir linux yük dengeleyici oluşturun


11

Tamam, ... bu muhtemelen cevaplandı, ne yazık ki, çözünürlük gibi görünen bir şey bulamadım.

Bu sayfalara baktım ve bazı yararlı bilgileri var, ancak tam çözünürlükleri yok:

  1. Linux'ta yük dengeleme ve çoklu ISS bağlantılarına NAT yükleme
  2. İki İnternet Bağlantısı ve 1 NIC, Mümkün mü?
  3. Linux split erişimi (yük dengelemeli çoklu internet bağlantısı)
  4. linux güvenlik duvarı + yük dengesi ISP bağlantıları

Debian 8, Ubuntu 16.04 Desktop veya Ubuntu 16.04 Server kullanacağım (dürüst olmak gerekirse, büyük olasılıkla Debian).

Tamam, bu yüzden iki gigabit ve yerleşik 100 mbps LAN bağlantısı yüklü üç NIC'im olacak. ISP bağlantıları, gigabit LAN kartlarını her iki etikette de PPPoE kimlik doğrulaması ile kullanacaktır (aksi halde bu mümkün ise, DSL modemlerde köprülemeyen moda geçeceğim). Ve her iki ağ da kendilerine atanan statik bir IP'ye sahip olacaktır. Şu anda (bu değişecek) birincil bağlantı beş kişilik bir gruba sahiptir. Bu IP adreslerinden birinde gelen trafiği ağdaki uygun sunucuya yönlendirmem gerekiyor.

Sorularım:

  1. Bunu nasıl ayarlarım? NATing, IP Chans, IP Masquerading, Routing, vs. kullanabilir miyim?
  2. Sisteme gelen trafiği dışarıdan ağdaki belirli bir IP adresine nasıl yönlendiririm?

Lütfen nazik olun, bu ilk kez böyle bir şeyi daha önce denemiştim :).

DÜZENLEME 1

Ağ topolojisini eklemeyi unuttum:

Dahili Ağ düzeni

DÜZENLEME 2

Bir şey fark ettim ... PPPoE kimlik doğrulaması yapmak için, belirli bir arayüzde kimlik bilgilerinin kimlik doğrulamasını zorlamak zorunda kalacağım. Bu nasıl yapılır?

Bu soruyu buraya gönderdim:

İki internet bağlantısı ve bir LAN bağlantısı ile çok bağlantılı bir linux yük dengeleyici oluşturun

GÜNCELLEME 1

Hala multihop round robin'in çalışmasını sağlayamıyor. Şanssız aşağıdaki sitelerde belirtilen adımları takip etmeye çalıştım:

  1. Linux'ta yük dengeleme ve çoklu ISS bağlantılarına NAT yükleme
  2. Linux - Çift İnternet Bağlantıları / Yük Dengeleme
  3. NASIL: Linux ile çoklu yönlendirme

Ya dosyanın zaten var olduğunu belirten bir mesaj ya da geçersiz cihaz alıyorum. İşte ayarlarım / bilgilerim

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)

ARAYÜZLER Yapılandırma

# 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

Bu benim birincil WAN bağlantım.

eth1

Bu benim ikincil WAN Bağlantım.

eth2

Bu benim Dahili LAN bağlantım.

Yönlendirmeyi bir WAN arabiriminde çalıştırabildim ve dahili LAN'a bağladım, ancak bunu çoğaltamıyorum ve neden olduğu hakkında hiçbir fikrim yok.


Sanırım ilk bağlantıda cevabınız var. Sunucular LAN'ınızdaysa ve özel adresleriniz varsa mutlaka NAT'a ihtiyacınız vardır. Temel olarak sorununuzu iki probleme ayırmanız gerekir: 1) Trafik geliyor, 2) Trafik çıkıyor. O zaman ... sadece yük dengeleme veya yüksek kullanılabilirlik için mi ihtiyacınız var? Farklı sağlayıcılar için farklı yönlendirme tablolarına sahip olmanız gerekir (ip kuralı), ardından gelen paketleri aynı sağlayıcıya geri dönecek şekilde işaretlemeniz gerekir. Giden trafik için bunu dengeleyebilirsiniz.
Jure1873

Tamam, ... evet, bunu düşünmeye gel, trafiği buna göre yönlendirebilmem gerekecek (NATing) ve kesinlikle gelen iki bağlantının dengeli bir şekilde dengelenmesi gerekiyor. Böylece tek hızdan ziyade iki kat hıza sahip olun. Bunu doğru düşünüyor muyum?
John Schultz

Dışarıda BGP var mı? Eğer ayrı internet bağlantınız varsa, giden tarafta sadece "hızı iki katına çıkarabilirsiniz". Gelen taraf sadece gelen paketleri izleyecek ve geldikleriyle aynı hatta çıktıklarından emin olacaklardır.
Jure1873

Böyle olacağını düşündüm. Hayır, bu yerin dışında BGP yok :( (Ne olduğunu bile bilmiyorum).
John Schultz

Yanıtlar:


4

Bunu araştırmama yardımcı olan birkaç arkadaşımın yardımıyla, Nihayetinde çalıştırabildim.

TCP / IP trafiğini düzgün bir şekilde iletmek için bu komut dosyasını çalıştırmak zorunda kaldım:

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

Sonra Net-ISP-Balance'ı kurdum . Komut dosyaları çalıştırılıp kurulduktan sonra, WhatsMyIP'e iki kez gittim ve yeterince eminim, yenilemeyi yaptıktan sonra whatsmyip'in her iki IP adresini de gösterdiğinden her iki arayüz de trafiği yönlendiriyor.

YASAL UYARI Bu benim özel ağ düzeni, yapılandırma ve ayarlarım için çalıştı. Sonuçlarınız değişebilir.


Bir hız testi yaptım .... Dload trafiğimde% 24, uload trafiğimde% 90 artış var.
John Schultz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.