[email protected] 1 Server load balancing BIBI 192.168.119.3 BIBO 192.168.119.4 2 Quali servizi? •In generale tutti i servizi che hanno un server primario e uno secondario (lpr, ntp, dns) •I “servizi read-only” (WWW, font server) •Ftp, tftp (entrambi in lettura, ad es. per fare bootare macchine diskless) 3 Caveat Il load balancing funziona al livello 3 della pila Iso/Osi. Alcuni servizi hanno bisogno di fare riferimento allo indirizzo IP sorgente per scambiare pacchetti in un secondo tempo (ad es. Domain per aggiornare le tabelle) Bisogna porre rimedio, ad esempio con IPTABLES 4 Caveat Nel caso del DNS iptables -t nat -A POSTROUTING -p tcp --destination-port 53 -j SNAT --to-source 192.84.138.181 iptables -t nat -A POSTROUTING -p udp --destinationport 53 -j SNAT --to-source 192.84.138.181 Cosi’ facendo le singole macchine possono ricevere una risposta a cui non viene applicato il sistema di load balancing 5 Come funziona sugli Extreme Summit •Nodo •Pool •Vip (Virtual IP) 6 Creazione delle Vlan VLAN INSIDE 192.168.119.254 Server VLAN OUTSIDE 192.84.138.7 LAN #>configure #>create vlanvlan “inside” “outside” ipaddress 192.84.138.7 #>create vlanvlan #>configure “outside” “outside” add port 3-8 untagged #>configure vlan “inside” ipaddress 192.168.119.254 255.255.255.0 #>configure vlan “inside” add port 1 untagged #>configure vlan “inside” add port 2 untagged 7 Creazione delle Vlan #>enable ipforwarding vlan “outside” #>disable ipforwarding broadcast vlan “outside” #>disable ipforwarding fast-direct-broadcast vlan “outside” #>disable ipforwarding ignore-broadcast vlan “outside” #>disable isq vlan “outside” #>disable irdp vlan “outside” #>enable icmp unreachable vlan “outside” #>enable icmp redirects vlan “outside” #>enable icmp port-unreachables vlan “outside” #>enable icmptime-exceeded vlan “outside” #>enable icmp parameter-problem vlan “outside” #>enable icmp timestamp vlan “outside” #>enable icmp address-mask vlan “outside” #>enable subvlan-proxy-arp “outside” #>configure ip-mtu 1500 vlan “outside” Feature proprietaria di Extreme, va Disabilita non i pacchetti abilitatarouter sui modelli “non “ICMP -i”; Intra Subnet QOS advertisement” Impostazione di default, le eventuali sub-vlan di “outside” non sono isolate tra di loro In pratica e` la configurazione tipica di un Gateway o VLAN La configurazione di “inside” e` identica 8 Creazione delle Vlan #> disable ipmcforwarding “inside” #> enable igmp “inside” #> disable ipmcforwarding “outside” #> enable igmp “outside” Disabilito IP multicast forwarding Abilito IGMP (Internet Group Management Protocol) 9 Creazione dei Pool BIBI 192.168.119.3:21 Cocorico-ftp Pool BIBO 192.168.119.4:21 :21 10 Creazione dei Pool #> enable slb Comunicaz. anche verso #> config slb global tcp-port-check frequency 15 timeout 30 Test di Layerper 4 (secondi) altri server, nostre #> config vlan “inside” slb-type server Indica che la comunicaz. Passa la connessione al future implementazioni, #> config vlan “outside”slb-type both avviene dalla Vlan #> create slb pool Cocorico-ftp lb-method least-connection server con meno potevamo mettere Aggiungo gli IP dei due all`esterno #> config slb pool Cocorico-ftp add 192.168.119.3 : 21 sessioni “client” server al attive “pool ftp” #> config slb pool Cocorico-ftp add 192.168.119.4 : 21 #> create slb vip megaserver-ftp pool Cocorico-ftp mode translation 192.84.138.179 : 21 unit 1 Al pool “megaserver-ftp” viene assegnato un IP virtuale (VIP 192.84.138.179) che risponde sulla sola porta 21. Mode translation significa che viene riscritta l`intestazione del pacchetto IP che esce dallo switch. I pacchetti sembrano cosi` provenire dal server viruale. 11 BIBI 192.168.119.3:21 Cocorico-Ftp Pool BIBO 192.168.119.4:21 Megaserver 192.84.138.179 :21 Port:21 BIBI 192.168.119.3:53 Cocorico-Domain Pool BIBO 192.168.119.4:53 Megaserver 192.84.138.179 :53 Port:53 12 Esempio con ftp [abaldini@baldo abaldini]$ ftp megaserver Connected to megaserver (192.84.138.179). 220 bibi.mi.infn.it FTP server (Version wu-2.6.2-5) ready. Name (megaserver:abaldini): 331 Password required for abaldini. Password: […] [abaldini@baldo abaldini]$ ftp megaserver Connected to megaserver (192.84.138.179). 220 bibo.mi.infn.it FTP server (Version wu-2.6.2-5) ready. 13 Domande? 14