WAN - Load Balancer e Failover

Tutto ciò che ha a che fare con le reti

Moderatore: Federico.Lagni

Avatar utente
zot
Messianic Network master
Messaggi: 1274
Iscritto il: mer 17 nov , 2004 1:13 am
Località: Teramo
Contatta:

Lo scenario:
Sede con una sDSL 2Mb/s simmetrici .Il problema è che 2Mb/s cominciano ad essere pochi per servire tuttii client,ma abbiamo bisogno dei 2Mb/s in UP per alcuni servizi.
L'idea era quella di prendere una aDSL da 20Mb/s e dedicarla alla navigazione e lasciare la 2Mb per la DMZ dei Server.
Con l'occasione mi sarebbe piaciuto fare failover e load balancer.
I client a volte hanno bisogno di fare upload "pesante" (e quindi dovrebbero usare la 2Mb/s)ma devono servirsi "normalmente" della 20Mb/s .
Io ho pensato a Pfsense o Debian tramite ip route, così facendo avrei il failover ma il load balancer funzionerebbe in modalità round-robin con tutta l'inefficenza del caso.
L'ideale sarebbe trovare uno stratagemma per cui dei servizi specifici in UP (FTP,RDP....)vengano instradati sulla WAN da 2Mb/s mentre tutto il resto venga buttato sul link WAN da 20Mb/s.
Consigli?
Se c'è soluzione perchè t'arrabbi?
Se non c'è soluzione perchè t'arrabbi?


http://www.zotbox.net
Avatar utente
k4mik4ze
Cisco pathologically enlightened user
Messaggi: 196
Iscritto il: mar 20 mag , 2008 1:24 am

Ma se natti con iptables in base al servizio?!


Ovvero: dando per FW1 il server attaccato alla 2Mega sync, e per FW2 quello attaccato alla 20MB async: i pacchetti che arrivano a FW1 che hanno bisogno della 2 MEGA, li natti direttamente su FW1, quelli che hanno bisogno della 20MB, li passi a FW2...e viceversa.

Un po' troppo 'na zingarata forse, ma dovrebbe funzionare no?!
Avatar utente
zot
Messianic Network master
Messaggi: 1274
Iscritto il: mer 17 nov , 2004 1:13 am
Località: Teramo
Contatta:

Come soluzione sulla carta funziona solo che dovrei avere qualcosa di piu' dinamico...se va giu' una connessione devo poter fare tutto con l'altra......e' un bel dilemma...non c'e' che dire....
Se c'è soluzione perchè t'arrabbi?
Se non c'è soluzione perchè t'arrabbi?


http://www.zotbox.net
Avatar utente
zot
Messianic Network master
Messaggi: 1274
Iscritto il: mer 17 nov , 2004 1:13 am
Località: Teramo
Contatta:

Mi sto studiando "Cisco Optimized Edge Routing (OER)" qualcuno lo ha mai usato?

http://www.cisco.com/en/US/products/ps6 ... _home.html
Se c'è soluzione perchè t'arrabbi?
Se non c'è soluzione perchè t'arrabbi?


http://www.zotbox.net
Ir0nfl4m3
Cisco fan
Messaggi: 62
Iscritto il: mar 14 feb , 2006 3:39 pm
Contatta:

Senti un provider serio se ti fa una connessione in failover, spesso basta un banale bonding...
Guide e howto su sistemi operativi linux e windows e apparati
http://www.betacrew.org
Guadagna con Fid€liux
Avatar utente
zot
Messianic Network master
Messaggi: 1274
Iscritto il: mer 17 nov , 2004 1:13 am
Località: Teramo
Contatta:

Il problema e' che mi hanno accettato la cosa tenendo come tetto 34 euro/mese ed il riciclo di materiale a disposizione (ESX Server ,qualche 2611XM e 1 1841)...forza un po' di networking creativo!!!
Se c'è soluzione perchè t'arrabbi?
Se non c'è soluzione perchè t'arrabbi?


http://www.zotbox.net
Avatar utente
zot
Messianic Network master
Messaggi: 1274
Iscritto il: mer 17 nov , 2004 1:13 am
Località: Teramo
Contatta:

Ho partorito tramite oer ed object tracking,appena finito di fare i dovuti aggiustamenti,posto la conf.......azz ci so' voluti 2,6 L di birra e 2 pacchi di sigarette!!!! 8) :lol:
Se c'è soluzione perchè t'arrabbi?
Se non c'è soluzione perchè t'arrabbi?


http://www.zotbox.net
Avatar utente
k4mik4ze
Cisco pathologically enlightened user
Messaggi: 196
Iscritto il: mar 20 mag , 2008 1:24 am

Attendiamo con ansia!


ps: pensa te che ai fini della maggiore "dinamicità" stavo per proporti qualcosa del tipo da tenere in esecuzione :P

Codice: Seleziona tutto

#!/bin/bash

ping remotehost -i 1 | {
route del $GATEWAY1 
roude add $GATEWAY2 }

exit 0
Avatar utente
zot
Messianic Network master
Messaggi: 1274
Iscritto il: mer 17 nov , 2004 1:13 am
Località: Teramo
Contatta:

k4mik4ze ha scritto:Attendiamo con ansia!


ps: pensa te che ai fini della maggiore "dinamicità" stavo per proporti qualcosa del tipo da tenere in esecuzione :P

Codice: Seleziona tutto

#!/bin/bash

ping remotehost -i 1 | {
route del $GATEWAY1 
roude add $GATEWAY2 }

exit 0
:D La verita' e che se Cisco e' il leader mondiale nel routing,un motivo ci sara'...... :wink:

Premetto che per ora ho accantonato OER visto che PBR (Policy Based routing) + object tracking (sulle nuove IOS IPSLA)mi e' sufficente .
Con PBR + IPSLA ottengo cio' che volevo ovvero determinati servizi su uno specifico link,se va giu' questo link passano all'altro.
Con OER avrei ottenuto anche un bilanciamento dinamico (basato su jttler,delay,packet loss.....)sulla banda in UP ma diventa abbastanza incasinato farlo convire a dovere con il NAT che e' la parte dove lavora PBR e poi ,avendo su di un link solo 480 kb/s,per ora,non ne vale la pena.
Questa la conf:

Codice: Seleziona tutto

track 1 rtr 1 reachability
 delay down 1 up 1
!
track 2 rtr 2 reachability
 delay down 1 up 1
!
interface FastEthernet0/0
 ip address 192.168.1.1 255.255.255.0
 ip nat inside
 ip virtual-reassembly
 ip policy route-map PBR
!
interface FastEthernet0/1
 ip address 10.0.0.2 255.0.0.0
 ip nat outside
 ip virtual-reassembly
!
interface ATM0/0/0
 no ip address
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 ip flow ingress
 no ip mroute-cache
 no atm ilmi-keepalive
 dsl operating-mode auto
 pvc 8/35
  encapsulation aal5mux ppp dialer
  dialer pool-member 1
!
interface Dialer0
 ip address negotiated
 ip nat outside
 ip virtual-reassembly
 encapsulation ppp
 dialer pool 1
 ppp chap hostname xxxxxxxxxxxxx
 ppp chap password xxxxxxxxxxxxx
!
ip route 0.0.0.0 0.0.0.0 192.168.100.1 track 1
ip route 0.0.0.0 0.0.0.0 10.0.0.1 track 2
!
ip nat inside source route-map aDSL interface Dialer0 overload
ip nat inside source route-map sDSL interface FastEthernet0/1 overload
!
ip access-list extended PBR_NAT_CONTROL_aDSL
 permit ip 192.168.1.0 0.0.0.255 any
ip access-list extended PBR_NAT_CONTROL_sDSL
 permit udp 192.168.1.0 0.0.0.255 any eq isakmp
 permit udp 192.168.1.0 0.0.0.255 any eq non500-isakmp
 permit tcp 192.168.1.0 0.0.0.255 any eq smtp
 permit tcp 192.168.1.0 0.0.0.255 any eq 3389
 permit tcp 192.168.1.0 0.0.0.255 any eq 22
 permit tcp 192.168.1.0 0.0.0.255 any eq 443
!
access-list 100 remark ***NAT 0 ***
access-list 100 remark --to translate--
access-list 100 permit ip 192.168.1.0 0.0.0.255 any
!
ip sla 1
 icmp-echo 192.168.100.1
 timeout 500
 threshold 2
 frequency 3
ip sla schedule 1 life forever start-time now
ip sla 2
 icmp-echo 10.0.0.1
 timeout 500
 threshold 2
 frequency 3
ip sla schedule 2 life forever start-time now
!
route-map sDSL permit 10
 match ip address 100
 match interface FastEthernet0/1
!
route-map aDSL permit 10
 match ip address 100
 match interface Dialer0
!
route-map PBR permit 10
 match ip address PBR_NAT_CONTROL_sDSL
 set ip next-hop verify-availability 10.0.0.1 2 track 2
!
route-map PBR permit 20
 match ip address PBR_NAT_CONTROL_aDSL
 set ip next-hop verify-availability 192.168.100.1 1 track 1
Se c'è soluzione perchè t'arrabbi?
Se non c'è soluzione perchè t'arrabbi?


http://www.zotbox.net
ndiego75
Cisco pathologically enlightened user
Messaggi: 202
Iscritto il: lun 07 nov , 2005 1:57 pm
Località: Genova

Ottima soluzione, ma come fare se ho 2 vlan e due isp?
Mi speigo meglio:
in condizione normale:

vlan1 --- > isp 1
vlan2 --- > isp 2

se però isp 1 cade routo il traffico su isp 2 e fin qua mi funziona tutto con una configurazione come quella sopra leggermente modificata. Ma se cade isp 2 e devo ruotare il traffico su isp 1 mi manca la nat e quindi non naviga, come fare?
Qui cè la conf:

interface FastEthernet0/0
ip address ISP1
ip nat outside
no ip virtual-reassembly
duplex full
speed auto
service-policy output CCP-QoS-Policy-1
!
interface FastEthernet0/1
no ip address
ip nat inside
ip virtual-reassembly
shutdown
duplex auto
speed auto
!
!
interface Vlan2
ip address 192.168.2.253 255.255.255.0
ip nat inside
ip virtual-reassembly
ip policy route-map voip
!
interface Vlan3
ip address 192.168.10.254 255.255.255.0
ip nat inside
ip virtual-reassembly
ip policy route-map dati
!
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 isp1 track 1
ip route 0.0.0.0 0.0.0.0 isp2 track 2
ip route x.x.x.x 255.255.255.255 192.168.2.254
ip route x.x.x.x 255.255.255.255 x.x.x.x
!
!

ip nat inside source route-map dati interface FastEthernet0/0 overload
ip nat inside source route-map voip interface FastEthernet0/0 overload
!
ip sla 1
icmp-echo x.x.x.x
timeout 500
threshold 2
frequency 3
ip sla schedule 1 life forever start-time now
ip sla 2
icmp-echo x.x.x.x
timeout 500
threshold 2
frequency 3
ip sla schedule 2 life forever start-time now
access-list 100 permit ip 192.168.10.0 0.0.0.255 any
access-list 101 permit ip 192.168.2.0 0.0.0.255 any

!
!
route-map voip permit 10
match ip address 101
set ip next-hop verify-availability 192.168.2.254 2 track 2
!
route-map voip permit 20
match ip address 101
set ip next-hop verify-availability ISp1 1 track 1
!
route-map dati permit 10
match ip address 100
set ip next-hop verify-availability isp1 1 track 1
!
route-map dati permit 20
match ip address 100
set ip next-hop verify-availability 192.168.2.254 2 track 2
Avatar utente
zot
Messianic Network master
Messaggi: 1274
Iscritto il: mer 17 nov , 2004 1:13 am
Località: Teramo
Contatta:

Fai due ACL per la route-map "voip".....controllati bene la parte relativa alle route-map/acl che ho postato.
Se c'è soluzione perchè t'arrabbi?
Se non c'è soluzione perchè t'arrabbi?


http://www.zotbox.net
ndiego75
Cisco pathologically enlightened user
Messaggi: 202
Iscritto il: lun 07 nov , 2005 1:57 pm
Località: Genova

Che idiota... ogni tanto bisogna staccare per non perdersi in un bicchiere d'acqua. Oggi modifico la conf e posto la versione definitiva.

Ciao
Avatar utente
zot
Messianic Network master
Messaggi: 1274
Iscritto il: mer 17 nov , 2004 1:13 am
Località: Teramo
Contatta:

ndiego75 ha scritto:.. ogni tanto bisogna staccare per non perdersi in un bicchiere d'acqua......
Assolutamente d'accordo,quando si e' stanchi bisogna fermarsi.....sai quante volte mi sono buttato fuori da router a miglia e miglia di distanza,per voler finire alla 4 di mattina con 2 ore di sonno in 2 giorni......cmq facci sapere....
Se c'è soluzione perchè t'arrabbi?
Se non c'è soluzione perchè t'arrabbi?


http://www.zotbox.net
ndiego75
Cisco pathologically enlightened user
Messaggi: 202
Iscritto il: lun 07 nov , 2005 1:57 pm
Località: Genova

Allora ho modificato come segue la conf ma non va ancora; per semplificare la situazione ho preso in considerazione solo una vlan:

interface FastEthernet0/0
ip address ISP1
ip nat outside
no ip virtual-reassembly
duplex full
speed auto
service-policy output CCP-QoS-Policy-1
!
interface FastEthernet0/1
ip address ISP2
ip nat outside
ip virtual-reassembly
duplex auto
speed auto
!
!
interface Vlan3
ip address 192.168.10.254 255.255.255.0
ip nat inside
ip virtual-reassembly
ip policy route-map dati
!
ip forward-protocol nd
ip route 0.0.0.0 0.0.0.0 isp1 track 1
ip route 0.0.0.0 0.0.0.0 isp2 track 2
ip route x.x.x.x 255.255.255.255 GW ISP2
ip route x.x.x.x 255.255.255.255 GW ISP1
!
!

ip nat inside source route-map hyper interface FastEthernet0/0 overload
ip nat inside source route-map adsl interface FastEthernet0/1 overload
!
ip sla 1
icmp-echo x.x.x.x
timeout 500
threshold 2
frequency 3
ip sla schedule 1 life forever start-time now
ip sla 2
icmp-echo x.x.x.x
timeout 500
threshold 2
frequency 3
ip sla schedule 2 life forever start-time now
access-list 100 permit ip 192.168.10.0 0.0.0.255 any
access-list 101 permit ip 192.168.2.0 0.0.0.255 any

!
!
route-map hyper permit 10
match ip address 100
match interface fastethernet0/0
!
route-map adsl permit 20
match ip address 100
match interface fastethernet0/1
!
route-map dati permit 10
match ip address 100
set ip next-hop verify-availability isp1 1 track 1
!
route-map dati permit 20
match ip address 100
set ip next-hop verify-availability isp2 2 track 2



Per qualche motivo che ignoro al momento con la conf così non esco ne su ISP1 ne su ISP2. Qualcuno ha qualche suggerimento?

Grazie
Avatar utente
zot
Messianic Network master
Messaggi: 1274
Iscritto il: mer 17 nov , 2004 1:13 am
Località: Teramo
Contatta:

Codice: Seleziona tutto

track 1 rtr 1 reachability
 delay down 1 up 1
!
track 2 rtr 2 reachability
 delay down 1 up 1 
questo lo hai scritto e ti sei dimenticato di riportarlo sul post?

Codice: Seleziona tutto

ip route x.x.x.x 255.255.255.255 GW ISP2
ip route x.x.x.x 255.255.255.255 GW ISP1 
Sono delle rotte interne?
Le default route

Codice: Seleziona tutto

0.0.0.0 0.0.0.0
falle sui gateway punto-punto delle connessioni WAN ovverro sugli hop successivi al tuo router verso internet.

Codice: Seleziona tutto

access-list 100 permit ip 192.168.10.0 0.0.0.255 any
access-list 101 permit ip 192.168.2.0 0.0.0.255 any
Hai fatto caso che una e' 100 e l'altra e' 101 (che non vedo applicata da nessuna parte) ?

Il PBR instrada tramite ACL scritte ad hoc,ti consiglio di farne una per ogni connessione WAN.
L'ordine con cui applica queste ACL e' dato dalla "precedenza" sulle route-map:

Codice: Seleziona tutto

route-map PBR permit 10
match ip address 100  
set ip next-hop verify-availability isp1 1 track 1
Significa che io router ,se l'hop e' raggiungibile(o qualsiasi altro parametro di "usabilita' del link specificato nell'

Codice: Seleziona tutto

ip sla 1
applico l'ACL 100 dovre avro' specificato quale tipo di traffico debba esere instradato su detto link.Se ,dati i parametri di cui sopra questo link non e' utilizzabile o ricevo richieste da traffico non specificato nell ACL 100,passo a

Codice: Seleziona tutto

route-map PBR permit 20
match ip address 101  
set ip next-hop verify-availability isp2 1 track 2
Dove prendero' in considerazione i parametri di raggiungibilita' del link dati da

Codice: Seleziona tutto

ip sla 2
ed il traffico specificato nelll'ACL 101.
Spero di essere sto chiaro...
Se c'è soluzione perchè t'arrabbi?
Se non c'è soluzione perchè t'arrabbi?


http://www.zotbox.net
Rispondi