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?
WAN - Load Balancer e Failover
Moderatore: Federico.Lagni
- zot
- Messianic Network master
- Messaggi: 1274
- Iscritto il: mer 17 nov , 2004 1:13 am
- Località: Teramo
- Contatta:
- 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?!
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?!
- 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....
- 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
http://www.cisco.com/en/US/products/ps6 ... _home.html
-
- 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
http://www.betacrew.org
Guadagna con Fid€liux
- 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!!!
- 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!!!!



- 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
ps: pensa te che ai fini della maggiore "dinamicità" stavo per proporti qualcosa del tipo da tenere in esecuzione

Codice: Seleziona tutto
#!/bin/bash
ping remotehost -i 1 | {
route del $GATEWAY1
roude add $GATEWAY2 }
exit 0
- 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
Codice: Seleziona tutto
#!/bin/bash ping remotehost -i 1 | { route del $GATEWAY1 roude add $GATEWAY2 } exit 0


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
-
- 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
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
- 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.
- zot
- Messianic Network master
- Messaggi: 1274
- Iscritto il: mer 17 nov , 2004 1:13 am
- Località: Teramo
- Contatta:
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....ndiego75 ha scritto:.. ogni tanto bisogna staccare per non perdersi in un bicchiere d'acqua......
-
- 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
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
- 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
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
Le default route
Codice: Seleziona tutto
0.0.0.0 0.0.0.0
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
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
Codice: Seleziona tutto
ip sla 1
Codice: Seleziona tutto
route-map PBR permit 20
match ip address 101
set ip next-hop verify-availability isp2 1 track 2
Codice: Seleziona tutto
ip sla 2
Spero di essere sto chiaro...